Hi, > The Fedora and SuSE have the '/lib/ld-linux.so.2' for the 32-bit code > and the '/lib64/ld-linux-x86-64.so.2' for the 64-bit code. When your > '/lib64' was symlinked to be seen as '/lib', this '--dynamic-linker' > at least should be ok, in '/lib' you should have both these > 'ld-linux*.so.2's... I have the 32-bit ld-linux.so.2 in /lib32, and the 64-bit one in /lib. > > .../sysdeps/i386/elf/start.S:92: undefined reference to `__libc_csu_fini' > > /usr/lib/../lib32/crt1.o(.text+0x11):../sysdeps/i386/elf/start.S:93: > > undefined reference to `__libc_csu_init' > > These both symbols were in the 'libc_nonshared.a', in the module > 'elf-init.oS' in the glibc-2.3.3 coming with Fedora3/x86_64. If > assuming them now being needed there, something is wrong in your > '/usr/lib32/libc.so' script or in that '/usr/lib32/libc_nonshared.a'. > Seeing the latter with : > > nm libc_nonshared.a | grep __libc_csu_ These symbols were in /usr/lib32/libc_nonshared.a. I found that simply adding -L/usr/lib32 to any gcc command with -m32 solved that problem. Using that, I compiled a functional 'hello world' program. Debian may have changed over to the /lib and /lib64 system, but apparently Ubuntu didn't when I installed it.