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)

Gergely Risko gergely at risko.hu
Sun May 11 15:19:46 UTC 2014


Hi,

Interesting.  You're already using the 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.

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

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.

But I'd really like to understand what caused it, so if you have time,
please investigate!

Gergely

On Sun, 11 May 2014 16:27:01 +0200, Mateusz Kowalczyk <fuuzetsu at fuuzetsu.co.uk> 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
> libraries/vector/dist-install/build/Data/Vector/Fusion/Stream/Monadic.dyn_o
> 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 at 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 at 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 -> libgmp.so.10.1.3
> -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 -> 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 at 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



More information about the ghc-devs mailing list