Manolis Ragkousis, le Wed 02 Apr 2014 00:29:13 +0000, a écrit : > > /../build/libc_pic.os: In function `__fork': > > /../source/posix/../sysdeps/mach/hurd/fork.c:71: undefined reference to > > `__start__hurd_atfork_prepare_hook' > > /../gcc-cross-sans-libc-i686-pc-gnu-4.8.2/libexec/gcc/i686-pc-gnu/ld: > > /../build/libc_pic.os: relocation R_386_GOTOFF against undefined hidden > > > symbol `__start__hurd_atfork_prepare_hook' can not be used when making a > > shared object > > /../gcc-cross-sans-libc-i686-pc-gnu-4.8.2/libexec/gcc/i686-pc-gnu/ld: > > final link failed: Bad value > > collect2: error: ld returned 1 exit status > > ../Makerules:614: recipe for target '/../build/libc.so' failed > > make[2]: *** > > [/tmp/nix-build-glibc-hurd-cross-i686-pc-gnu-2.18.drv-38/build/libc.so] > > Error 1 > > make[2]: Leaving directory > > '/tmp/nix-build-glibc-hurd-cross-i686-pc-gnu-2.18.drv-38/source/elf' > > Makefile:233: recipe for target 'elf/subdir_lib' failed > > I searched the source files in posix and sysdeps/mach/hurd/ and I > can't seem to find any reference to > `__start__hurd_atfork_prepare_hook'. > > Any ideas?
In such cases, look for subparts of the name, here atfork_prepare, and you'll see sysdeps/mach/hurd/fork.c:DEFINE_HOOK (_hurd_atfork_prepare_hook, (void)); The symbol is supposed to be defined automagically by the linker. I don't know how exactly. A workaround is to add lines in Makerules just like there are for *__libc_thread_subfreeres, but it'd be very good to investigate what is not working in your environment. Samuel
