Menu

Problems re-installing on Slackware

Help
2005-09-16
2012-09-19
  • Andrew Woodward

    Andrew Woodward - 2005-09-16

    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?

     
    • Andrew Woodward

      Andrew Woodward - 2005-09-16

      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

       
    • Andrew Woodward

      Andrew Woodward - 2005-09-16

      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']

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.