Difference between revisions of "Yi/FAQ"
< Yi
Jump to navigation
Jump to search
(merge in the other FAQS) |
(→Installation: sp) |
||
Line 1: | Line 1: | ||
== Installation == |
== Installation == |
||
− | ;How do I install |
+ | ;How do I install Yi? |
− | :get it from |
+ | :get it from Hackage. Configure, compile and install Yi as you would do for any other Cabal package. |
;Setup.hs does not compile! |
;Setup.hs does not compile! |
||
Line 12: | Line 12: | ||
;Setup configure fails with |
;Setup configure fails with |
||
"Setup.hs: Package yi-0.3 can't be built on this system." |
"Setup.hs: Package yi-0.3 can't be built on this system." |
||
− | :it means that you have no UI package available. You need |
+ | :it means that you have no UI package available. You need VTY or GTK2hs installed. Get them from Hackage. |
*On Mac OS X if you get an error message similar to this: |
*On Mac OS X if you get an error message similar to this: |
||
yi: can't load .so/.DLL for: gthread-2.0 (dlopen(libgthread-2.0.dylib, 10): image not found) |
yi: can't load .so/.DLL for: gthread-2.0 (dlopen(libgthread-2.0.dylib, 10): image not found) |
||
− | :then your dynamic library search path variable is probably not set correctly. You can set it (in |
+ | :then your dynamic library search path variable is probably not set correctly. You can set it (in Bash) using: |
export DYLD_LIBRARY_PATH=/opt/local/lib |
export DYLD_LIBRARY_PATH=/opt/local/lib |
||
Line 35: | Line 35: | ||
:This is because versions of ByteString often aren't compatible, and in this case, the VTY library was compiled with a different version. |
:This is because versions of ByteString often aren't compatible, and in this case, the VTY library was compiled with a different version. |
||
;I get "No instance for (RegexLike Regex B.ByteString)" |
;I get "No instance for (RegexLike Regex B.ByteString)" |
||
− | :It *could* be that the regex-instance in your |
+ | :It *could* be that the regex-instance in your ByteString package, there is only an instance for the newer regex-package. That is, your newly installed regex-posix-0.72.0.2 doesn't "see" the ByteString instance, because it was only defined for the regex-posix-0.93.1 package that ByteString knew about when it was built. This is yet another aspect of a known, tricky Cabal bug. |
== Configuration == |
== Configuration == |
Revision as of 16:46, 4 February 2008
Installation
- How do I install Yi?
- get it from Hackage. Configure, compile and install Yi as you would do for any other Cabal package.
- Setup.hs does not compile!
- You need to use Cabal version 1.2.3. To make sure you use it, do:
ghc -package Cabal-1.2.3.0 --make Setup.hs ./Setup configure ...
- Setup configure fails with
"Setup.hs: Package yi-0.3 can't be built on this system."
- it means that you have no UI package available. You need VTY or GTK2hs installed. Get them from Hackage.
- On Mac OS X if you get an error message similar to this:
yi: can't load .so/.DLL for: gthread-2.0 (dlopen(libgthread-2.0.dylib, 10): image not found)
- then your dynamic library search path variable is probably not set correctly. You can set it (in Bash) using:
export DYLD_LIBRARY_PATH=/opt/local/lib
- (Adjust the specific path to your system. You can find the right location using locate libgthread)
- ByteString problems: Yi as of 27 January 2008 cannot use the most recent ByteString library (because of the regexp libraries) which is 0.9.0.4 - it needs a version like 0.9 or 0.9.0.1. You may have the correct ByteString library installed, but still see an error like:
Yi/UI/Vty.hs:342:48:
Couldn't match expected type
`bytestring-0.9.0.4:Data.ByteString.Internal.ByteString'
against inferred type `B.ByteString'
In the second argument of `renderBS', namely `(B.pack str)'
In the expression: renderBS (styleToAttr sty) (B.pack str)
In the definition of `withStyle':
withStyle sty str = renderBS (styleToAttr sty) (B.pack str)
- This is because versions of ByteString often aren't compatible, and in this case, the VTY library was compiled with a different version.
- I get "No instance for (RegexLike Regex B.ByteString)"
- It *could* be that the regex-instance in your ByteString package, there is only an instance for the newer regex-package. That is, your newly installed regex-posix-0.72.0.2 doesn't "see" the ByteString instance, because it was only defined for the regex-posix-0.93.1 package that ByteString knew about when it was built. This is yet another aspect of a known, tricky Cabal bug.