You do not have permission to delete messages in this group
Copy link
Report message
Sign in to report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to
Hello,
I have a c++ shared object that I am compiling using the following command.
g++ -g -Wall -c -o cpplib.o cpplib.cpp
And I am creating the shared object using the following command.
g++ -shared -o libcpplib.so cpplib.o
(I am aware that I can do this one single command, these are two separate invocations because I had the project setup on eclipse and that's how eclipse cdt does it.).
My host runs a RedHat 6.x x86_64 OS.
The compilation fails with the following error.
[root@dev-80 cpplib]# g++ -g -Wall -fPIC -c -o cpplib.o cpplib.cpp
[root@dev-80 cpplib]# g++ -shared -fPIC -o libcpplib.so cpplib.o
/usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.4.7/libstdc++.a(ios_init.o): relocation R_X86_64_32 against `pthread_cancel' can not be used when making a shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/libstdc++.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
[root@dev-80 cpplib]#
I am certain that I haven't used the 'pthread_cancel' function in my code.
Can anyone help me with this?
Regards,
Bharath
Maurizio Loreti
unread,
Aug 12, 2013, 10:37:11 AM8/12/13
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Sign in to report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to
g++ 4.4 and its shared library are quite old. Try to upgrade to
4.8.1...