Description of problem: ELDK-3.1.1 cross compiler linker broken on Fedora 16, but works on 14,15. Version-Release number of selected component (if applicable): Fedora 16 x86_64 [sergey@solarwind-vm ~]$ uname -a Linux solarwind-vm 3.1.1-1.fc16.x86_64 #1 SMP Fri Nov 11 21:47:56 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux ELDK-3.1.1 from here http://www.denx.de/wiki/DULG/ELDKAvailability How reproducible: Install ELDK-3.1.1 (some prerequisites here http://www.denx.de/wiki/view/DULG/ELDKUsageIn64BitEnvironment). Try compile minimal C program with ppc_8xx-gcc to get executable file. Steps to Reproduce: 1. create C source file. "int main() {return 0;}" enough 2. try compile it with ppc_8xx-gcc Actual results: [sergey@solarwind-vm ~]$ eldk/3.1.1/usr/bin/ppc_8xx-gcc tstcomp.c /home/sergey/eldk/3.1.1/usr/bin/../lib/gcc-lib/ppc-linux/3.3.3/../../../../ppc-linux/bin/ld: warning: ld.so.1, needed by /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6, not found (try using -rpath or -rpath-link) /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_lookup_versioned_symbol_skip@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_rtld_global@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_lookup_versioned_symbol@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_start_profile@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_check_map_versions@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_mcount' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `__libc_enable_secure@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_get_origin@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_dst_substitute@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_debug_state@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_init@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `__libc_stack_end' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_dst_count@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_out_of_memory@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_signal_error@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_debug_printf@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_r_debug' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_map_object_deps@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_unload_cache@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_relocate_object@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_argv@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_catch_error@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_lookup_symbol_skip@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_lookup_symbol@GLIBC_PRIVATE' /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_map_object@GLIBC_PRIVATE' collect2: ld returned 1 exit status [sergey@solarwind-vm ~]$ Expected results: ppc_8xx binary created successfully, since no breaking changes found in release notice for Fedora16 Additional info: Will provide additional info upon request.
No action? I know, it is old, but anyway, is here some progress?
I'm just getting my head around everything that needs to be taken care of in glibc-land. This is in the queue to investigate, but just not at the top of the queue yet.
Those symbols are for use within glibc only, any applications which reference those symbols are simply broken. The decision was made to (finally) make those symbols unavailable to applications in F16. You need to contact the folks that put together ELDK to fix their software. Sorry
In this case the actual bug is that you have another binary libc.so.6 somewhere in the search path, but don't have other compatible glibc libraries, including the dynamic linker.
@Jakub Jelinek - The problem is that it was working on any prior F16 releases, but now it is not. @Jeff Law - It is the matter of binary compatibility. If it is intentional decision to break it - go ahead. But don't forget to mention it in Release notes.
Yes, it's a binary compatibility issue and the change should have been in the release notes. Both the decision to remove the private symbols and the lack of a note pre-date my involvement in day-to-date glibc activities for Fedora.
Hello once again. I may be some off topic and would not say I had some boring. Such strings I have found with "strace -f ppc_8xx-gcc -v test.c" on 2 different computer with F16. 1... [pid 14027] lstat64("/opt/eldk-3.1/usr/bln/ppc-linux-ld", 0xffbef650) = -1 ENOENT (No such file or directory) It should be "/opt/eldk-3.1/usr/bin/ppc-linux-ld" 2... [pid 17497] lstat64("/opt/eldk/usr/lib/gcc-lib/.li../bin/upc-linux-ld", 0xff9b2280) = -1 ENOENT (No such file or directory) It should be: /opt/eldk/usr/lib/gcc-lib/../../bin/ppc-linux-ld I can be wrong... May i have some memory problem?