Difference between revisions of "Yi/FAQ"

From HaskellWiki
< Yi
Jump to navigation Jump to search
(merge in the other FAQS)
Line 1: Line 1:
 
== Installation ==
 
== Installation ==
   
;How do I install yi?
+
;How do I install Yi?
:get it from hackage. Configure, compile and install yi as you would do for any other Cabal package.
+
: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 vty or gtk2hs installed. Get them from hackage.
+
: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 bash) using:
+
: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 bytestring package ther 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.
+
: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.

Configuration

Usage