Lide,

One more thing I noticed is that you are using
/opt/crosstool/gcc-2.95.3-glibc-2.2.5/i686-unknown-linux-gnu/i686-unknown-linux-gnu/bin/ld
, and it should be /usr/bin/ld.

Could you please insert the part of the Makefile where you define the
environment variables for your build?, then I can take a look to it.

Jesus

2010/1/6 Jesus Hernandez Tapia <[email protected]>:
> 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
>>> >> >> >
>>> >> >
>>> >> >
>>> >
>>> >
>>
>>
>

Reply via email to