[Nix-dev] Re: [FAILURE] [BUILDFARM] emacs-22
Peter Simons
simons at cryp.to
Wed Jul 9 14:19:20 CEST 2008
Hi Michael,
> make[1]: *** No rule to make target `/usr/lib/crt1.o', needed by `temacs'. Stop.
on my system, Emacs failed to compile because it looked for crt1.o in
$glibc/lib, but the file really is in $libc/lib64. The "builder.sh" script
contained code prior to my patch that re-wrote those paths from /usr/lib to the
corresponding nix path -- I merely extended that shell code to recognize a 64
bit system. The result is this:
case "${system}" in
x86_64-*) glibclibdir=lib64 ;;
*) glibclibdir=lib ;;
esac
for i in src/s/*.h src/m/*.h; do
substituteInPlace $i \
--replace /usr/${glibclibdir}/crt1.o $libc/${glibclibdir}/crt1.o \
--replace /usr/${glibclibdir}/crti.o $libc/${glibclibdir}/crti.o \
--replace /usr/${glibclibdir}/crtn.o $libc/${glibclibdir}/crtn.o
done
Now, I tested this on a system that uses glibc-2.5. It's quite possible that
glibc-2.7 behaves differently in some way and thus requires different paths.
Secondly, the build error is on the make level, so maybe the patch needs to be
extended to modify configure.ac or Makefile.in too?
It's difficult for me to judge that situation because I cannot re-produce the
failure. Except for the build farm, is there someone who can?
If in doubt, I think it's okay to revert my patch.
Peter
More information about the nix-dev
mailing list