bug-libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: git Libtool failures on NixOS


From: Ludovic Courtès
Subject: Re: git Libtool failures on NixOS
Date: Tue, 31 Aug 2010 15:20:46 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

Hello Ralf!

Ralf Wildenhues <address@hidden> writes:

> What does NixOS do with the compiler and/or the linker and/or the
> runtime linker?

NixOS does all sorts of ugly things, which could interfere with
Libtool’s view of the world.  ;-)

The main reason is that on NixOS there are no “standard” location: /lib,
/usr/lib, and /usr/local/lib do not exist, for instance.  To work around
that, NixOS has an “ld wrapper”, which autohackily passes the right ‘-L’
and ‘-rpath’[*] flags before calling the real ld:

  
https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/build-support/gcc-wrapper/ld-wrapper.sh

  [*] On NixOS this actually sets RUNPATH, not RPATH, because ld is
      configured with ‘--enable-new-dtags’.

(In theory this could also be achieved by setting $LIBRARY_PATH and
$LD_RUN_PATH, which would be cleaner.  However, the wrapper also does
other things: checking for “impurities”–references to libraries outside
/nix/store–and honoring extra environment variables.)

However, the Libtool build recipe for Hydra disables all this by setting
$NIX_DONT_SET_RPATH before running “make check”:

  https://svn.nixos.org/repos/nix/hydra-config/gnu/trunk/libtool/release.nix

> ./shlibpath.at:54: if "$lt_exe" || exit 1 && exit 77; then :; else 
> lt_status=$?;           test $lt_status != 1 &&         test "X$host" != 
> "X$build" && test -x "$lt_exe" && exit 77;     exit $lt_status; fi
> stderr:
> ./m: symbol lookup error: ./m: undefined symbol: a
> stdout:
> ./shlibpath.at:68: if "$lt_exe" || exit 1; then :; else lt_status=$?;      
> test $lt_status != 1 &&         test "X$host" != "X$build" && test -x 
> "$lt_exe" && exit 77;     exit $lt_status; fi

It’s unclear to me why the lib would be found but not the symbol.

If the clues above aren’t enough to let you find out, I can try to
investigate.  :-)

Thanks,
Ludo’.

Attachment: pgpFOxHM1gB3S.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]