
The following message is a courtesy copy of an article that has been posted to gmane.comp.lang.haskell.ghc.devel as well.
Hi,
Interesting. You're already using the
On 05/11/2014 05:19 PM, Gergely Risko wrote: libraries/integer-gmp_CONFIGURE_OPTS
magic that I wanted to advise.
I think you should record the configure and build output, so it's easy to look around in it afterwards (and don't use -j for make, because then the output is mixed). I would look for gmp relevant bits in that, to see if it found it alright. You can also try --with-intree-gmp (or something like that) to force a statically linked intree gmp, that will just work.
I have posted the log in my previous reply to the thread. I'm unsure what -j option was used, I forgot to switch it off. Let me know if you want it re-ran without -j. Do you know what exact setup I need for --with-intree-gmp?
Also, I think "inplace/bin/ghc-stage2 --interactive" will fail with the same error message, and you can "strace -f -e file" that command to see where the libgmp.so is searched for. It should definitely be searched for in your /nix/store/qnky... directory with your build.mk. I use the same strategy here: https://github.com/nilcons/ceh/blob/master/README.compile-ghc-with-ceh
You're right that stage2 --interactive fails with the error. I attach the result of strace. It seems like a whole lot of stuff is missing.
If you just want to quickly try something and not really interested in figuring out what's wrong, then a quick and dirty fix is to "export LD_LIBRARY_PATH=/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib" before the whole build or anytime afterwards when you want to use the compiled GHC.
That's not an option considering that particular store might be garbage collected if it's not registered as being used. I'm unsure of the details but simply said that's a very bad workaround on my distro.
But I'd really like to understand what caused it, so if you have time, please investigate!
I definitely need to solve this properly as I need GHC HEAD for development and I need to change the build system of it a bit for accommodate for some Haddock changes.
Gergely
On Sun, 11 May 2014 16:27:01 +0200, Mateusz Kowalczyk
writes: Hi,
Trying to compile GHC in the source tree on NixOS and meeting with failure with:
"inplace/bin/ghc-stage2" -hisuf hi -osuf o -hcsuf hc -static -H32m -O -Werror -Wall -H64m -O0 -package-name vector-0.10.9.1 -hide-all-packages -i -ilibraries/vector/. -ilibraries/vector/dist-install/build -ilibraries/vector/dist-install/build/autogen -Ilibraries/vector/dist-install/build -Ilibraries/vector/dist-install/build/autogen -Ilibraries/vector/include -Ilibraries/vector/internal -optP-DVECTOR_BOUNDS_CHECKS -optP-include -optPlibraries/vector/dist-install/build/autogen/cabal_macros.h -package base-4.7.1.0 -package deepseq-1.3.0.2 -package ghc-prim-0.3.1.0 -package primitive-0.5.2.1 -O2 -XHaskell98 -XCPP -XDeriveDataTypeable -O2 -O -dcore-lint -fno-warn-deprecated-flags -no-user-package-db -rtsopts -Wwarn -odir libraries/vector/dist-install/build -hidir libraries/vector/dist-install/build -stubdir libraries/vector/dist-install/build -dynamic-too -c libraries/vector/./Data/Vector/Fusion/Stream/Monadic.hs -o libraries/vector/dist-install/build/Data/Vector/Fusion/Stream/Monadic.o -dyno
Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... <command line>: can't load .so/.DLL for: libgmp.so (libgmp.so: cannot open shared object file: No such file or directory)
While libgmp isn't anywhere obvious, below is my build.mk and content of the pointed-to directories. Am I missing something here? Is something ignoring the configure option maybe?
[shana@lenalee:~/programming/ghc/mk]$ cat build.mk libraries/integer-gmp_CONFIGURE_OPTS +=
--configure-option=--with-gmp-libraries=/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib
libraries/integer-gmp_CONFIGURE_OPTS +=
--configure-option=--with-gmp-includes=/nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/include
DYNAMIC_BY_DEFAULT = NO
[shana@lenalee:~/programming/ghc/mk]$ l /nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/lib total 604K dr-xr-xr-x 2 root nixbld 4.0K Jan 1 1970 . dr-xr-xr-x 5 root nixbld 4.0K Jan 1 1970 .. -r-xr-xr-x 1 root nixbld 949 Jan 1 1970 libgmp.la lrwxrwxrwx 1 root nixbld 16 Jan 1 1970 libgmp.so -> libgmp.so.10.1.3 lrwxrwxrwx 1 root nixbld 16 Jan 1 1970 libgmp.so.10 ->
-r-xr-xr-x 1 root nixbld 556K Jan 1 1970 libgmp.so.10.1.3 -r-xr-xr-x 1 root nixbld 1.1K Jan 1 1970 libgmpxx.la lrwxrwxrwx 1 root nixbld 17 Jan 1 1970 libgmpxx.so ->
Apologies for those using threaded conversations, I have no idea how to reply to something that shows up as a newsgroup posting from my e-mail client, it seems Reply-To doesn't get set. libraries/vector/dist-install/build/Data/Vector/Fusion/Stream/Monadic.dyn_o libgmp.so.10.1.3 libgmpxx.so.4.3.3
lrwxrwxrwx 1 root nixbld 17 Jan 1 1970 libgmpxx.so.4 -> libgmpxx.so.4.3.3 -r-xr-xr-x 1 root nixbld 30K Jan 1 1970 libgmpxx.so.4.3.3
[shana@lenalee:~/programming/ghc/mk]$ l /nix/store/qnkyas42nf0knps3va30y29y3zvmgy2v-gmp-5.1.3/include total 204K dr-xr-xr-x 2 root nixbld 4.0K Jan 1 1970 . dr-xr-xr-x 5 root nixbld 4.0K Jan 1 1970 .. -r--r--r-- 1 root nixbld 78K Jan 1 1970 gmp.h -r--r--r-- 1 root nixbld 114K Jan 1 1970 gmpxx.h
-- Mateusz K.