libstdc++.so: undefined reference to

lulu he loloseed@gmail.com
Thu Jun 10 12:37:00 GMT 2010


2010/6/10 lulu he <loloseed@gmail.com>:
> 2010/6/10 lulu he <loloseed@gmail.com>:
>> 2010/6/10 lulu he <loloseed@gmail.com>:
>>> 2010/6/9 Ian Lance Taylor <iant@google.com>:
>>>> lulu he <loloseed@gmail.com> writes:
>>>>
>>>>> I made a mistake, The error message is :
>>>>> /usr/local/lib64/libstdc++.so: undefined reference to
>>>>> '_Unwind_GetIPInfo@GCC_4.2.0'
>>>>>
>>>>> and I soft link /usr/local/lib64/libstdc++.so TO
>>>>> /usr/local/gcc43/lib64/libstdc++.so,
>>>>> so it gcc43 is using the libstdc++.so in gcc43/lib64.
>>>>> ...
>>>>
>>>> Please reply to the mailing list, not just to me.
>>>>
>>>> The symbol Unwind_GetIPInfo@GCC_4.2.0 should be defined in
>>>> libgcc_s.so.  Perhaps you are somehow picking up the wrong version of
>>>> that library.
>>>>
>>>> Ian
>>>>
>>>
>>> Hi, lan
>>>
>>> That's right.
>>> g++ search .so in the /usr/local/lib64, instead of ..../gcc-4.3.3/lib64 ,
>>> So I soft link all the .so in the /usr/local/lib64 TO  ..../gcc-4.3.3/lib64 ,
>>> and "g++ -o hello hello.cpp" works right now.
>>>
>>> What an awkward method!
>>> I have to soft link /usr/local/lib64/*.so back again if I wanna use
>>> another gcc version!
>>>
>>> Do u have another better solution to tell gcc search to search
>>> "..../gcc-4.3.3/lib64" directory by a global setting,
>>> not by "-L" option??
>>>
>>
>> I have soft link /usr/local/lib64/libgcc_s.so TO
>> /usr/local/gcc-4.3.3/lib64/libgcc_s.so,
>> and
>> soft link /usr/local/lib64/libstdc++.so TO
>> /usr/local/gcc-4.3.3/lib64/libstdc++.so
>> but error is still reported:
>> /usr/local/lib64/libstdc++.so: undefined reference to
>> '_Unwind_GetIPInfo@GCC_4.2.0'
>>
>
>
> Hi lan,
>
> I use the nm command:
> nm libstdc++.so |grep _Unwind_GetIPInfo ,
> it output "U _Unwind_GetIPInfo@GCC_4.2.0"
>
> but
> nm libgcc_s.so |grep _Unwind_GetIPInfo ,
> it output "U _Unwind_GetIPInfo"
>
> that doesn't match , I doubt the error is here???
>
> How i can fix that?
>
> Thanks.
>


O GOD,
I finally fix it by rename libgcc_s.so.1 .
mv /usr/local/lib64/libgcc_s.so.1 /usr/local/lib64/libgcc_s.so.1.old

Everything is fine!

But why???

Thanks.



More information about the Gcc-help mailing list