Compiler le forum avec une autre glibc

Compiler le forum avec une autre glibc - Installation - Linux et OS Alternatifs

Marsh Posté le 29-04-2004 à 21:11:37    

Hello,
 
Je me suis compilé dans un coin une glibc-2.3.2, et j'aimerais linker mysql avec cette glibc.
Pour ca MySQL offre l'option -with-other-libc et --with-named-thread-libs.
Joie me direz-vous ! Et ba pas vraiment, parce qu'il me manque un libtermcap.a qui serait compilé pour fonctionner avec glibc-2.3.2, et mon soucis, c'est que je n'ai pas la moindre idée de comment je pourrais compiler ncurses pour le linker avec glibc-2.3.2 et mettre les  lib resultante dans le /lib de ma glibc à moi.
 
Sans ca le configure de mysql se vautre lamentablement :
 

configure:32922: result: no
configure:32927: checking for tgetent in -ltermcap
configure:32957: gcc -o conftest -O3 -DDBUG_OFF -O3 -march=athlon-mp -mfpmath=sse -msse -m3dnow -mmmx  -I/home/joce/glibc/include   -static -L/home/joce/glibc/lib  conftest.c -ltermcap  /home/joce/glibc/lib/libpthread.a -lz -lcrypt -lnsl -lm  /home/joce/glibc/lib/libpthread.a >&5
/home/joce/glibc/lib/libtermcap.a(lib_termcap.o)(.text+0x5a6): In function `tgetent':
: undefined reference to `__ctype_b'
/home/joce/glibc/lib/libtermcap.a(lib_termcap.o)(.text+0x5ca): In function `tgetent':
: undefined reference to `__ctype_b'
/home/joce/glibc/lib/libtermcap.a(lib_termcap.o)(.text+0x5f6): In function `tgetent':
: undefined reference to `__ctype_b'
/home/joce/glibc/lib/libtermcap.a(lib_termcap.o)(.text+0x93f): In function `similar_sgr':
: undefined reference to `__ctype_b'
/home/joce/glibc/lib/libtermcap.a(lib_termcap.o)(.text+0x964): In function `similar_sgr':
: undefined reference to `__ctype_b'
/home/joce/glibc/lib/libtermcap.a(lib_tparm.o)(.text+0x111d): more undefined references to `__ctype_b' follow
collect2: ld returned 1 exit status
configure:32963: $? = 1


 
:/
 
une idée de comment faire ca ?
(votre contribution aura probablement comme concequence plus ou moins directe la disparition de ses putains d'erreur de can't create a new thread sur le forum :o)


Message édité par joce le 29-04-2004 à 21:37:23

---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 29-04-2004 à 21:11:37   

Reply

Marsh Posté le 29-04-2004 à 21:18:21    

faire tout ca dans un chroot et compilé mysql en static ?


---------------
Two thousand years of misery, of torture in my name, hypocrisy made paramount, paranoia the law, my name is called religion, sadistic, sacred whore.
Reply

Marsh Posté le 29-04-2004 à 21:18:58    

[:wam]
en clair ca veut dire quoi ? [:joce]


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 29-04-2004 à 21:24:59    

Ca veut dire que tu changerais la racine de ton système pour que lors de la compilation primo tu casses pas tout (surtout si c'est le forum [:totoz]) et que mysql n'utilise pas une librairie partagée (en l'occurence celle du système) mais celle qu'il aura "embarqué" en compilant en statique (tu lui auras indiqué le chemin comme ce que tu vient de faire précédemment)

Reply

Marsh Posté le 29-04-2004 à 21:29:43    

mon problème c'est plus de compiler ncurses pour qu'il linke avec le nouveau glibc en fait, donc ca serait plutôt ncurses qu'il faut que je chroot et link en static ?


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 29-04-2004 à 21:31:59    

joce a écrit :

mon problème c'est plus de compiler ncurses pour qu'il linke avec le nouveau glibc en fait, donc ca serait plutôt ncurses qu'il faut que je chroot et link en static ?


 
:pt1cable:  
 
là c'est trop pour moi, désolé mais je passe la main ;)

Reply

Marsh Posté le 29-04-2004 à 21:38:03    

black_lord a écrit :

:pt1cable:  
 
là c'est trop pour moi, désolé mais je passe la main ;)


A priori oui c'est ncurses qu'il faut compiler par rapport ç ta glibc, mais pas besoin de faire une compilation statique je pense: normalement tu c
1) fais un petit sous-système dans /tmp/croot/
2) y copies ta glibc
3) mets de quoi compiler + les sources de ncurses, et le compiles
4) le rapatries.
 
Le problème c'est qu'il va aller chercher la glibc par défaut, qui était la tirnne à la compilation, mais la "de base" en-dehors du chroot. Pour règler ça, un petit nm devrait suffire, non ?


Message édité par glacote le 29-04-2004 à 21:38:55
Reply

Marsh Posté le 29-04-2004 à 21:42:12    

bon plus qu'à apprendre comment faire un chroot :D
 
chroot /home/joce/glibc                                                                    <21:41:35
chroot: cannot execute /bin/zsh: No such file or directory
 
ch'uis mal parti moi :o


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 29-04-2004 à 21:45:02    

Reply

Marsh Posté le 29-04-2004 à 21:47:10    

c'est bon je l'ai copié dans /home/joce/glibc/bin/ :D
 
par contre :
 
chroot /home/joce/glibc                                                                    <21:45:56
/bin/zsh: error while loading shared libraries: libcap.so.1: cannot open shared object file: No such file or directory
 
v me copier tout le /lib dans /home/joce/glibc/lib et refaire le make install de la glibc si ca continue :o


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 29-04-2004 à 21:47:10   

Reply

Marsh Posté le 29-04-2004 à 21:48:58    

tu fait des ldd sur les binaires que tu veut mettre dans ton chroot pour voir de quels fichiers/bibliothèques ils ont besoin


Message édité par void_ppc le 29-04-2004 à 21:49:46
Reply

Marsh Posté le 29-04-2004 à 21:51:47    

void_ppc a écrit :

tu fait des ldd sur les binaires que tu veut mettre dans ton chroot pour voir de quels fichiers/bibliothèques ils ont besoin

j'ai choisi la solution bourrine dont je parlais au dessus, à savoir copier tout le /lib dans mon home, et reinstaller la nouvelle glibc par dessus, comme ca plus de soucis (enfin j'espère :D)


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 29-04-2004 à 21:53:01    

si ca marche comme ca, après y restera à attendre que glibc-2.3.3-NPTL veuille bien sortir pour que ca marche encore mieux :o


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 29-04-2004 à 21:54:15    

joce a écrit :

j'ai choisi la solution bourrine dont je parlais au dessus, à savoir copier tout le /lib dans mon home, et reinstaller la nouvelle glibc par dessus, comme ca plus de soucis (enfin j'espère :D)


 
aucun souci de la beauté du geste, c'est brutal et ignoble comme méthode  :pfff:  
 
et je suis sûr que c'est pas une très bonne idée  :o

Reply

Marsh Posté le 29-04-2004 à 21:55:49    

void_ppc a écrit :

aucun souci de la beauté du geste, c'est brutal et ignoble comme méthode  :pfff:  
 
et je suis sûr que c'est pas une très bonne idée  :o

ba ca à le mérite de rien péter au moins :D (faut juste que je fasse un cp et pas un mv [:joce])


Message édité par joce le 29-04-2004 à 21:58:06

---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 29-04-2004 à 21:59:55    

[:totoz] le titre [:totoz]

Reply

Marsh Posté le 29-04-2004 à 22:06:42    

de suite ca fout la pression :o :D


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 29-04-2004 à 22:14:12    

bon ba je suis dépité là.
Même avec la méthode bourrin, après make install de la glibc je me bouffe un zoli :
 
chroot /home/joce/glibc                                                                    <22:13:14
/bin/zsh: error while loading shared libraries: libcap.so.1: cannot open shared object file: No such file or directory
 
Sans réinstaller la glibc-2.3.2 ca marche par contre :/
 
:'(


Message édité par joce le 29-04-2004 à 22:14:55

---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 29-04-2004 à 22:19:29    

ca m'aurait étonné que ca marche :)
 
Voilà un moyen très propre :
 
http://www.fr.linuxfromscratch.org/view/lfs-5.0/
 
C'est le seul moyen que je connait de faire un système de base minimal avec exactement ce que tu veut

Reply

Marsh Posté le 29-04-2004 à 22:21:25    

faut que je reinstalle tout le merdier dans mon /home/joce/ en gros :heink:


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 29-04-2004 à 22:21:35    

Et si le coeur t'en dit :
 

Citation :

We successfully built a system that was just enough to run the Apache web server with approximately 8MB of disk space used. Further stripping could bring that down to 5 MB or less


 
 :ouch:

Reply

Marsh Posté le 29-04-2004 à 22:24:45    

ouais mais nan je cherche pas à faire ca, moi le but du jeu c'était de pouvoir compiler rapidement cette putain de ncurses  against la nouvelle glibc, et là je suis reparti pour installer un linux complet :??: :heink:


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 30-04-2004 à 01:20:15    

bon j'ai reussi, mais je sais pas si ca va changer grand chose :D


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 30-04-2004 à 08:23:31    

ou alors tu utilises un autre shell que le zsh, par exemple un sh compilé en statique qui ne depend de rien ;)


---------------
Two thousand years of misery, of torture in my name, hypocrisy made paramount, paranoia the law, my name is called religion, sadistic, sacred whore.
Reply

Marsh Posté le 30-04-2004 à 08:42:42    

joce a écrit :

ba ca à le mérite de rien péter au moins :D (faut juste que je fasse un cp et pas un mv [:joce])

tu veux tuer sly  :D

Reply

Marsh Posté le 30-04-2004 à 08:58:28    

http://www.google.com/search?q=__c [...] 8&oe=utf-8
 
Merci à ce con d'Ulrich Drepper qui fait n'importe quoi dans la glibc au mépris de tous le monde, et surtout de ses utilisateurs. Je vais finir par lui envoyer la facture de ses conneries.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed