Enviar Respuesta  Enviar Tema 
arm-linux-gcc y libmysqlclient (solucionado)
Autor Mensaje
Snoopydog
Usuario PL


Mensajes: 27
Grupo: Registrado
Registro en: Jun 2007
Estado: Sin Conexión
Reputación: 0
Mensaje: #1
arm-linux-gcc y libmysqlclient (solucionado)

Buenas tardes tengan todos

Disculpen que los moleste pero aqui llego con otro problema relacionado con el gcc y mysql, el problema es que trato de hacer un programa en C que me conecte a una base de datos de mysql, pero al compilar:

root@linux$ arm-linux-gcc -Wall -o prog programa.c

o

root@linux$ arm-linux-gcc-3.3 -Wall -o prog programa.c

me marca errores de que no encuentra la libreria de mysql.h i las funciones no se han declarado, por tal motivo no se termina de compilar y no se crea el ejecutable, he estado investigando y posiblemente al instalar gcc no instale las librerias de mysql, entonces queria saber si pueden orientarme a como reinstalar el gcc con librerias de mysql o solo las librerias ?

yo trabajo con Debian sarge 3.1 y la version de gcc 3.3.5 y mysql 4.0.24

gracias por la atencion 1-smile

09-26-2007 02:44 PM
Encuentra todos los mensajes de este usuario Cita este mensaje en tu respuesta
p_eter
Chaos Manager
*******
Administrador

Mensajes: 4,062
Grupo: Administrador
Registro en: Jun 2005
Estado: Sin Conexión
Reputación: 11
Mensaje: #2
RE: Problemas con gcc y programas en C

Puedes verificar si tienes la biblioteca embebida del servidor, que está en el archivo libmysqld.a, y se incluye en el directorio lib de una instalación estándar de MySQL. Si la instalación se realizó en el directorio /usr/local/mysql, la biblioteca embebida se encuentra en /usr/local/mysql/lib


09-26-2007 03:30 PM
Visita el website del usuario Encuentra todos los mensajes de este usuario Cita este mensaje en tu respuesta
Snoopydog
Usuario PL


Mensajes: 27
Grupo: Registrado
Registro en: Jun 2007
Estado: Sin Conexión
Reputación: 0
Mensaje: #3
RE: Problemas con gcc y programas en C

Hola p_eter

Bueno ya busque esa direccion pero no tengo la carpeta de mysql, la busque en /usr/local pero no se encunetra, supongo que no tengo instalado la libreria de mysql cierto??, entonces como podría instalarlo?

09-26-2007 03:45 PM
Encuentra todos los mensajes de este usuario Cita este mensaje en tu respuesta
p_eter
Chaos Manager
*******
Administrador

Mensajes: 4,062
Grupo: Administrador
Registro en: Jun 2005
Estado: Sin Conexión
Reputación: 11
Mensaje: #4
RE: Problemas con gcc y programas en C

Quizás no esté en /usr/local , fíjate en /usr/lib/mysql/
si instalaste mysql en algun lado debe estar esa carpeta ..
Instalaste el lado cliente y servidor del mysql, si?
Recomiendan aptitude o synaptic para iniciarse en el manejo de paquetes en debian.


09-26-2007 04:40 PM
Visita el website del usuario Encuentra todos los mensajes de este usuario Cita este mensaje en tu respuesta
german
Moderador
*****
Moderadores

Mensajes: 224
Grupo: Moderadores
Registro en: Apr 2006
Estado: Sin Conexión
Reputación: 3
Mensaje: #5
RE: Problemas con gcc y programas en C

Estás compilando para ARM?(?) Tenés que instalar los include además, deben estar en el repositorio, creo que el paquete es libmysqlclient-dev. Los archivos *.h te los pone en /usr/include y ahí buscar por defecto el compilador.

09-26-2007 05:49 PM
Visita el website del usuario Encuentra todos los mensajes de este usuario Cita este mensaje en tu respuesta
Snoopydog
Usuario PL


Mensajes: 27
Grupo: Registrado
Registro en: Jun 2007
Estado: Sin Conexión
Reputación: 0
Mensaje: #6
RE: Problemas con gcc y programas en C

Hola de nuevo 1-razz

si compilo con arm-linux-gcc
p_eter, encontre una carpeta en la direccion /usr/share/mysql la que contiene otras carpetas con nombres de lenguas como english,japanese, etc, y encontre unas librerias parecidas a las que dijo german, las describo a continuacion:

en la direccion: /usr/lib

libmysqlclient.so.12@
libmysqlclient.so.12.0.0
libmysqlclient_r.so.12@
libmysqlclient_r.so.12.0.0

nose si eso sea lo que falte de instalar, o si eso tenga las cabeceras .h del mysql pero en librerias de mysql es lo que encontre con el locate, tampoco conozco que tipo de archivos son los .so, creen que deba instalar esos archivos? si es asi como lo hago?

gracias y disculpen la ignorancia U_U...

09-26-2007 08:47 PM
Encuentra todos los mensajes de este usuario Cita este mensaje en tu respuesta
Snoopydog
Usuario PL


Mensajes: 27
Grupo: Registrado
Registro en: Jun 2007
Estado: Sin Conexión
Reputación: 0
Mensaje: #7
RE: Problemas con gcc y programas en C

Hola
bueno aqui les muestro el error que me marca al compilar mis programas, espero que se entienda u poco mas:
el programa en C es:
#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 = "root"; // 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, "%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);
}

y compilo como:
arm-linux-gcc -Wall -o prog program.c

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'

muchas gracias por la ayuda 1-smile

09-27-2007 12:54 PM
Encuentra todos los mensajes de este usuario Cita este mensaje en tu respuesta
p_eter
Chaos Manager
*******
Administrador

Mensajes: 4,062
Grupo: Administrador
Registro en: Jun 2005
Estado: Sin Conexión
Reputación: 11
Mensaje: #8
RE: Problemas con gcc y programas en C

Por favor, prueba

gcc programa.c -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient -o prog

Cambiando si es necesario la ubicación de Librerias e Include
Habias señalado que a las librerias ya las habias localizado, quedaría tal como dijo german las cabeceras. Deben estar en /usr/include/mysql . Ante la duda, te bastará con un
locate mysql.h

Si no está, instalas mysql-devel
creo que en sarge es libmysqlclient10-dev

Cuenta como te fué,
saludos


09-28-2007 12:16 AM
Visita el website del usuario Encuentra todos los mensajes de este usuario Cita este mensaje en tu respuesta
Snoopydog
Usuario PL


Mensajes: 27
Grupo: Registrado
Registro en: Jun 2007
Estado: Sin Conexión
Reputación: 0
Mensaje: #9
RE: Problemas con gcc y programas en C

hola amigos

bueno aqui vengo con buenas nuevas, por fin se pudo resolver el porblema hace unos minutos, enseguida les muestro paso a paso lo que hice, era necesario descargar tanto las librerias como los headers:

1.-Primero descargue los paquetes de librerias y cabeceras de la pagina de http://packages.debian.org/sarge/
los nombres son:
libmysqlclient10_3.23.56-3_arm.deb <--- esta contiene las librerias
libmysqlclient10-dev_3.23.56-3_arm.deb <--- este contiene las cabeceras (mysql.h)

2.-Después subi los paquetes a mi tarjeta arm

3.- despues tuve que instalarlos:
dpkg -i libmysqlclient10_3.23.56-3_arm.deb
dpkg -i libmysqlclient10-dev_3.23.56-3_arm.deb

4.- al tener instalados los paquetes ya es psible compilar programas de la siguiente forma:
arm-linux-gcc -I/usr/include/mysql -L/usr/lib programa.c -o prog -lm -lmysqlclient

esas son las direcciones donde me insatlo tanto las librerias como las cabeceras

5.- finalmente solo queda ejecutar el programa
./prog

y listo!!, les dejo los pasos para que puedan ayudar a otras personas que tengan el mismo problema, cabe notar que esto funciona en Debian sarge, si fuese otro derivado de debian creo ke es necesario bajar los packetes de esa distribucion.
solo me keda agradecerles por su ayuda ya que sin ella no lo hubiera logrado, espero verlos pronto con otros problemas
muchas gracias 1-grin
el problema ha sido resuelto.

09-28-2007 08:41 PM
Encuentra todos los mensajes de este usuario Cita este mensaje en tu respuesta
p_eter
Chaos Manager
*******
Administrador

Mensajes: 4,062
Grupo: Administrador
Registro en: Jun 2005
Estado: Sin Conexión
Reputación: 11
Mensaje: #10
RE: Problemas con gcc y programas en C

Genial! cada uno puso su granito y salió Ok.
Seguro que resulta útil, dependiendo la distro van a cambiar nombre y forma de instalar los paquetes, pero los conceptos son los mismos.
Te invito a seguir colaborando, sea con preguntas, opiniones o sugerencias, todo sirve para que la comunidad crezca y se fortalezca.
Felicitaciones!


09-29-2007 12:03 AM
Visita el website del usuario Encuentra todos los mensajes de este usuario Cita este mensaje en tu respuesta
Enviar Respuesta  Enviar Tema 

Ver la Versión para Impresión
Mandar este Tema a algún Amigo
Subscríbete a este Tema | Agrega este Tema a Tus Favoritos

Salto de Foro: