On 5/30/07, Oliver Tappe <zooey@xxxxxxxxxxxxxxx> wrote:
Hi again, On 2007-05-30 at 09:50:39 [+0200], Stefano Ceccherini <stefano.ceccherini@xxxxxxxxx> wrote: > 2007/5/30, Stefano Ceccherini <stefano.ceccherini@xxxxxxxxx>: > > Ok, I forgot I had some diffs from Urias, which after applied, made > this problem go away. > But the fs_shell still doesn't link, and ld now doesn't say anything useful: > > Link generated/objects/cygwin/lib/libroot_build.so > Chmod1 generated/objects/cygwin/lib/libroot_build.so > Link generated/objects/cygwin/x86/release/tools/bfs_shell/bfs_shell > collect2: ld returned 1 exit status > > cc -Xlinker --allow-multiple-definition -o > "generated/objects/cygwin/x86/release/tools/bfs_shell/bfs_shell" > "generated/objects/cygwin/x86/release/tools/bfs_shell/BlockAllocator.o" > "generated/objects/cygwin/x86/release/tools/bfs_shell/BPlusTree.o" > "generated/objects/cygwin/x86/release/tools/bfs_shell/Attribute.o" > "generated/objects/cygwin/x86/release/tools/bfs_shell/Debug.o" > "generated/objects/cygwin/x86/release/tools/bfs_shell/Index.o" > "generated/objects/cygwin/x86/release/tools/bfs_shell/Inode.o" > "generated/objects/cygwin/x86/release/tools/bfs_shell/Journal.o" > "generated/objects/cygwin/x86/release/tools/bfs_shell/Query.o" > "generated/objects/cygwin/x86/release/tools/bfs_shell/Utility.o" > "generated/objects/cygwin/x86/release/tools/bfs_shell/Volume.o" > "generated/objects/cygwin/x86/release/tools/bfs_shell/kernel_interface.o" > "generated/objects/cygwin/x86/release/tools/fs_shell/fs_shell.a" > "generated/objects/cygwin/lib/libroot_build.so" -lsupc++ -lstdc++ ; > > ...failed Link generated/objects/cygwin/x86/release/tools/bfs_shell/bfs_shell Have you tried invoking cc manually with an added '-v -save-temps'? That should give you the cmdline used for ld (or collect). During my own porting efforts, invoking the individual tools manually (and fiddling with their cmdline) often helped me to learn more about any such problems.
Sorry to spam the dev list - but I'm hoping one of these messages sparks a thought... from those who understand how all this works a lot better than I do. using "-v -save-temps" yields the following: Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs Configured with: /usr/build/package/orig/test.respin/gcc-3.4.4-3/configure --verbose --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-languages=c,ada,c++,d,f77,pascal,java,objc --enable-nls --without-included-gettext --enable-version-specific-runtime-libs --without-x --enable-libgcj --disable-java-awt --with-system-zlib --enable-interpreter --disable-libgcj-debug --enable-threads=posix --enable-java-gc=boehm --disable-win32-registry --enable-sjlj-exceptions --enable-hash-synchronization --enable-libstdcxx-debug Thread model: posix gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125) /usr/lib/gcc/i686-pc-cygwin/3.4.4/collect2.exe -Bdynamic --dll-search-prefix=cyg -o generated/objects/cygwin/x86/release/tools/bfs_shell/bfs_shell.exe /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../crt0.o -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -L/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../.. --allow-multiple-definition generated/objects/cygwin/x86/release/tools/bfs_shell/BlockAllocator.o generated/objects/cygwin/x86/release/tools/bfs_shell/BPlusTree.o generated/objects/cygwin/x86/release/tools/bfs_shell/Attribute.o generated/objects/cygwin/x86/release/tools/bfs_shell/Debug.o generated/objects/cygwin/x86/release/tools/bfs_shell/Index.o generated/objects/cygwin/x86/release/tools/bfs_shell/Inode.o generated/objects/cygwin/x86/release/tools/bfs_shell/Journal.o generated/objects/cygwin/x86/release/tools/bfs_shell/Query.o generated/objects/cygwin/x86/release/tools/bfs_shell/Utility.o generated/objects/cygwin/x86/release/tools/bfs_shell/Volume.o generated/objects/cygwin/x86/release/tools/bffs_shell/kernel_interface.o generated/objects/cygwin/x86/release/tools/fs_shell/fs_shell.a generated/objects/cygwin/lib/libroot_build.so -lsupc++ -lstdc++ -lgcc -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 -lgcc collect2: ld returned 1 exit status I can shorten it down to: $ /usr/lib/gcc/i686-pc-cygwin/3.4.4/collect2.exe -Bdynamic --dll-search-prefix=cyg -o generated/objects/cygwin/x86/release/tools/bfs_shell/bfs_shell. exe -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 --allow-multiple-definition generated/objects/cygwin/x86/release/tools/bfs_shell/BlockAllocator.o generated/o bjects/cygwin/x86/release/tools/bfs_shell/BPlusTree.o generated/objects/cygwin/x86/release/tools/bfs_shell/Attribute.o generated/objects/cygwin/x86/r elease/tools/bfs_shell/Debug.o generated/objects/cygwin/x86/release/tools/bfs_shell/Index.o generated/objects/cygwin/x86/release/tools/bfs_shell/Inod e.o generated/objects/cygwin/x86/release/tools/bfs_shell/Journal.o generated/objects/cygwin/x86/release/tools/bfs_shell/Query.o generated/objects/cyg win/x86/release/tools/bfs_shell/Utility.o generated/objects/cygwin/x86/release/tools/bfs_shell/Volume.o generated/objects/cygwin/x86/release/tools/bf s_shell/kernel_interface.o generated/objects/cygwin/x86/release/tools/fs_shell/fs_shell.a generated/objects/cygwin/lib/libroot_build.so -lsupc++ -lst dc++ -lgcc -lcygwin and it still chokes with the same useless error.