Not to be dissuaded, I have finally got it working! I figured I'd
write down what happened for my own / other's future reference, and
I'd be more than delighted if any of these problems can be fixed (but
I don't know how many are actually caused by yi, possibly none of
them)

Firstly, cabal could not find `happy` and `alex` to install as
dependencies, yet `cabal install happy` and `cabal install alex` works
fine. So that was easy enough (but seems pretty odd, I don't know if
I'm missing something or if cabal is just a bit busted).

Next, yi failed to compile because /usr/lib64/libncursesw.so is a GNU
linker script (text file), rather than a normal .so. I've symlinked
that to the actual implementation for now. There's apparently a GHC
fix committed for this at http://hackage.haskell.org/trac/ghc/ticket/2615,
but I tried building GHC trunk and that failed for reasons I don't
care to investigate ;)

After all that, I got the confusing message saying:

[1 of 1] Compiling Main             ( src/executable/Main.hs, dist/
build/yi/yi-tmp/Main.o )
Linking dist/build/yi/yi ...
/usr/bin/ld: /home/tim/.cabal/lib/terminfo-0.3.1.3/ghc-7.0.2/
libHSterminfo-0.3.1.3.a(Base.o): undefined reference to symbol 'tparm'
/usr/bin/ld: note: 'tparm' is defined in DSO /lib64/libtinfo.so.5 so
try adding it to the linker command line
/lib64/libtinfo.so.5: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
cabal: Error: some packages failed to install:
yi-0.6.3.0 failed during the building phase. The exception was:
ExitFailure 1

I have no idea where linker options come from or can be modified, so I
was just about to give up. But then I tried installing my system ghc-
terminfo and ghc-terminfo-devel. That gave me packages in the system
database, but I still had user packages that I presume shadowed those.
So for completeness' sake, I ran `ghc-pkg --user unregister terminfo`.
(The system and user copies were the same version, otherwise that may
not work). The packaged version must have had whatever flags were
necessary or be compiled differently, as a `cabal install yi` finally
worked after that!

Thanks for your help, now I can finally actually try out yi ;)
 - Tim.

-- 
Yi development mailing list
yi-devel@googlegroups.com
http://groups.google.com/group/yi-devel

Reply via email to