
On 11/10/11 23:28, wagnerdm@seas.upenn.edu wrote:
Quoting Michael Norrish
:
If I want to use taffybar on top of my Ubuntu 10.10 xmonad, what am I going to need to do/install?
Grab the gtk-dev libraries (a brief glance at packages.ubuntu.com suggests you'll need at least libgtk2.0-dev, libglib2.0-dev, and libcairo2-dev, dunno if you need any others) from your package manager, then in a terminal type
cabal install gtk2hs-buildtools cabal install taffybar
I installed the apt package manager's cabal, and then found that cabal wanted to upgrade itself. Unfortunately, it didn't replace the one in /usr/bin/, but instead put itself in ~/.cabal/bin. If I then run that I get $ ~/.cabal/bin/cabal -V cabal-install version 0.10.2 using version 1.10.2.0 of the Cabal library I believe I have all of the gtk, glib and cairo dependencies. Then I try $ sudo ~/.cabal/bin/cabal install gtk2hs-buildtools Resolving dependencies... Configuring gtk2hs-buildtools-0.12.1... cabal: The program alex is required but it could not be found. cabal: Error: some packages failed to install: gtk2hs-buildtools-0.12.1 failed during the configure step. The exception was: ExitFailure 1 I see from my Ubuntu package manager that alex is a Haskell lex-alike. I try $ sudo ~/.cabal/bin/cabal install alex Resolving dependencies... Downloading QuickCheck-2.4.1.1... Configuring QuickCheck-2.4.1.1... Preprocessing library QuickCheck-2.4.1.1... Building QuickCheck-2.4.1.1... [ ... output elided ... ] Registering QuickCheck-2.4.1.1... Downloading alex-3.0.1... [1 of 1] Compiling Main ( /tmp/alex-3.0.19926/alex-3.0.1/Setup.lhs, /tmp/alex-3.0.19926/alex-3.0.1/dist/setup/Main.o ) /tmp/alex-3.0.19926/alex-3.0.1/Setup.lhs:6:51: Warning: In the use of `buildVerbose' (imported from Distribution.Simple.Setup): Deprecated: "Use buildVerbosity instead" /tmp/alex-3.0.19926/alex-3.0.1/Setup.lhs:7:51: Warning: In the use of `defaultUserHooks' (imported from Distribution.Simple): Deprecated: "Use simpleUserHooks or autoconfUserHooks, unless you need Cabal-1.2 compatibility in which case you must stick with defaultUserHooks" Linking /tmp/alex-3.0.19926/alex-3.0.1/dist/setup/setup ... Warning: defaultUserHooks in Setup script is deprecated. Configuring alex-3.0.1... Preprocessing executables for alex-3.0.1... Building alex-3.0.1... ghc: unrecognised flags: -rtsopts Usage: For basic information, try the `--help' option. cabal: Error: some packages failed to install: alex-3.0.1 failed during the building phase. The exception was: ExitFailure 1 I think I'm probably in package manager hell at this point, but I persevere and successfully do an sudo apt-get install alex. Then cabal install of the gtk2hs fails with happy reported as missing. I don't even bother with the cabal version of this, but get it successfully from apt. Then installing gtk2hs works. Trying to build taffybar does a whole lot of stuff, before eventually failing. Luckily I saw its message saying that I need to put ~/.cabal/bin into my PATH, so I do this. Then I realise I shouldn't be running with sudo at all because sudo-ed execution runs with a different PATH. So I chown -R a whole lot of stuff under ~/.cabal and ~/.ghc that was owned by root, and continue. Then I see Building xmonad-contrib-0.9.1... [ 1 of 180] Compiling XMonad.Util.Replace ( XMonad/Util/Replace.hs, dist/build/XMonad/Util/Replace.o ) XMonad/Util/Replace.hs:1:0: Warning: Module `Prelude' is deprecated: You are using the old package `base' version 3.x. Future GHC versions will not support base version 3.x. You should update your code to use the new base version 4.x. [ 2 of 180] Compiling XMonad.Util.CustomKeys ( XMonad/Util/CustomKeys.hs, dist/build/XMonad/Util/CustomKeys.o ) XMonad/Util/CustomKeys.hs:80:23: Not in scope: data constructor `Reader' cabal: Error: some packages failed to install: gtk-traymanager-0.1.2 failed during the configure step. The exception was: ExitFailure 1 taffybar-0.1.3 depends on xmonad-contrib-0.9.1 which failed to install. xmonad-contrib-0.9.1 failed during the building phase. The exception was: ExitFailure 1 At this point I give up. What do I need to do to create a proper Haskell dev environment?
and you should be done.
Not quite :-) Michael