
Hi members, I'm using both GCC 3.2 and 3.4 in different linux machines. The application uses a number of BOOST libraries such as program_options, iosterams, thread and system. When I compiled the application with GCC 3.4 (of course linking correct library files like "libboost_program_options-gcc34-mt"), it compiled well and works well. I did "ldd" to see what library files are linked... and it says... libpthread.so.0 => /lib/tls/libpthread.so.0 (0x0048a000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x005e8000) libm.so.6 => /lib/tls/libm.so.6 (0x00372000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00555000) libc.so.6 => /lib/tls/libc.so.6 (0x0023e000) /lib/ld-linux.so.2 (0x00224000) Now, I compiled the same application and link different gcc version of boost library files because it uses GCC 3.2 instead. I compiled it and there was no compile-time error but it cannot be executed because it can't find the target library files. I did "ldd" for the application and now it has all the boost library files... libpthread.so.0 => /lib/tls/libpthread.so.0 (0x0038d000) libboost_system-gcc32-mt-1_35.so.1.35.0 => not found libboost_thread-gcc32-mt-1_35.so.1.35.0 => not found libboost_serialization-gcc32-mt-1_35.so.1.35.0 => not found libboost_program_options-gcc32-mt-1_35.so.1.35.0 => not found libboost_iostreams-gcc32-mt-1_35.so.1.35.0 => not found libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x00b8e000) libm.so.6 => /lib/tls/libm.so.6 (0x007a6000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00179000) libc.so.6 => /lib/tls/libc.so.6 (0x00182000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00d66000) Both machine has the same boost 1.35. Only differences is they have different versions of GCC (3.2 and 3.4). Is there any idea or hints where this problem comes from??? regards, Alex Kim