I am trying to create a simple MySQL client program in C. I'm getting a
runtime "segmentation fault" error. I could not figure out why. Please,
help!
____
Here is gdb diagnostic:
(command: gdb programname core)
Program terminated with signal 11, Segmentation fault.
find_solib: Can't read pathname for load map: Input/output error
#0 0x8049f4d in mysql_real_connect ()
____
Here is the relevant part of my program:
#include <stdio.h>
#include "mysql.h"
int main(){
MYSQL *mysql; /*server handle*/
char *host = "localhost"; /*hostname or an IP address*/
char *user = "guest"; /*user ID*/
char *passwd = NULL; /*password*/
char *db = "dom_base"; /*database name*/
unsigned int port = 0; /*TCP-IP port*/
char *unix_socket = "/tmp/mysql.sock"; /*UNIX socket for mysql
connection*/
unsigned int client_flag = 0;
char *query;
MYSQL_RES *result;
MYSQL_ROW row;
char *id, *method; /*pdb table field values*/
float resoln, r; /*pdb table field values*/
if(mysql_init(mysql)==NULL){ /*initialize server handle*/
printf("mysql_init failed\n");
return 1;
}
if(mysql_real_connect(mysql, host, user, passwd, db, port,
unix_socket, client_flag)==NULL){
(at this statement, program crushes)
___
My compilation command:
gcc -o first first.c -L/export/genie11/yury/mysql/lib -lmysqlclient
-I/export/genie11/yury/mysql/include -W -Wall -g
(exits normally with no warnings)
____
I am working on Linux - intel 686. I have installed MySQL binary
distribution for Linux: mysql-3.22.20a-pc-linux-gnu-i686.