Hi everyone. I have been trying to write a simple c program to access a local mySQL database (with the help of David Logan). With the following code I am getting the error ...
Bus Error (core dumped) ... when I run my compiled program 'test'. [code] int main(char **args) { MYSQL_RES *result; MYSQL_ROW row; MYSQL *connection, mysql; int state; mysql_init(&mysql); connection = mysql_real_connect(&mysql, "localhost", "username", "password", "mydb", 0, NULL, 0); /* check for a connection error */ if( connection == NULL ) { printf(mysql_error(&mysql)); return 1; } else { printf("Everything Cool with the connection\n"); } state = mysql_query(connection, "SELECT * from mytable"); if( state ) { printf(mysql_error(connection)); return 1; } else { printf("Everything Cool with the query\n"); } mysql_close(connection); printf("Done.\n"); } [/code] The actual output is ... Everything Cool with the connection Everything Cool with the query Bus Error (core dumped) The 'Bus Error' I have Googled for but can't find a resolution. Any ideas? Thanks again.. Andy On Tue, 2005-01-11 at 12:05 +0000, Andy Ford wrote: > Got it ... > > Thanks David > > >gcc -m64 test.c -L/usr/local/mysql/lib -lmysqlclient -lsocket -lnsl -lm > -o test > > .. seemed to work > > I get a 'Bus Error (core dumped)' when I run it - but that's a problem > with the code!! > > Thanks > > Andy > > On Tue, 2005-01-11 at 22:23 +1100, Logan, David (SST - Adelaide) wrote: > > Hi Andy, > > > > I resolved the problem by reinstalling a 32bit version of mysql and the > > DBI worked fine after that. Looks like you are missing a library or 2, > > try nsl and socket. I think they have all the routines that you need to > > link against. > > > > You may also need an include or 2. All the routines have man pages that > > reference the libraries and includes required. > > > > Regards > > > > David Logan > > Database Administrator > > HP Managed Services > > 148 Frome Street, > > Adelaide 5000 > > Australia > > > > +61 8 8408 4273 - Work > > +61 417 268 665 - Mobile > > +61 8 8408 4259 - Fax > > > > > > -----Original Message----- > > From: Andy Ford [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, 11 January 2005 9:37 PM > > To: Logan, David (SST - Adelaide) > > Cc: mysql@lists.mysql.com > > Subject: RE: compilation errors in mySQL C app > > > > Hi David > > > > Yes it is something like you say... > > > > >file /usr/local/bin/gcc > > /usr/local/bin/gcc: ELF 32-bit MSB executable SPARC Version 1, > > dynamically linked, not stripped > > > > >file /usr/local/bin/g++ > > /usr/local/bin/gcc: ELF 32-bit MSB executable SPARC Version 1, > > dynamically linked, not stripped > > > > >isainfo -kv > > 64-bit sparcv9 kernel modules > > > > I got rid of the ELF issue with the -m64 option but still get the > > following errors... > > > > > gcc -m64 test.c -L/usr/local/mysql/lib -lmysqlclient -o test > > > > Undefined first referenced > > symbol in file > > getpeername > > /usr/local/mysql/lib/libmysqlclient.a(viosocket.o) > > floor > > /usr/local/mysql/lib/libmysqlclient.a(password.o) > > socket > > /usr/local/mysql/lib/libmysqlclient.a(client.o) > > gethostbyname_r > > /usr/local/mysql/lib/libmysqlclient.a(client.o) > > setsockopt > > /usr/local/mysql/lib/libmysqlclient.a(viosocket.o) > > getservbyname > > /usr/local/mysql/lib/libmysqlclient.a(libmysql.o) > > connect > > /usr/local/mysql/lib/libmysqlclient.a(client.o) > > shutdown > > /usr/local/mysql/lib/libmysqlclient.a(viosocket.o) > > inet_ntoa > > /usr/local/mysql/lib/libmysqlclient.a(my_net.o) > > inet_addr > > /usr/local/mysql/lib/libmysqlclient.a(client.o) > > ld: fatal: Symbol referencing errors. No output written to test2 > > collect2: ld returned 1 exit status > > > > Getting there slowly > > > > Thanks > > > > Andy > > > > On Tue, 2005-01-11 at 21:42 +1100, Logan, David (SST - Adelaide) wrote: > > > Hi Andy, > > > > > > Are you using a 64bit option to compile your program (I can't remember > > > the option on gcc -m64 I think)? Looks like a 64bit mysql library > > trying > > > to talk to a 32 bit program. I'm no expert but I had similar problems > > > when I put a 64bit mysql on one of my Solaris boxen and tried to talk > > > with a 32 bit perl implementation. > > > > > > Regards > > > > > > > > > David Logan > > > Database Administrator > > > HP Managed Services > > > 148 Frome Street, > > > Adelaide 5000 > > > Australia > > > > > > +61 8 8408 4273 - Work > > > +61 417 268 665 - Mobile > > > +61 8 8408 4259 - Fax > > > > > > > > > -----Original Message----- > > > From: Andy Ford [mailto:[EMAIL PROTECTED] > > > Sent: Tuesday, 11 January 2005 8:59 PM > > > To: mysql@lists.mysql.com > > > Subject: compilation errors in mySQL C app > > > > > > Hi everyone > > > > > > I am trying to compile a simple C program to connect to a mySQL > > database > > > (on localhost) and run a simple query. > > > > > > I am getting the following errors... > > > > > > >gcc test.c -L/usr/local/mysql/lib -lmysqlclient -o test > > > > > > ld: warning: file /usr/local/mysql/lib/libmysqlclient.a(libmysql.o): > > > wrong ELF class: ELFCLASS64 > > > Undefined first referenced > > > symbol in file > > > mysql_query /var/tmp//ccpHcO9u.o > > > mysql_init /var/tmp//ccpHcO9u.o > > > mysql_close /var/tmp//ccpHcO9u.o > > > mysql_free_result /var/tmp//ccpHcO9u.o > > > mysql_num_rows /var/tmp//ccpHcO9u.o > > > mysql_error /var/tmp//ccpHcO9u.o > > > mysql_store_result /var/tmp//ccpHcO9u.o > > > mysql_real_connect /var/tmp//ccpHcO9u.o > > > mysql_fetch_row /var/tmp//ccpHcO9u.o > > > > > > ld: fatal: Symbol referencing errors. No output written to test2 > > > collect2: ld returned 1 exit status > > > > > > Any ideas how I can fix these? > > > > > > Thanks > > > > > > Andy > > > -- > > > perl -e "print qq^bIG VeRN ! ^^qq^#'#Yv#=<D+ ^" > > > > > > This e-mail is private and may be confidential and is for the intended > > > recipient only. If misdirected, please notify us by telephone and > > > confirm that it has been deleted from your system and any copies > > > destroyed. If you are not the intended recipient you are strictly > > > prohibited from using, printing, copying, distributing or > > disseminating > > > this e-mail or any information contained in it. We use reasonable > > > endeavours to virus scan all e-mails leaving the Company but no > > warranty > > > is given that this e-mail and any attachments are virus free. You > > > should undertake your own virus checking. The right to monitor e-mail > > > communications through our network is reserved by us. > > > > > > > > > > -- > perl -e "print qq^bIG VeRN ! ^^qq^#'#Yv#=<D+ ^" > -- perl -e "print qq^bIG VeRN ! ^^qq^#'#Yv#=<D+ ^" -- perl -e "print qq^bIG VeRN ! ^^qq^#'#Yv#=<D+ ^" -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]