running slackware 10.1 and originaly compiled and installed the module with out any issue for mysql 4.0.22 and after i updated to mysql 4.1.11 i get
Python 2.4 (#1, Jan 1 2005, 21:33:55) [GCC 3.3.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/lib/python2.4/site-packages/MySQLdb/init.py", line 27, in ?
import _mysql
ImportError: libmysqlclient_r.so.14: cannot open shared object file: No such file or directory
the odd part is that it installed fine on another slackware 10.1 box running mysql 4.1.11 no problems. any way ive found libmysqlclient in the following locations:
/usr/lib/mysql/libmysqlclient_r.a
/usr/lib/mysql/libmysqlclient_r.so.12.0.0
/usr/lib/mysql/libmysqlclient.a
/usr/lib/mysql/libmysqlclient.la
/usr/lib/mysql/libmysqlclient_r.la
/usr/lib/mysql/libmysqlclient.so.12.0.0
/usr/lib/mysql/libmysqlclient_r.so.12
/usr/lib/mysql/libmysqlclient.so
/usr/lib/mysql/libmysqlclient.so.12
/usr/lib/mysql/libmysqlclient_r.so
/usr/lib/mysql/libmysqlclient_r.so.14.0.0
/usr/lib/mysql/libmysqlclient.so.14.0.0
/usr/lib/mysql/libmysqlclient_r.so.14
/usr/lib/mysql/libmysqlclient.so.14
/usr/lib/libmysqlclient_r.so.12
/usr/lib/libmysqlclient.so
/usr/lib/libmysqlclient.so.12
/usr/lib/libmysqlclient_r.so
ok i straced the import MySQLdb call and found where it was searching for the lib, and linked it to where it was actualy looking for the lib and it works now
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
i found where the setup was finding where to search for libmysqlclient and it confirms that it should be able to find it yet i still show it as missing
>>> what="libs"
>>> popen("mysql_config --%s" % what).read().strip().split() ['-L/usr/lib/mysql', '-lmysqlclient', '-lz', '-lcrypt', '-lnsl', '-lm']
>>> what="libs_r"
>>> popen("mysql_config --%s" % what).read().strip().split() ['-L/usr/lib/mysql', '-lmysqlclient_r', '-lz', '-lpthread', '-lcrypt', '-lnsl', '-lm', '-lpthread']
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
running slackware 10.1 and originaly compiled and installed the module with out any issue for mysql 4.0.22 and after i updated to mysql 4.1.11 i get
Python 2.4 (#1, Jan 1 2005, 21:33:55)
[GCC 3.3.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/lib/python2.4/site-packages/MySQLdb/init.py", line 27, in ?
import _mysql
ImportError: libmysqlclient_r.so.14: cannot open shared object file: No such file or directory
the odd part is that it installed fine on another slackware 10.1 box running mysql 4.1.11 no problems. any way ive found libmysqlclient in the following locations:
/usr/lib/mysql/libmysqlclient_r.a
/usr/lib/mysql/libmysqlclient_r.so.12.0.0
/usr/lib/mysql/libmysqlclient.a
/usr/lib/mysql/libmysqlclient.la
/usr/lib/mysql/libmysqlclient_r.la
/usr/lib/mysql/libmysqlclient.so.12.0.0
/usr/lib/mysql/libmysqlclient_r.so.12
/usr/lib/mysql/libmysqlclient.so
/usr/lib/mysql/libmysqlclient.so.12
/usr/lib/mysql/libmysqlclient_r.so
/usr/lib/mysql/libmysqlclient_r.so.14.0.0
/usr/lib/mysql/libmysqlclient.so.14.0.0
/usr/lib/mysql/libmysqlclient_r.so.14
/usr/lib/mysql/libmysqlclient.so.14
/usr/lib/libmysqlclient_r.so.12
/usr/lib/libmysqlclient.so
/usr/lib/libmysqlclient.so.12
/usr/lib/libmysqlclient_r.so
and the build dosent appear to give any errors:
running build
running build_py
creating build
creating build/lib.linux-i686-2.4
copying _mysql_exceptions.py -> build/lib.linux-i686-2.4
creating build/lib.linux-i686-2.4/MySQLdb
copying MySQLdb/init.py -> build/lib.linux-i686-2.4/MySQLdb
copying MySQLdb/converters.py -> build/lib.linux-i686-2.4/MySQLdb
copying MySQLdb/connections.py -> build/lib.linux-i686-2.4/MySQLdb
copying MySQLdb/cursors.py -> build/lib.linux-i686-2.4/MySQLdb
copying MySQLdb/sets.py -> build/lib.linux-i686-2.4/MySQLdb
copying MySQLdb/times.py -> build/lib.linux-i686-2.4/MySQLdb
copying MySQLdb/stringtimes.py -> build/lib.linux-i686-2.4/MySQLdb
copying MySQLdb/mxdatetimes.py -> build/lib.linux-i686-2.4/MySQLdb
copying MySQLdb/pytimes.py -> build/lib.linux-i686-2.4/MySQLdb
creating build/lib.linux-i686-2.4/MySQLdb/constants
copying MySQLdb/constants/init.py -> build/lib.linux-i686-2.4/MySQLdb/constants
copying MySQLdb/constants/CR.py -> build/lib.linux-i686-2.4/MySQLdb/constants
copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.linux-i686-2.4/MySQLdb/constants
copying MySQLdb/constants/ER.py -> build/lib.linux-i686-2.4/MySQLdb/constants
copying MySQLdb/constants/FLAG.py -> build/lib.linux-i686-2.4/MySQLdb/constants
copying MySQLdb/constants/REFRESH.py -> build/lib.linux-i686-2.4/MySQLdb/constants
copying MySQLdb/constants/CLIENT.py -> build/lib.linux-i686-2.4/MySQLdb/constants
running build_ext
building '_mysql' extension
creating build/temp.linux-i686-2.4
gcc -pthread -fno-strict-aliasing -DNDEBUG -O3 -march=i486 -mcpu=i686 -fPIC -I/usr/include/mysql -I/usr/include/python2.4 -c _mysql.c -o build/temp.linux-i686-2.4/_mysql.o -I/usr/include/mysql -march=i486 -mcpu=i686
gcc -pthread -shared build/temp.linux-i686-2.4/_mysql.o -L/usr/lib/mysql -lmysqlclient_r -lz -lpthread -lcrypt -lnsl -lm -lpthread -lmysqlclient_r -o build/lib.linux-i686-2.4/_mysql.so
/build/lib.linux-i686-2.4# ldd _mysql.so
libmysqlclient_r.so.14 => not found
libz.so.1 => /usr/lib/libz.so.1 (0x00132000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00143000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x00195000)
libnsl.so.1 => /lib/libnsl.so.1 (0x001c2000)
libm.so.6 => /lib/libm.so.6 (0x001d7000)
libc.so.6 => /lib/libc.so.6 (0x001fa000)
/lib/ld-linux.so.2 (0x80000000)
so where exatly is the libmysqlclient expected to be? or am i missing something else here?
ok i straced the import MySQLdb call and found where it was searching for the lib, and linked it to where it was actualy looking for the lib and it works now
i found where the setup was finding where to search for libmysqlclient and it confirms that it should be able to find it yet i still show it as missing
>>> what="libs"
>>> popen("mysql_config --%s" % what).read().strip().split()
['-L/usr/lib/mysql', '-lmysqlclient', '-lz', '-lcrypt', '-lnsl', '-lm']
>>> what="libs_r"
>>> popen("mysql_config --%s" % what).read().strip().split()
['-L/usr/lib/mysql', '-lmysqlclient_r', '-lz', '-lpthread', '-lcrypt', '-lnsl', '-lm', '-lpthread']