Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

C & mysql : erreur compilation et fichiers qui clignotent en rouge

4 réponses
Avatar
dibzou
Bonjour,

J'ai 2 ptits problèmes, je veux connecter la base mysql en utilisant
le C.
j'ai installé le package mysql-devel pour récupérer mysql.h.
Lorsque je compile, j'ai une erreur(voir en dessous).
De plus, dans "/usr/lib/mysql/", j'ai 2 fichiers qui clignotent en
rouge,
libmysqlclient_r.so@ et libmysqlclient.so@ : je pense que c'est parce
que ces fichiers rentrent en conflit avec ceux qui se trouvent dans
"/usr/lib/".


[dibzou@localhost dibzou]$ gcc -Wall testsql.c -o sql -L/usr/lib/mysql
-lmysqlclient
testsql.c:4: warning: return type of 'main' is not `int'
testsql.c: In function `main':
testsql.c:21: warning: implicit declaration of function `strlen'
testsql.c:38:2: warning: no newline at end of file
/usr/lib/mysql/libmysqlclient.a(my_compress.o)(.text+0xbd): In
function `my_compress_alloc':
: undefined reference to `compress'
/usr/lib/mysql/libmysqlclient.a(my_compress.o)(.text+0x13a): In
function `my_uncompress':
: undefined reference to `uncompress'
collect2: ld returned 1 exit status
[dibzou@localhost dibzou]$ ls /usr/lib/mysql/
libdbug.a libmyisam.a libmysqlclient_r.a libmystrings.a
mysqld.sym
libheap.a libmyisammrg.a libmysqlclient_r.so@ libmysys.a
libmerge.a libmysqlclient.a libmysqlclient.so@ libnisam.a
[dibzou@localhost dibzou]$ find /usr/ -name "libmysqlclient*.*"
/usr/lib/libmysqlclient.so.12.0.0
/usr/lib/libmysqlclient.so.12
/usr/lib/libmysqlclient_r.so.12.0.0
/usr/lib/libmysqlclient_r.so.12
/usr/lib/mysql/libmysqlclient.a
/usr/lib/mysql/libmysqlclient.so
/usr/lib/mysql/libmysqlclient_r.a
/usr/lib/mysql/libmysqlclient_r.so


Si vous pouvez m'indiquer comment faire pour que cela compile bien et
pour rétablir de l'ordre dans le système. Merci pour votre aide.

DibZou.

4 réponses

Avatar
nicolas
Le Thu, 10 Mar 2005 06:32:23 -0800, dibzou nous exposa quelques reflexions
personnelles :

Bonjour,

J'ai 2 ptits problèmes, je veux connecter la base mysql en utilisant
le C.
j'ai installé le package mysql-devel pour récupérer mysql.h.
Lorsque je compile, j'ai une erreur(voir en dessous).
De plus, dans "/usr/lib/mysql/", j'ai 2 fichiers qui clignotent en
rouge,
libmysqlclient_r.so@ et libmysqlclient.so@ : je pense que c'est parce
que ces fichiers rentrent en conflit avec ceux qui se trouvent dans
"/usr/lib/".



Il me semble que les fichiers qui clignotent en rouge sont des liens vers
des fichiers inexistants

N'as tu pas fait un mélange d'installation de rpm et de fichiers
d'origine mysql ? Si c'est le cas, il vaut mieux retirer les install de
fichiers originaux de mysql, et n'installer que les rpms.

[ dibzou]$ gcc -Wall testsql.c -o sql -L/usr/lib/mysql
-lmysqlclient
testsql.c:4: warning: return type of 'main' is not `int' testsql.c: In
function `main':
testsql.c:21: warning: implicit declaration of function `strlen'
testsql.c:38:2: warning: no newline at end of file
/usr/lib/mysql/libmysqlclient.a(my_compress.o)(.text+0xbd): In function
`my_compress_alloc':
: undefined reference to `compress'
/usr/lib/mysql/libmysqlclient.a(my_compress.o)(.text+0x13a): In function
`my_uncompress':
: undefined reference to `uncompress'
collect2: ld returned 1 exit status
[ dibzou]$ ls /usr/lib/mysql/ libdbug.a libmyisam.a
libmysqlclient_r.a libmystrings.a mysqld.sym
libheap.a libmyisammrg.a libmysqlclient_r.so@ libmysys.a
libmerge.a libmysqlclient.a libmysqlclient.so@ libnisam.a
[ dibzou]$ find /usr/ -name "libmysqlclient*.*"
/usr/lib/libmysqlclient.so.12.0.0
/usr/lib/libmysqlclient.so.12
/usr/lib/libmysqlclient_r.so.12.0.0
/usr/lib/libmysqlclient_r.so.12
/usr/lib/mysql/libmysqlclient.a
/usr/lib/mysql/libmysqlclient.so
/usr/lib/mysql/libmysqlclient_r.a
/usr/lib/mysql/libmysqlclient_r.so


Si vous pouvez m'indiquer comment faire pour que cela compile bien et
pour rétablir de l'ordre dans le système. Merci pour votre aide.

DibZou.


Avatar
dibzou
nicolas wrote in message news:...
Le Thu, 10 Mar 2005 06:32:23 -0800, dibzou nous exposa quelques reflexions
personnelles :

> Bonjour,
>
> J'ai 2 ptits problèmes, je veux connecter la base mysql en utilisant
> le C.
> j'ai installé le package mysql-devel pour récupérer mysql.h.
> Lorsque je compile, j'ai une erreur(voir en dessous).
> De plus, dans "/usr/lib/mysql/", j'ai 2 fichiers qui clignotent en
> rouge,
> libmysqlclient_r.so@ et libmysqlclient.so@ : je pense que c'est parce
> que ces fichiers rentrent en conflit avec ceux qui se trouvent dans
> "/usr/lib/".
>
Il me semble que les fichiers qui clignotent en rouge sont des liens vers
des fichiers inexistants

N'as tu pas fait un mélange d'installation de rpm et de fichiers
d'origine mysql ? Si c'est le cas, il vaut mieux retirer les install de
fichiers originaux de mysql, et n'installer que les rpms.



J'ai fait un urpme mysql , ensuite j'installe les packages individuels
concernant mysql, et j'ai toujours un message d'erreur qui me dit
qu'un packet est non satisfait:

[ rpm_new]# urpmi MySQL50-5.0.2-0.3mdk.i586.rpm
Certains paquetages demandés ne peuvent pas être installés :
MySQL50-5.0.2-0.3mdk.i586 (car MySQL50-common[*][== 5.0.2-0.3mdk]
est non satisfait)
continuer ? (O/n) O
[ rpm_new]# urpmi
MySQL50-common-5.0.2-0.3mdk.i586.rpm
Certains paquetages demandés ne peuvent pas être installés :
MySQL50-common-5.0.2-0.3mdk.i586 (car MySQL50-client est non
satisfait)
continuer ? (O/n) O
[ rpm_new]# urpmi
MySQL50-client-5.0.2-0.3mdk.i586.rpm
Certains paquetages demandés ne peuvent pas être installés :
MySQL50-client-5.0.2-0.3mdk.i586 (car libreadline.so.5 est non
satisfait)
continuer ? (O/n) O


Ca commence à m'énerver, je sais toujours pas les bonnes manips qu'il
faut faire pour installer correctement une bonne fois pour toute,
Mysql et les packages nécessaires pour avoir une connection entre
mysql et le C.
Une grande aide de votre part me serait très utile. Merci.

DibZou.



> [ dibzou]$ gcc -Wall testsql.c -o sql -L/usr/lib/mysql
> -lmysqlclient
> testsql.c:4: warning: return type of 'main' is not `int' testsql.c: In
> function `main':
> testsql.c:21: warning: implicit declaration of function `strlen'
> testsql.c:38:2: warning: no newline at end of file
> /usr/lib/mysql/libmysqlclient.a(my_compress.o)(.text+0xbd): In function
> `my_compress_alloc':
> : undefined reference to `compress'
> /usr/lib/mysql/libmysqlclient.a(my_compress.o)(.text+0x13a): In function
> `my_uncompress':
> : undefined reference to `uncompress'
> collect2: ld returned 1 exit status
> [ dibzou]$ ls /usr/lib/mysql/ libdbug.a libmyisam.a
> libmysqlclient_r.a libmystrings.a mysqld.sym
> libheap.a libmyisammrg.a libmysqlclient_r.so@ libmysys.a
> libmerge.a libmysqlclient.a libmysqlclient.so@ libnisam.a
> [ dibzou]$ find /usr/ -name "libmysqlclient*.*"
> /usr/lib/libmysqlclient.so.12.0.0
> /usr/lib/libmysqlclient.so.12
> /usr/lib/libmysqlclient_r.so.12.0.0
> /usr/lib/libmysqlclient_r.so.12
> /usr/lib/mysql/libmysqlclient.a
> /usr/lib/mysql/libmysqlclient.so
> /usr/lib/mysql/libmysqlclient_r.a
> /usr/lib/mysql/libmysqlclient_r.so
>
>
> Si vous pouvez m'indiquer comment faire pour que cela compile bien et
> pour rétablir de l'ordre dans le système. Merci pour votre aide.
>
> DibZou.


Avatar
nicolas
Le Sun, 13 Mar 2005 15:22:36 -0800, dibzou nous exposa quelques reflexions
personnelles :

nicolas wrote in message news:...
Le Thu, 10 Mar 2005 06:32:23 -0800, dibzou nous exposa quelques reflexions
personnelles :

> Bonjour,
>
> J'ai 2 ptits problèmes, je veux connecter la base mysql en utilisant
> le C.
> j'ai installé le package mysql-devel pour récupérer mysql.h.
> Lorsque je compile, j'ai une erreur(voir en dessous).
> De plus, dans "/usr/lib/mysql/", j'ai 2 fichiers qui clignotent en
> rouge,
> libmysqlclient_r.so@ et libmysqlclient.so@ : je pense que c'est parce
> que ces fichiers rentrent en conflit avec ceux qui se trouvent dans
> "/usr/lib/".
>
Il me semble que les fichiers qui clignotent en rouge sont des liens vers
des fichiers inexistants

N'as tu pas fait un mélange d'installation de rpm et de fichiers
d'origine mysql ? Si c'est le cas, il vaut mieux retirer les install de
fichiers originaux de mysql, et n'installer que les rpms.



J'ai fait un urpme mysql , ensuite j'installe les packages individuels
concernant mysql, et j'ai toujours un message d'erreur qui me dit
qu'un packet est non satisfait:

[ rpm_new]# urpmi MySQL50-5.0.2-0.3mdk.i586.rpm
Certains paquetages demandés ne peuvent pas être installés :
MySQL50-5.0.2-0.3mdk.i586 (car MySQL50-common[*][== 5.0.2-0.3mdk]
est non satisfait)
continuer ? (O/n) O
[ rpm_new]# urpmi
MySQL50-common-5.0.2-0.3mdk.i586.rpm
Certains paquetages demandés ne peuvent pas être installés :
MySQL50-common-5.0.2-0.3mdk.i586 (car MySQL50-client est non
satisfait)
continuer ? (O/n) O
[ rpm_new]# urpmi
MySQL50-client-5.0.2-0.3mdk.i586.rpm
Certains paquetages demandés ne peuvent pas être installés :
MySQL50-client-5.0.2-0.3mdk.i586 (car libreadline.so.5 est non
satisfait)
continuer ? (O/n) O


Ca commence à m'énerver, je sais toujours pas les bonnes manips qu'il
faut faire pour installer correctement une bonne fois pour toute,
Mysql et les packages nécessaires pour avoir une connection entre
mysql et le C.
Une grande aide de votre part me serait très utile. Merci.

DibZou.



Pas de panique.
La version MySQL50 n'est apparement disponible que sur la mdk 10.2
Vouloir l'installer sur une 10.1 va t'entrainer dans une gymnastique de
mise à jour kafkaienne, avec au final, le risque de te retrouver avec un
système bancal.
Pourquoi ne pas installer MySQL41 ou la MySQL-4.0.20-3.2.101mdk, qui
elles sont adaptées aux lib de la 10.1 ? Elle sont dispo en paquetages
sur easyurpmi.



> [ dibzou]$ gcc -Wall testsql.c -o sql
> -L/usr/lib/mysql -lmysqlclient
> testsql.c:4: warning: return type of 'main' is not `int' testsql.c:
> In function `main':
> testsql.c:21: warning: implicit declaration of function `strlen'
> testsql.c:38:2: warning: no newline at end of file
> /usr/lib/mysql/libmysqlclient.a(my_compress.o)(.text+0xbd): In
> function `my_compress_alloc':
> : undefined reference to `compress'
> /usr/lib/mysql/libmysqlclient.a(my_compress.o)(.text+0x13a): In
> function `my_uncompress':
> : undefined reference to `uncompress'
> collect2: ld returned 1 exit status
> [ dibzou]$ ls /usr/lib/mysql/ libdbug.a libmyisam.a
> libmysqlclient_r.a libmystrings.a mysqld.sym
> libheap.a libmyisammrg.a libmysqlclient_r.so@ libmysys.a
> libmerge.a libmysqlclient.a libmysqlclient.so@ libnisam.a
> [ dibzou]$ find /usr/ -name "libmysqlclient*.*"
> /usr/lib/libmysqlclient.so.12.0.0
> /usr/lib/libmysqlclient.so.12
> /usr/lib/libmysqlclient_r.so.12.0.0
> /usr/lib/libmysqlclient_r.so.12
> /usr/lib/mysql/libmysqlclient.a
> /usr/lib/mysql/libmysqlclient.so
> /usr/lib/mysql/libmysqlclient_r.a
> /usr/lib/mysql/libmysqlclient_r.so
>
>
> Si vous pouvez m'indiquer comment faire pour que cela compile bien et
> pour rétablir de l'ordre dans le système. Merci pour votre aide.
>
> DibZou.




Avatar
dibzou
nicolas wrote in message news:...
Le Sun, 13 Mar 2005 15:22:36 -0800, dibzou nous exposa quelques reflexions
personnelles :

> nicolas wrote in message news:...
>> Le Thu, 10 Mar 2005 06:32:23 -0800, dibzou nous exposa quelques reflexions
>> personnelles :
>>
>> > Bonjour,
>> >
>> > J'ai 2 ptits problèmes, je veux connecter la base mysql en utilisant
>> > le C.
>> > j'ai installé le package mysql-devel pour récupérer mysql.h.
>> > Lorsque je compile, j'ai une erreur(voir en dessous).
>> > De plus, dans "/usr/lib/mysql/", j'ai 2 fichiers qui clignotent en
>> > rouge,
>> > libmysqlclient_r.so@ et libmysqlclient.so@ : je pense que c'est parce
>> > que ces fichiers rentrent en conflit avec ceux qui se trouvent dans
>> > "/usr/lib/".
>> >
>> Il me semble que les fichiers qui clignotent en rouge sont des liens vers
>> des fichiers inexistants
>>
>> N'as tu pas fait un mélange d'installation de rpm et de fichiers
>> d'origine mysql ? Si c'est le cas, il vaut mieux retirer les install de
>> fichiers originaux de mysql, et n'installer que les rpms.
>
> J'ai fait un urpme mysql , ensuite j'installe les packages individuels
> concernant mysql, et j'ai toujours un message d'erreur qui me dit
> qu'un packet est non satisfait:
>
> [ rpm_new]# urpmi MySQL50-5.0.2-0.3mdk.i586.rpm
> Certains paquetages demandés ne peuvent pas être installés :
> MySQL50-5.0.2-0.3mdk.i586 (car MySQL50-common[*][== 5.0.2-0.3mdk]
> est non satisfait)
> continuer ? (O/n) O
> [ rpm_new]# urpmi
> MySQL50-common-5.0.2-0.3mdk.i586.rpm
> Certains paquetages demandés ne peuvent pas être installés :
> MySQL50-common-5.0.2-0.3mdk.i586 (car MySQL50-client est non
> satisfait)
> continuer ? (O/n) O
> [ rpm_new]# urpmi
> MySQL50-client-5.0.2-0.3mdk.i586.rpm
> Certains paquetages demandés ne peuvent pas être installés :
> MySQL50-client-5.0.2-0.3mdk.i586 (car libreadline.so.5 est non
> satisfait)
> continuer ? (O/n) O
>
>
> Ca commence à m'énerver, je sais toujours pas les bonnes manips qu'il
> faut faire pour installer correctement une bonne fois pour toute,
> Mysql et les packages nécessaires pour avoir une connection entre
> mysql et le C.
> Une grande aide de votre part me serait très utile. Merci.
>
> DibZou.
>
Pas de panique.
La version MySQL50 n'est apparement disponible que sur la mdk 10.2
Vouloir l'installer sur une 10.1 va t'entrainer dans une gymnastique de
mise à jour kafkaienne, avec au final, le risque de te retrouver avec un
système bancal.
Pourquoi ne pas installer MySQL41 ou la MySQL-4.0.20-3.2.101mdk, qui
elles sont adaptées aux lib de la 10.1 ? Elle sont dispo en paquetages
sur easyurpmi.




Il faut compléter les packages Mysql en récupérant les packages suivants:
zlib1-1.2.1.1-3mdk.i586.rpm
zlib1-devel-1.2.1.1-3mdk.i586.rpm
libmysql12-devel-4.0.20-3mdk.i586.rpm

Merci Nicolas pour ton aide.


>> > [ dibzou]$ gcc -Wall testsql.c -o sql
>> > -L/usr/lib/mysql -lmysqlclient
>> > testsql.c:4: warning: return type of 'main' is not `int' testsql.c:
>> > In function `main':
>> > testsql.c:21: warning: implicit declaration of function `strlen'
>> > testsql.c:38:2: warning: no newline at end of file
>> > /usr/lib/mysql/libmysqlclient.a(my_compress.o)(.text+0xbd): In
>> > function `my_compress_alloc':
>> > : undefined reference to `compress'
>> > /usr/lib/mysql/libmysqlclient.a(my_compress.o)(.text+0x13a): In
>> > function `my_uncompress':
>> > : undefined reference to `uncompress'
>> > collect2: ld returned 1 exit status
>> > [ dibzou]$ ls /usr/lib/mysql/ libdbug.a libmyisam.a
>> > libmysqlclient_r.a libmystrings.a mysqld.sym
>> > libheap.a libmyisammrg.a libmysqlclient_r.so@ libmysys.a
>> > libmerge.a libmysqlclient.a libmysqlclient.so@ libnisam.a
>> > [ dibzou]$ find /usr/ -name "libmysqlclient*.*"
>> > /usr/lib/libmysqlclient.so.12.0.0
>> > /usr/lib/libmysqlclient.so.12
>> > /usr/lib/libmysqlclient_r.so.12.0.0
>> > /usr/lib/libmysqlclient_r.so.12
>> > /usr/lib/mysql/libmysqlclient.a
>> > /usr/lib/mysql/libmysqlclient.so
>> > /usr/lib/mysql/libmysqlclient_r.a
>> > /usr/lib/mysql/libmysqlclient_r.so
>> >
>> >
>> > Si vous pouvez m'indiquer comment faire pour que cela compile bien et
>> > pour rétablir de l'ordre dans le système. Merci pour votre aide.
>> >
>> > DibZou.