Find the answer to your Linux question:
Results 1 to 9 of 9
hello to all and sorry for my bad english U_U Well im coming with a new problem, I have a program in C with mysql.h and I try to compiler ...
  1. #1
    Just Joined!
    Join Date
    Sep 2007
    Posts
    10

    Problem with gcc and program in C

    hello to all and sorry for my bad english U_U

    Well im coming with a new problem, I have a program in C with mysql.h and I try to compiler with gcc but it cant, because the mysql function wasnt be declared, I think that when I installed the gcc im not installed the mysql libraries. do u know how can I install the mysql libraries in my gcc??
    I use debian sarge 3.1 and gcc 3.3.5 with mysql 4.0.24

    thanks for all

  2. #2
    Blackfooted Penguin daark.child's Avatar
    Join Date
    Apr 2006
    Location
    West Yorks
    Posts
    4,344
    If its a problem with mysql, then you probably need to install the mysql development package which is usually called mysql-devel or mysql-dev.

  3. #3
    Just Joined!
    Join Date
    Sep 2007
    Posts
    10
    hello daark.child

    Well I dont think so, I think that the problem is the compiler because it cant recognized the mysql functions, I think that my gcc dont have the mysql libraries and need to install it

  4. #4
    Blackfooted Penguin daark.child's Avatar
    Join Date
    Apr 2006
    Location
    West Yorks
    Posts
    4,344
    I doubt that the problem is with the compiler. A c/cpp compiler does not come with mysql libraries/headers, you have to install them yourself. Can you post the detailed error message that you are getting. Cheers.

  5. #5
    Just Joined!
    Join Date
    Sep 2007
    Posts
    10
    Hello

    ok ill describe the program and the error:

    the program is in C:

    #include <stdio.h>
    #include <stdlib.h>
    #include <mysql.h>
    int main()
    {
    MYSQL *conn;
    MYSQL_RES *res;
    MYSQL_ROW row;
    char *server = "localhost"; // Servidor donde se encuentra la BD
    char *user = "pancrasio"; // Usuario de la base de datos
    char *password = "hello"; // Password de este usuario
    char *database = "mysql"; // Base de datos a utilizar
    conn = mysql_init(NULL);
    /* Conexion a la base de datos */
    if (!mysql_real_connect(conn, server,
    user, password, database, 0, NULL, 0)) {
    fprintf(stderr, "&#37;s\n", mysql_error(conn));
    exit(1);
    }
    /* Realizar la consulta de la Base de Datos */
    if (mysql_query(conn, "show tables")) {
    fprintf(stderr, "%s\n", mysql_error(conn));
    exit(1);
    }
    res = mysql_use_result(conn);
    /* Obtener la salida de la consulta */
    printf("Tablas de la base de datos %s:\n", database);
    while ((row = mysql_fetch_row(res)) != NULL)
    printf("%s\n", row[0]);
    /* Cerrar la conexion de la base de datos */
    mysql_free_result(res);
    mysql_close(conn);
    }

    and when i compiler with:
    arm-linux-gcc -Wall -o prog program.c
    the errors are:

    program.c:3:20:mysql.h:No such file or directory
    program.c: in function 'main' :
    program.c:6: error: 'MYSQL' undeclared (first use in this function)
    program.c:6: error: (Each undeclared identifier is reported only once
    program.c:6: error: for each function it appears in.)
    program.c:6: error: 'conn' undeclared (first use in this function)
    program.c:7: error: 'res' undeclared (first use in this function)
    program.c:8: error: 'MYSQL_ROW' undeclared (first use in this function)
    program.c:8: error: syntax error before "row"
    program.c:13: warning: implicit declaration of function 'mysql_init'
    program.c:15: warning: implicit declaration of function 'mysql_real_connect'
    program.c:17: warning: implicit declaration of function 'mysql_error'
    program.c:17: warning: format argument is not a pointer (arg 3)
    program.c:21: warning: implicit declaration of function 'mysql_query'
    program.c:22: warning: format argument is not a pointer (arg 3)
    program.c:25: warning: implicit declaration of function 'mysql_use_result'
    program.c:28: warning: error 'row' undeclared (first use in this function)
    program.c:28: warning: implicit declaration of function 'mysql_fetch_row'
    program.c:31: warning: implicit declaration of function 'mysql_free_result'
    program.c:32: warning: implicit declaration of function 'mysql_close'


    can u help me ? T____T thanks so much

  6. #6
    Blackfooted Penguin daark.child's Avatar
    Join Date
    Apr 2006
    Location
    West Yorks
    Posts
    4,344
    The error shows that the mysql headers are not found which implies that the mysql develpment package is probably not installed on your system. Install the mysql-dev package like I had suggested above.

  7. #7
    Just Joined!
    Join Date
    Sep 2007
    Posts
    10
    hello

    ok I was looking for this file mysql-dev but im unluky I cant find it, I used locate mysql and finded the next files:

    /etc/cron.daily/mysql-server
    /etc/init.d/mysql
    /etc/logcheck/ignore.d.paranoid/mysql-server
    /etc/logcheck/ignore.d.server/mysql-server
    /etc/logcheck/ignore.d.workstation/mysql-server
    /etc/logrotate.d/mysql-server
    /etc/mysql
    /etc/mysql/debian-log-rotate.conf
    /etc/mysql/debian-start
    /etc/mysql/debian.cnf
    /etc/mysql/my.cnf
    /etc/rc0.d/K20mysql
    /etc/rc1.d/K20mysql
    /etc/rc2.d/S93mysql
    /etc/rc3.d/S20mysql
    /etc/rc4.d/S20mysql
    /etc/rc5.d/S20mysql
    /etc/rc6.d/K20mysql
    /root/.mysql_history
    /usr/bin/msql2mysql
    /usr/bin/mysql
    /usr/bin/mysqlaccess
    /usr/bin/mysqladmin
    /usr/bin/mysqlbinlog
    /usr/bin/mysqlbug
    /usr/bin/mysqlcheck
    /usr/bin/mysqldump
    /usr/bin/mysqldumpslow
    /usr/bin/mysqld_multi
    /usr/bin/mysqld_safe
    /usr/bin/mysqlhotcopy
    /usr/bin/mysqlimport
    /usr/bin/mysqlmanager
    /usr/bin/mysqlmanager-pwgen
    /usr/bin/mysqlmanagerc
    /usr/bin/mysqlshow
    /usr/bin/mysqltest
    /usr/bin/mysql_convert_table_format
    /usr/bin/mysql_explain_log
    /usr/bin/mysql_find_rows
    /usr/bin/mysql_fix_extensions
    /usr/bin/mysql_fix_privilege_tables
    /usr/bin/mysql_install_db
    /usr/bin/mysql_secure_installation
    /usr/bin/mysql_setpermission
    /usr/bin/mysql_tableinfo
    /usr/bin/mysql_waitpid
    /usr/bin/mysql_zap
    /usr/lib/libmysqlclient.so.12
    /usr/lib/libmysqlclient.so.12.0.0
    /usr/lib/libmysqlclient_r.so.12
    /usr/lib/libmysqlclient_r.so.12.0.0
    /usr/lib/perl5/auto/DBD/mysql
    /usr/lib/perl5/auto/DBD/mysql/mysql.bs
    /usr/lib/perl5/auto/DBD/mysql/mysql.so
    /usr/lib/perl5/Bundle/DBD/mysql.pm
    /usr/lib/perl5/DBD/mysql
    /usr/lib/perl5/DBD/mysql.pm
    /usr/lib/perl5/DBD/mysql/GetInfo.pm
    /usr/lib/perl5/DBD/mysql/INSTALL.pod
    /usr/lib/php4/20020429/mysql.so
    /usr/sbin/mysqld
    /usr/share/doc/libdbd-mysql-perl
    /usr/share/doc/libdbd-mysql-perl/changelog.Debian.gz
    /usr/share/doc/libdbd-mysql-perl/changelog.gz
    /usr/share/doc/libdbd-mysql-perl/copyright
    /usr/share/doc/libdbd-mysql-perl/README
    /usr/share/doc/libmysqlclient12
    /usr/share/doc/libmysqlclient12/changelog.Debian.gz
    /usr/share/doc/libmysqlclient12/copyright
    /usr/share/doc/libmysqlclient12/EXCEPTIONS-CLIENT.gz
    /usr/share/doc/mysql-client
    /usr/share/doc/mysql-client/changelog.Debian.gz
    /usr/share/doc/mysql-client/copyright
    /usr/share/doc/mysql-client/EXCEPTIONS-CLIENT.gz
    /usr/share/doc/mysql-client/README
    /usr/share/doc/mysql-client/README.Debian
    /usr/share/doc/mysql-common
    /usr/share/doc/mysql-common/changelog.Debian.gz
    /usr/share/doc/mysql-common/copyright
    /usr/share/doc/mysql-common/README.Debian
    /usr/share/doc/mysql-server
    /usr/share/doc/mysql-server/changelog.Debian.gz
    /usr/share/doc/mysql-server/copyright
    /usr/share/doc/mysql-server/examples
    /usr/share/doc/mysql-server/examples/my-huge.cnf.gz
    /usr/share/doc/mysql-server/examples/my-innodb-heavy-4G.cnf.gz
    /usr/share/doc/mysql-server/examples/my-large.cnf.gz
    /usr/share/doc/mysql-server/examples/my-medium.cnf.gz
    /usr/share/doc/mysql-server/examples/my-small.cnf
    /usr/share/doc/mysql-server/EXCEPTIONS-CLIENT.gz
    /usr/share/doc/mysql-server/mysqld.sym.gz
    /usr/share/doc/mysql-server/README.Debian
    /usr/share/doc/mysql-server/SSL-MINI-HOWTO.txt.gz
    /usr/share/doc/php4-mysql
    /usr/share/lintian/overrides/mysql-server
    /usr/share/lintian/overrides/php4-mysql
    /usr/share/man/man1/msql2mysql.1.gz
    /usr/share/man/man1/mysql.1.gz
    /usr/share/man/man1/mysqlaccess.1.gz
    /usr/share/man/man1/mysqladmin.1.gz
    /usr/share/man/man1/mysqlbinlog.1.gz
    /usr/share/man/man1/mysqlbug.1.gz
    /usr/share/man/man1/mysqlcheck.1.gz
    /usr/share/man/man1/mysqldump.1.gz
    /usr/share/man/man1/mysqldumpslow.1.gz
    /usr/share/man/man1/mysqld_multi.1.gz
    /usr/share/man/man1/mysqld_safe.1.gz
    /usr/share/man/man1/mysqlhotcopy.1.gz
    /usr/share/man/man1/mysqlimport.1.gz
    /usr/share/man/man1/mysqlmanager-pwgen.1.gz
    /usr/share/man/man1/mysqlmanager.1.gz
    /usr/share/man/man1/mysqlmanagerc.1.gz
    /usr/share/man/man1/mysqlshow.1.gz
    /usr/share/man/man1/mysqltest.1.gz
    /usr/share/man/man1/mysql_convert_table_format.1.gz
    /usr/share/man/man1/mysql_explain_log.1.gz
    /usr/share/man/man1/mysql_find_rows.1.gz
    /usr/share/man/man1/mysql_fix_extensions.1.gz
    /usr/share/man/man1/mysql_fix_privilege_tables.1.gz
    /usr/share/man/man1/mysql_install_db.1.gz
    /usr/share/man/man1/mysql_secure_installation.1.gz
    /usr/share/man/man1/mysql_setpermission.1.gz
    /usr/share/man/man1/mysql_tableinfo.1.gz
    /usr/share/man/man1/mysql_waitpid.1.gz
    /usr/share/man/man1/mysql_zap.1.gz
    /usr/share/man/man3/Bundle:BD::mysql.3pm.gz
    /usr/share/man/man3/DBD::mysql.3pm.gz
    /usr/share/man/man3/DBD::mysql::INSTALL.3pm.gz
    /usr/share/man/man8/mysqld.8.gz
    /usr/share/mysql
    /usr/share/mysql/charsets
    /usr/share/mysql/charsets/cp1251.conf
    /usr/share/mysql/charsets/cp1257.conf
    /usr/share/mysql/charsets/croat.conf
    /usr/share/mysql/charsets/danish.conf
    /usr/share/mysql/charsets/dec8.conf
    /usr/share/mysql/charsets/dos.conf
    /usr/share/mysql/charsets/estonia.conf
    /usr/share/mysql/charsets/german1.conf
    /usr/share/mysql/charsets/greek.conf
    /usr/share/mysql/charsets/hebrew.conf
    /usr/share/mysql/charsets/hp8.conf
    /usr/share/mysql/charsets/hungarian.conf
    /usr/share/mysql/charsets/Index
    /usr/share/mysql/charsets/koi8_ru.conf
    /usr/share/mysql/charsets/koi8_ukr.conf
    /usr/share/mysql/charsets/latin1.conf
    /usr/share/mysql/charsets/latin2.conf
    /usr/share/mysql/charsets/latin5.conf
    /usr/share/mysql/charsets/README
    /usr/share/mysql/charsets/swe7.conf
    /usr/share/mysql/charsets/usa7.conf
    /usr/share/mysql/charsets/win1250.conf
    /usr/share/mysql/charsets/win1251.conf
    /usr/share/mysql/charsets/win1251ukr.conf
    /usr/share/mysql/czech
    /usr/share/mysql/czech/errmsg.sys
    /usr/share/mysql/czech/errmsg.txt
    /usr/share/mysql/danish
    /usr/share/mysql/danish/errmsg.sys
    /usr/share/mysql/danish/errmsg.txt
    /usr/share/mysql/debian-start.inc.sh
    /usr/share/mysql/dutch
    /usr/share/mysql/dutch/errmsg.sys
    /usr/share/mysql/dutch/errmsg.txt
    /usr/share/mysql/echo_stderr
    /usr/share/mysql/english
    /usr/share/mysql/english/errmsg.sys
    /usr/share/mysql/english/errmsg.txt
    /usr/share/mysql/estonian
    /usr/share/mysql/estonian/errmsg.sys
    /usr/share/mysql/estonian/errmsg.txt
    /usr/share/mysql/french
    /usr/share/mysql/french/errmsg.sys
    /usr/share/mysql/french/errmsg.txt
    /usr/share/mysql/german
    /usr/share/mysql/german/errmsg.sys
    /usr/share/mysql/german/errmsg.txt
    /usr/share/mysql/greek
    /usr/share/mysql/greek/errmsg.sys
    /usr/share/mysql/greek/errmsg.txt
    /usr/share/mysql/hungarian
    /usr/share/mysql/hungarian/errmsg.sys
    /usr/share/mysql/hungarian/errmsg.txt
    /usr/share/mysql/italian
    /usr/share/mysql/italian/errmsg.sys
    /usr/share/mysql/italian/errmsg.txt
    /usr/share/mysql/japanese
    /usr/share/mysql/japanese/errmsg.sys
    /usr/share/mysql/japanese/errmsg.txt
    /usr/share/mysql/korean
    /usr/share/mysql/korean/errmsg.sys
    /usr/share/mysql/korean/errmsg.txt
    /usr/share/mysql/norwegian
    /usr/share/mysql/norwegian-ny
    /usr/share/mysql/norwegian-ny/errmsg.sys
    /usr/share/mysql/norwegian-ny/errmsg.txt
    /usr/share/mysql/norwegian/errmsg.sys
    /usr/share/mysql/norwegian/errmsg.txt
    /usr/share/mysql/polish
    /usr/share/mysql/polish/errmsg.sys
    /usr/share/mysql/polish/errmsg.txt
    /usr/share/mysql/portuguese
    /usr/share/mysql/portuguese/errmsg.sys
    /usr/share/mysql/portuguese/errmsg.txt
    /usr/share/mysql/romanian
    /usr/share/mysql/romanian/errmsg.sys
    /usr/share/mysql/romanian/errmsg.txt
    /usr/share/mysql/russian
    /usr/share/mysql/russian/errmsg.sys
    /usr/share/mysql/russian/errmsg.txt
    /usr/share/mysql/slovak
    /usr/share/mysql/slovak/errmsg.sys
    /usr/share/mysql/slovak/errmsg.txt
    /usr/share/mysql/spanish
    /usr/share/mysql/spanish/errmsg.sys
    /usr/share/mysql/spanish/errmsg.txt
    /usr/share/mysql/swedish
    /usr/share/mysql/swedish/errmsg.sys
    /usr/share/mysql/swedish/errmsg.txt
    /usr/share/mysql/ukrainian
    /usr/share/mysql/ukrainian/errmsg.sys
    /usr/share/mysql/ukrainian/errmsg.txt
    /var/cache/mysql
    /var/lib/dpkg/info/libdbd-mysql-perl.list
    /var/lib/dpkg/info/libdbd-mysql-perl.md5sums
    /var/lib/dpkg/info/libmysqlclient12.list
    /var/lib/dpkg/info/libmysqlclient12.md5sums
    /var/lib/dpkg/info/libmysqlclient12.postinst
    /var/lib/dpkg/info/libmysqlclient12.postrm
    /var/lib/dpkg/info/libmysqlclient12.shlibs
    /var/lib/dpkg/info/mysql-client.list
    /var/lib/dpkg/info/mysql-client.md5sums
    /var/lib/dpkg/info/mysql-common.conffiles
    /var/lib/dpkg/info/mysql-common.list
    /var/lib/dpkg/info/mysql-common.md5sums
    /var/lib/dpkg/info/mysql-common.postrm
    /var/lib/dpkg/info/mysql-server.conffiles
    /var/lib/dpkg/info/mysql-server.config
    /var/lib/dpkg/info/mysql-server.list
    /var/lib/dpkg/info/mysql-server.md5sums
    /var/lib/dpkg/info/mysql-server.postinst
    /var/lib/dpkg/info/mysql-server.postrm
    /var/lib/dpkg/info/mysql-server.preinst
    /var/lib/dpkg/info/mysql-server.prerm
    /var/lib/dpkg/info/mysql-server.templates
    /var/lib/dpkg/info/php4-mysql.config
    /var/lib/dpkg/info/php4-mysql.list
    /var/lib/dpkg/info/php4-mysql.md5sums
    /var/lib/dpkg/info/php4-mysql.postinst
    /var/lib/dpkg/info/php4-mysql.postrm
    /var/lib/dpkg/info/php4-mysql.prerm
    /var/lib/dpkg/info/php4-mysql.templates
    /var/lib/mysql
    /var/lib/mysql/ibdata1
    /var/lib/mysql/ib_arch_log_0000000000
    /var/lib/mysql/ib_logfile0
    /var/lib/mysql/ib_logfile1
    /var/lib/mysql/mysql
    /var/lib/mysql/mysql/columns_priv.frm
    /var/lib/mysql/mysql/columns_priv.MYD
    /var/lib/mysql/mysql/columns_priv.MYI
    /var/lib/mysql/mysql/db.frm
    /var/lib/mysql/mysql/db.MYD
    /var/lib/mysql/mysql/db.MYI
    /var/lib/mysql/mysql/func.frm
    /var/lib/mysql/mysql/func.MYD
    /var/lib/mysql/mysql/func.MYI
    /var/lib/mysql/mysql/host.frm
    /var/lib/mysql/mysql/host.MYD
    /var/lib/mysql/mysql/host.MYI
    /var/lib/mysql/mysql/tables_priv.frm
    /var/lib/mysql/mysql/tables_priv.MYD
    /var/lib/mysql/mysql/tables_priv.MYI
    /var/lib/mysql/mysql/user.frm
    /var/lib/mysql/mysql/user.MYD
    /var/lib/mysql/mysql/user.MYI
    /var/lib/mysql/mysql/user_info.frm
    /var/lib/mysql/mysql/user_info.MYD
    /var/lib/mysql/mysql/user_info.MYI
    /var/lib/mysql/ra231
    /var/lib/mysql/test
    /var/log/mysql
    /var/log/mysql.err
    /var/log/mysql.log
    /var/run/mysqld
    /var/run/mysqld/mysqld.pid
    /var/run/mysqld/mysqld.sock

    I think its all that I have about mysql, do u know what files I need to install?
    and so sorry for my ingnorance T___T

  8. #8
    Blackfooted Penguin daark.child's Avatar
    Join Date
    Apr 2006
    Location
    West Yorks
    Posts
    4,344
    Quote Originally Posted by daark.child View Post
    If its a problem with mysql, then you probably need to install the mysql development package which is usually called mysql-devel or mysql-dev.
    As you can see from this quote, I already provided a solution to your problem a few days ago. mysql.h is provided by the mysql development files which are not usually installed by default.

  9. #9
    Just Joined!
    Join Date
    Sep 2007
    Posts
    10
    Hello friend

    i think that u are rigth, i can solve the problem, i needed the library and headers package, i show all steps by the solution:

    1.-Downloaded 2 packages from Debian -- List of sections in "sarge"
    the names are:
    libmysqlclient10_3.23.56-3_arm.deb <--- have the libraries
    libmysqlclient10-dev_3.23.56-3_arm.deb <--- have the headers (mysql.h)

    2.- ill upload the 2 packages in my arm board

    3.-then in my arm board i needed to install this packages, i used:
    dpkg -i libmysqlclient10_3.23.56-3_arm.deb
    dpkg -i libmysqlclient10-dev_3.23.56-3_arm.deb

    4.- with this packages installed i can compiling my programs in C with functions of mysql, i compiling:
    arm-linux-gcc -I/usr/include/mysql -L/usr/lib program.c -o program -lm -lmysqlclient

    5.- run the program:
    ./program

    well its all that i needed do, i want to say, thanks so much for your help dark.child, i hope that this information can help to other persons

    ty to all man

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
...