Hi Lide, I would like to suggest one more thing:
Please find in the Makefile the following line: MLIBS = `./sysprobe -libs` -lm -lz and change it to : MLIBS = `./sysprobe -libs` -L/usr/lib -lm -lz Rebuild the application after the change to Makefile Regards, Jesus 2010/1/6 Lide Duan <[email protected]>: > Yes, they are there...I found both files in /usr/lib. Actually, other gcc > versions I tried seemed to link correctly although they could not compile > successfully at the end. I have no idea why the crosstool built gcc cannot > link to zlib... > > 2010/1/6 Jesus Hernandez Tapia <[email protected]> >> >> Lida, >> >> Do you have the library files installed in your system? Please search >> for libz in /usr/lib. There should be files like libz.so and libz.a. >> >> If the library is not there, you may need to install it. >> >> Regards, >> >> Jesus >> >> >> >> 2010/1/6 Lide Duan <[email protected]>: >> > Hi Jesus, >> > >> > I think I successfully used the crosstool to build gcc-2.95.3 and >> > glibc-2.2.5, as you suggested. But when I compiled SMARTS with the new >> > installed gcc, it gave me the following error: >> > >> > >> > /opt/crosstool/gcc-2.95.3-glibc-2.2.5/i686-unknown-linux-gnu/i686-unknown-linux-gnu/bin/ld: >> > cannot find -lz >> > collect2: ld returned 1 exit status >> > >> > Looks like the linker cannot link to zlib? Do you have any idea about >> > this? >> > Thank you! >> > >> > Lide >> > >> > 2010/1/6 Jesus Hernandez Tapia <[email protected]> >> >> >> >> Lide, >> >> >> >> If I remember correctly I used glibc version 2.2.5. >> >> Please let us know if this version works for you. >> >> >> >> Regards, >> >> >> >> Jesus >> >> >> >> 2010/1/6 Lide Duan <[email protected]>: >> >> > Hi Jesus, >> >> > >> >> > Thank you for your reply! I suspect that the error I encountered is >> >> > due >> >> > to >> >> > the glibc version. The current one in my machine is 2.5, but I >> >> > believe >> >> > gcc >> >> > 2.95.3 used an older version. Could you please tell me the glibc >> >> > version >> >> > you >> >> > used with gcc 2.95.3 to compile SMARTS? (Is it something 2.3.x?) >> >> > >> >> > Thanks, >> >> > Lide >> >> > >> >> > 2010/1/6 Jesus Hernandez Tapia <[email protected]> >> >> >> >> >> >> Hi Lide, >> >> >> >> >> >> You are right, to compile SMARTS you need gcc version 2.95.3. >> >> >> >> >> >> It has been a long time since I did this, but I remember I used >> >> >> "crosstool" to install the required version of GCC along with its >> >> >> corresponding version of glibc. After this, SMARTS compiled with no >> >> >> problems. >> >> >> >> >> >> Here is the link to crosstool: http://www.kegel.com/crosstool/ >> >> >> >> >> >> Regards. >> >> >> >> >> >> 2010/1/5 Lide Duan <[email protected]>: >> >> >> > Thank you for the info, Zhibin! >> >> >> > >> >> >> > Are you sure it is 2.9.53 but not 2.95.3? Since 2.95.3 is the gcc >> >> >> > 2.9x >> >> >> > version I can find on GNU website. I could not find any GCC >> >> >> > version >> >> >> > as >> >> >> > 2.9.53. (If it turns out to be 2.9.53, is there anyway for me to >> >> >> > download >> >> >> > it?) >> >> >> > >> >> >> > Unfortunately, gcc 2.95.3 still gave me the same error...Is there >> >> >> > any >> >> >> > known >> >> >> > gcc version that is for sure compatible with TurboSMARTS? >> >> >> > >> >> >> > Thanks, >> >> >> > Lide >> >> >> > >> >> >> > 2010/1/5 yuzhibin <[email protected]> >> >> >> >> >> >> >> >> Hi >> >> >> >> >> >> >> >> You need to use gcc 2.9.53 to compile the TurboSMARTS. Good >> >> >> >> luck! >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> Best regards, >> >> >> >> >> >> >> >> Zhibin >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> ________________________________ >> >> >> >> >> >> >> >> 发件人: Lide Duan [mailto:[email protected]] >> >> >> >> 发送时间: Tuesday, January 05, 2010 8:35 AM >> >> >> >> 收件人: [email protected] >> >> >> >> 主题: What was the gcc/g++ version used to build TurboSMARTS? >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> Hello, >> >> >> >> >> >> >> >> I am trying to compile the TurboSMARTS codebase on Suse Linux >> >> >> >> 10.2. >> >> >> >> I >> >> >> >> tried two versions of gcc/g++: 3.4.1 and 4.1.2, but they all gave >> >> >> >> the >> >> >> >> following errors: >> >> >> >> >> >> >> >> /usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section >> >> >> >> .tbss >> >> >> >> mismatches non-TLS reference in eval.o >> >> >> >> /lib/libc.so.6: could not read symbols: Bad value >> >> >> >> collect2: ld returned 1 exit status >> >> >> >> >> >> >> >> Any idea about this? Could anyone tell me the exact version used >> >> >> >> to >> >> >> >> compile TurboSMARTS? >> >> >> >> >> >> >> >> Thanks, >> >> >> >> Lide >> >> >> > >> >> > >> >> > >> > >> > > >
