Undefined symbol __pure_virtual when importing MySQLdb

A

antonyliu2002

I downloaded MySQL-python-1.2.1 from SourceForge and installed it on a
Mandrake system (Mandrake Linux 9.2 3.3.1-2mdk on linux2).

The installation was successful. The gcc version is 3.3.

My Python version is 2.4.2. When I import MySQLdb, I get an error
which says that __pure_virtual is an undefined symbol.

Look:
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/local/python2.4/site-packages/MySQLdb/__init__.py", line
19, in ?
import _mysql
ImportError: /usr/local/python2.4/site-packages/_mysql.so: undefined
symbol: __pure_virtual

By the way, mysql (5.0.27-standard)is running OK on the Mandrake
system. Look:

[antonyliu@myhost antonyliu]$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 13 to server version: 5.0.27-standard

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

I have googled hard, and did see someone asking the same question, but
haven't found a good solution to this problem. Could anyone give me a
hint? Thanks a lot!
 
F

Fredrik Lundh

I have googled hard, and did see someone asking the same question, but
haven't found a good solution to this problem. Could anyone give me a
hint? Thanks a lot!

googling for "undefined symbol: __pure_virtual" brings up hundreds of
posts on this topic, and the answer is *always* to make sure that you're
linking with a version of the C++ libraries that matches your compiler.

</F>
 
A

antonyliu2002

Fredrik said:
googling for "undefined symbol: __pure_virtual" brings up hundreds of
posts on this topic, and the answer is *always* to make sure that you're
linking with a version of the C++ libraries that matches your compiler.

</F>

Hi, thanks. I followed the strategy provided at the following url

http://www.mail-archive.com/[email protected]/msg27851.html

by adding "-lmygcc" to the end of the librarys to link. I added it to
the end of this line in the mysql_config script like so:

libs=" $ldflags -L$pkglibdir -lmysqlclient -lz -lcrypt -lnsl -lm
-lmygcc "

And then I recompiled the MySQL-python-1.2.1 package, but the same
problem remains.
 
H

hg

I downloaded MySQL-python-1.2.1 from SourceForge and installed it on a
Mandrake system (Mandrake Linux 9.2 3.3.1-2mdk on linux2).

The installation was successful. The gcc version is 3.3.

My Python version is 2.4.2. When I import MySQLdb, I get an error
which says that __pure_virtual is an undefined symbol.

Look:
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/local/python2.4/site-packages/MySQLdb/__init__.py", line
19, in ?
import _mysql
ImportError: /usr/local/python2.4/site-packages/_mysql.so: undefined
symbol: __pure_virtual

By the way, mysql (5.0.27-standard)is running OK on the Mandrake
system. Look:

[antonyliu@myhost antonyliu]$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 13 to server version: 5.0.27-standard

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

I have googled hard, and did see someone asking the same question, but
haven't found a good solution to this problem. Could anyone give me a
hint? Thanks a lot!


Hi,

I can only say that it runs fine under Mandriva 2007 ... and that Mandriva
went to gcc V4 long after 9.2 ... maybe an issue here.

Regards,

hg
 
A

antonyliu2002

Hi, thanks. I followed the strategy provided at the following url

http://www.mail-archive.com/[email protected]/msg27851.html

by adding "-lmygcc" to the end of the librarys to link. I added it to
the end of this line in the mysql_config script like so:

libs=" $ldflags -L$pkglibdir -lmysqlclient -lz -lcrypt -lnsl -lm
-lmygcc "

And then I recompiled the MySQL-python-1.2.1 package, but the same
problem remains.

I tried using -lgcc as some people suggested in some forum, but it does
not resolve the problem. It looks like many people are having this
problem, but no solution has been offered so far. Anybody has a clue?
Thanks.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top