"mysql.h: No such file or directory" when building MySQL-python

Discussion in 'Python' started by francescomoi@europe.com, Apr 27, 2005.

  1. Guest

    Hi.

    I'm trying to build 'MySQL-python-1.2.0' on my Linux FC2:
    ----------------------------------
    [ ]# export PATH=$PATH:/usr/local/mysql/bin/
    [ ]# export mysqlclient=mysqlclient_r
    [ ]# python setup.py clean
    [ ]# python setup.py build
    running build
    running build_py
    running build_ext
    building '_mysql' extension
    creating build/temp.linux-i686-2.3
    gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -march=i386
    -mcpu=i686 -D_GNU_SOURCE -fPIC -fPIC -I/usr/include/python2.3 -c
    _mysql.c -o build/temp.linux-i686-2.3/_mysql.o -I'/usr/include/mysql'
    _mysql.c:41:19: mysql.h: No such file or directory
    ------------------------------------

    I don't understand why I get this error message, since I usually build
    MySQL+C programs
    by using:
    gcc -o myprogram -I'/usr/local/mysql/include/mysql'
    -L'/usr/local/mysql/lib/mysql' -lmysqlclient -lz -lcrypt -lnsl -lm
    myprogram.c

    My server configuration:
    ---------------------------
    [ ]# /usr/local/mysql/bin/mysql_config
    --cflags [-I'/usr/local/mysql/include/mysql']
    --libs [-L'/usr/local/mysql/lib/mysql' -lmysqlclient
    -lz -lcrypt -lnsl -lm]
    --socket [/tmp/mysql.sock]
    --port [3306]
    --version [3.23.58]
    ----------------------------
    [ ]# find . -name "mysql.h"
    ../usr/src/php-4.3.10/ext/mysql/libmysql/mysql.h
    ../usr/src/mysql-3.23.58/include/mysql.h
    ../usr/src/mysql-4.1.9/include/mysql.h
    ../usr/include/mysql/mysql.h
    ../usr/local/mysql/include/mysql/mysql.h
    ------------------------------
    [ ]# locate libmysqlclient
    /usr/src/mysql-3.23.58/libmysql/.libs/libmysqlclient.so
    /usr/src/mysql-3.23.58/libmysql/.libs/libmysqlclient.a
    /usr/src/mysql-3.23.58/libmysql/.libs/libmysqlclient.so.10
    /usr/src/mysql-3.23.58/libmysql/.libs/libmysqlclient.so.10.0.0
    /usr/src/mysql-3.23.58/libmysql/.libs/libmysqlclient.lai
    /usr/src/mysql-3.23.58/libmysql/.libs/libmysqlclient.la
    /usr/src/mysql-3.23.58/libmysql/libmysqlclient.la
    /usr/src/mysql-4.1.9/libmysql/.libs/libmysqlclient.so
    /usr/src/mysql-4.1.9/libmysql/.libs/libmysqlclient.a
    /usr/src/mysql-4.1.9/libmysql/.libs/libmysqlclient.so.14
    /usr/src/mysql-4.1.9/libmysql/.libs/libmysqlclient.lai
    /usr/src/mysql-4.1.9/libmysql/.libs/libmysqlclient.so.14.0.0
    /usr/src/mysql-4.1.9/libmysql/.libs/libmysqlclient.la
    /usr/src/mysql-4.1.9/libmysql/libmysqlclient.la
    /usr/local/mysql/lib/mysql/libmysqlclient.la
    /usr/local/mysql/lib/mysql/libmysqlclient.so.10.0.0
    /usr/local/mysql/lib/mysql/libmysqlclient.so
    /usr/local/mysql/lib/mysql/libmysqlclient.a
    /usr/local/mysql/lib/mysql/libmysqlclient.so.10
    ----------------------------------

    Any suggestion? Thank you very much.
    , Apr 27, 2005
    #1
    1. Advertising

  2. Andy Dustman Guest

    wrote:

    > I'm trying to build 'MySQL-python-1.2.0' on my Linux FC2:

    ....
    > gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -march=i386
    > -mcpu=i686 -D_GNU_SOURCE -fPIC -fPIC -I/usr/include/python2.3 -c
    > _mysql.c -o build/temp.linux-i686-2.3/_mysql.o -I'/usr/include/mysql'
    > _mysql.c:41:19: mysql.h: No such file or directory

    ....
    > My server configuration:
    > ---------------------------
    > [ ]# /usr/local/mysql/bin/mysql_config
    > --cflags [-I'/usr/local/mysql/include/mysql']
    > --libs [-L'/usr/local/mysql/lib/mysql' -lmysqlclient
    > -lz -lcrypt -lnsl -lm]
    > --socket [/tmp/mysql.sock]
    > --port [3306]
    > --version [3.23.58]

    ....
    > Any suggestion? Thank you very much.


    Fedora's mysql_config puts quotes around the directory names, which
    confuses things. Try MySQL-python-1.2.1c1. I don't think this entirely
    solves the problem, but I think I know how to fix it for 1.2.1c2. But
    try it and report your results here:

    https://sourceforge.net/tracker/index.php?func=detail&aid=1146226&group_id=22307&atid=374932
    Andy Dustman, Apr 28, 2005
    #2
    1. Advertising

  3. Guest

    Thank you Andy for your answer.

    I tried by using '1.2.1c1' and '1.2.1c2', but with no success:
    ---------------
    creating build/temp.linux-i686-2.3
    gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -march=i386
    -mcpu=i686 - D_GNU_SOURCE -fPIC -fPIC -I/usr/include/python2.3 -c
    _mysql.c -o build/temp.linu x-i686-2.3/_mysql.o -I'/usr/include/mysql'
    _mysql.c:41:19: mysql.h: No such file or directory
    --------------------

    Finally I decided to copy '/usr/include/mysql/*.*' to my work
    directory,
    and I managed to build it. But when trying to execute a simple test,
    I get this error message:
    ---------
    Traceback (most recent call last):
    File "./db.py", line 7, in ?
    db = "test")
    File "/usr/lib/python2.3/site-packages/MySQLdb/__init__.py", line 66,
    in Connect
    return Connection(*args, **kwargs)
    File "/usr/lib/python2.3/site-packages/MySQLdb/connections.py", line
    134, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
    _mysql_exceptions.OperationalError: (2002, "Can't connect to local
    MySQL server through socket '/var/lib/mysql/mysql.sock' (2)")
    -----------------------

    Any suggestion?. Regards


    Andy Dustman wrote:
    > wrote:
    >
    > > I'm trying to build 'MySQL-python-1.2.0' on my Linux FC2:

    > ...
    > > gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -march=i386
    > > -mcpu=i686 -D_GNU_SOURCE -fPIC -fPIC -I/usr/include/python2.3 -c
    > > _mysql.c -o build/temp.linux-i686-2.3/_mysql.o

    -I'/usr/include/mysql'
    > > _mysql.c:41:19: mysql.h: No such file or directory

    > ...
    > > My server configuration:
    > > ---------------------------
    > > [ ]# /usr/local/mysql/bin/mysql_config
    > > --cflags [-I'/usr/local/mysql/include/mysql']
    > > --libs [-L'/usr/local/mysql/lib/mysql'

    -lmysqlclient
    > > -lz -lcrypt -lnsl -lm]
    > > --socket [/tmp/mysql.sock]
    > > --port [3306]
    > > --version [3.23.58]

    > ...
    > > Any suggestion? Thank you very much.

    >
    > Fedora's mysql_config puts quotes around the directory names, which
    > confuses things. Try MySQL-python-1.2.1c1. I don't think this

    entirely
    > solves the problem, but I think I know how to fix it for 1.2.1c2. But
    > try it and report your results here:
    >
    >

    https://sourceforge.net/tracker/index.php?func=detail&aid=1146226&group_id=22307&atid=374932
    , May 11, 2005
    #3
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Replies:
    1
    Views:
    1,814
    Andy Dustman
    May 12, 2005
  2. Midex
    Replies:
    24
    Views:
    882
  3. abolotnov
    Replies:
    3
    Views:
    822
    Gabriel Genellina
    May 29, 2009
  4. George Trojan

    a question on building MySQL-python

    George Trojan, Feb 19, 2010, in forum: Python
    Replies:
    0
    Views:
    262
    George Trojan
    Feb 19, 2010
  5. Brian Candler

    Problem building mysql-ruby under 1.8.0

    Brian Candler, Aug 4, 2003, in forum: Ruby
    Replies:
    5
    Views:
    139
    Ollivier Robert
    Aug 4, 2003
Loading...

Share This Page