            * * *     Forum OXMO Message  * * *

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Titre : [FORUM] Migration Fedora Core 7 réussie :)
Lancé le 21-08-2007 20:44 par soul^keeper
Téléchargé de https://www.forum.oxmo.org/showthread.php?threadid=48421
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 1]
Auteur : soul^keeper
Date : 21-08-2007 20:44
Titre : [FORUM] Migration Fedora Core 7 réussie :)

[QUOTE][i]Message écrit par soul^keeper, le 31-10-2006 à 20:23 [/i]
[B]Je suis en train d'upgrader le serveur en Fedora Core 6.

Prévoyez certainement une petite coupure car après upgrade et reboot, je devrai recompiler plusieurs applis "critiques" comme Apache, PHP, MySQL, Bind, etc... 

A toute pour le CR. [/B][/QUOTE]

On prend les mêmes et on recommence 8-)

Migration vers Fedora Core 7 en cours...

A tout à l'heure :)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 2]
Auteur : rellik
Date : 21-08-2007 21:46

Il est à fond la forme en ce moment Soul !

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 3]
Auteur : BirkEnstock
Date : 21-08-2007 21:49

[QUOTE]pplis "critiques" comme Apache, PHP, MySQL, Bind, etc...[/QUOTE] 

c'est du chinois !

mais merci pour le boulot effectué !

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 4]
Auteur : bzh
Date : 21-08-2007 21:59

Je savais que Soul avait une nana
Enfin il l 'avoue FEDORA 

Cela ne rappelle les James Bond ;)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 5]
Auteur : dsp56001
Date : 21-08-2007 22:13

Salut les jeunes,

Bonne migration.


§bienjoué§

Bonne nuit europe.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 6]
Auteur : soul^keeper
Date : 21-08-2007 23:13

Bon voilà, migration terminée.

Je n'ai pas rebooté pour l'instant... on tourne toujours sur l'ancien kernel, mais ça n'est pas bien grave... 


[code][root@cronos ~]# cat /etc/redhat-release 
Fedora release 7 (Moonshine)

[root@cronos ~]# uname -a
Linux cronos.oxmo.org 2.6.19-1.2895.fc6 #1 SMP Wed Jan 10 19:28:18 EST 2007 i686 athlon i386 GNU/Linux[/code]

Comme j'ai un peu tardé à migré, je pense que le reboot sera pour la FC8... 
[code]
[root@cronos ~]# uptime
 23:11:56 [rb]up 211 days, 21:33[/rb],  2 users,  load average: 0.29, 0.71, 1.04[/code]

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 7]
Auteur : ludoliefr
Date : 21-08-2007 23:16

;)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 8]
Auteur : fleming
Date : 21-08-2007 23:19

[QUOTE][i]Message écrit par bzh, le 21-08-2007 à 21:59 [/i]
[B]Je savais que Soul avait une nana
Enfin il l 'avoue FEDORA 
 [/B][/QUOTE]

oui, et il paraît qu'elle a un core de rêve.


















Désolé. :D

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 9]
Auteur : soul^keeper
Date : 21-08-2007 23:21

A noter qu'Apache m'a fait un caca nerveux à la compilation pour une sombre histoire de lien vers une librairie obsolète disparue avec l'upgrade...  

[code]Making all in support
make[1]: Entering directory `/usr/local/src/httpd-2.2.4/support'
make[2]: Entering directory `/usr/local/src/httpd-2.2.4/support'
/usr/local/apache2/build/libtool --silent --mode=link gcc -g -O2 -pthread     \
  -L/usr/local/apache2/lib -L/usr/local/lib   -o htpasswd  htpasswd.lo   \
  -lm /usr/local/src/httpd-2.2.4/srclib/pcre/libpcre.la /usr/local/apache2/lib/libaprutil-1.la \
  [bb]-ldb-4.3[/bb] -lexpat /usr/local/apache2/lib/libapr-1.la -luuid -lrt -lcrypt -lpthread -ldl
[rb]libtool: link: cannot find the library `/usr/lib/libdb-4.3.la'[/rb]
make[2]: *** [htpasswd] Error 1
make[2]: Leaving directory `/usr/local/src/httpd-2.2.4/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/httpd-2.2.4/support'
make: *** [all-recursive] Error 1[/code]

J'ai été obligé de créer à la main le fichier /usr/lib/libdb-4.3.la avec pour contenu:
[code]# libdb-4.3.la - a libtool library file
# Generated by ltmain.sh - GNU libtool 1.5.8 (1.1220.2.117 2004/08/04 14:12:05)
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='libdb-4.3.so'

# Names of this library.
library_names='libdb-4.3.so libdb-4.3.so libdb-4.3.so'

# The name of the static archive.
old_library='libdb-4.3.a'

# Libraries that this one depends upon.
dependency_libs=' -lpthread'

# Version information for libdb-4.3.
current=0
age=0
revision=0

# Is this an already installed library?
installed=yes

# Should we warn about portability when linking against -modules?
shouldnotlink=no

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='/usr/lib'[/code]

Pourtant, le package [b]compat-db-4.3.29-2.fc7[/b] installé était justement censé contenir le nécessaire :[code][root@cronos ~]# rpm -ql compat-db-4.3.29-2.fc7
/lib/libdb-4.2.so
/lib/libdb-4.3.so
/lib/libdb_cxx-4.2.so
/lib/libdb_cxx-4.3.so
/usr/bin/berkeley_db42_svc
/usr/bin/berkeley_db43_svc
/usr/bin/db42_archive
/usr/bin/db42_checkpoint
/usr/bin/db42_deadlock
/usr/bin/db42_dump
/usr/bin/db42_load
/usr/bin/db42_printlog
/usr/bin/db42_recover
/usr/bin/db42_stat
/usr/bin/db42_upgrade
/usr/bin/db42_verify
/usr/bin/db43_archive
/usr/bin/db43_checkpoint
/usr/bin/db43_deadlock
/usr/bin/db43_dump
/usr/bin/db43_load
/usr/bin/db43_printlog
/usr/bin/db43_recover
/usr/bin/db43_stat
/usr/bin/db43_upgrade
/usr/bin/db43_verify
/usr/include/db4.2.52
/usr/include/db4.2.52/db.h
/usr/include/db4.2.52/db_185.h
/usr/include/db4.2.52/db_cxx.h
/usr/include/db4.3.29
/usr/include/db4.3.29/db.h
/usr/include/db4.3.29/db_185.h
/usr/include/db4.3.29/db_cxx.h
/usr/share/doc/compat-db-4.3.29
/usr/share/doc/compat-db-4.3.29/db-4.2.52
/usr/share/doc/compat-db-4.3.29/db-4.2.52/LICENSE
/usr/share/doc/compat-db-4.3.29/db-4.2.52/README
/usr/share/doc/compat-db-4.3.29/db-4.3.29
/usr/share/doc/compat-db-4.3.29/db-4.3.29/LICENSE
/usr/share/doc/compat-db-4.3.29/db-4.3.29/README[/code]

mais pas de fichier /usr/lib/libdb-4.3.la (ni /usr/lib/libdb-4.3.a d'ailleurs).... allez comprendre.

Une fois ce fichier /usr/lib/libdb-4.3.la créé, nouvelle erreur à la compilation:
[code]Making all in support
make[1]: Entering directory `/usr/local/src/httpd-2.2.4/support'
make[2]: Entering directory `/usr/local/src/httpd-2.2.4/support'
/usr/local/apache2/build/libtool --silent --mode=link gcc -g -O2 -pthread     \
  -L/usr/local/apache2/lib -L/usr/local/lib   -o htpasswd  htpasswd.lo   \
  -lm /usr/local/src/httpd-2.2.4/srclib/pcre/libpcre.la /usr/local/apache2/lib/libaprutil-1.la \
  [bb]-ldb-4.3[/bb] -lexpat /usr/local/apache2/lib/libapr-1.la -luuid -lrt -lcrypt -lpthread -ldl
[rb]gcc: /usr/lib/libdb-4.3.so: No such file or directory[/rb]
make[2]: *** [htpasswd] Error 1
make[2]: Leaving directory `/usr/local/src/httpd-2.2.4/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/httpd-2.2.4/support'
make: *** [all-recursive] Error 1[/code]

Je m'en suis sorti en créant un lien symbolique :
[code][root@cronos lib]# ls -la /usr/lib/libdb*
[rb]-rw-r--r-- 1 root root     799 2007-08-21 22:47 /usr/lib/libdb-4.3.la[/rb]
[rb]lrwxrwxrwx 1 root root      22 2007-08-21 22:48 /usr/lib/libdb-4.3.so -> ../../lib/libdb-4.3.so[/rb]
-rw-r--r-- 1 root root 1646750 2007-03-30 10:14 /usr/lib/libdb-4.5.a
-rw-r--r-- 1 root root     800 2007-03-30 10:13 /usr/lib/libdb-4.5.la
lrwxrwxrwx 1 root root      22 2007-08-21 19:54 /usr/lib/libdb-4.5.so -> ../../lib/libdb-4.5.so
-rw-r--r-- 1 root root 1799438 2007-03-30 10:14 /usr/lib/libdb_cxx-4.5.a
-rw-r--r-- 1 root root     828 2007-03-30 10:13 /usr/lib/libdb_cxx-4.5.la
-rwxr-xr-x 1 root root 1356444 2007-03-30 10:14 /usr/lib/libdb_cxx-4.5.so
lrwxrwxrwx 1 root root      16 2007-08-21 21:54 /usr/lib/libdb_cxx.so -> libdb_cxx-4.5.so
lrwxrwxrwx 1 root root      22 2007-08-21 21:54 /usr/lib/libdb.so -> ../../lib/libdb-4.5.so
lrwxrwxrwx 1 root root      23 2007-08-21 20:53 /usr/lib/libdbus-glib-1.so.2 -> libdbus-glib-1.so.2.1.0
-rwxr-xr-x 1 root root  118336 2007-08-02 04:41 /usr/lib/libdbus-glib-1.so.2.1.0[/code]

Une fois ces 2 fichiers accessibles, la compilation a pu terminer correctement.

Mais je n'ai pas compris pourquoi Apache cherchait absolument la version 4.3 (impossible de trouver d'où il m'a sorti le paramètre -ldb-4.3 en ligne de commande).... si quelqu'un a une idée ???

Bref, ce n'est pas bien grave, ça fonctionne grâce à cette petite astuce, mais bon c'est quand même curieux, et j'ai rien trouvé sur le net évidemment...

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 10]
Auteur : Wayne Schlagel
Date : 21-08-2007 23:27

Fallait demander, je t'aurais aidé

[img]http://www.yatoula.com/gif/metiers/metier_15.gif[/img]

§cool§
Motivé ce Soul §pardon§

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 11]
Auteur : Zakath
Date : 22-08-2007 00:17

Oula, c'est super sale de créer le .la à la main et de faire des links de .so n'importe comment... Ca ne m'étonnerait qu'à moitié qu'apache se mange un joli segfault à un moment inattendu, si il a été linké avec un .so qui n'existe plus.

Sinon, libtool qui fait son caca nerveux, c'est un grand classique. Le plus probable, c'est qu'un vieux paquet n'ait pas été nettoyé correctement et garde donc les mauvaises indications. Un [CODE]find / -name \*.la -exec grep "db-4.3" "{}" \;[/CODE]te trouvera peut-être des choses intéressantes. En tout cas, ce sont les suspects principaux.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 12]
Auteur : soul^keeper
Date : 22-08-2007 00:40

Justement, la librairie existait en FC6 :
[code]
[root@cronos ~]# rpm -ql -p [rb]db4-devel-4.3.29-9.fc6.i386.rpm[/rb]
/usr/include/db.h
/usr/include/db4
/usr/include/db4/db.h
/usr/include/db4/db_185.h
/usr/include/db4/db_cxx.h
/usr/include/db_185.h
/usr/include/db_cxx.h
[bb]/usr/lib/libdb-4.3.a
/usr/lib/libdb-4.3.la
/usr/lib/libdb.so[/bb]
/usr/lib/libdb_cxx-4.3.a
/usr/lib/libdb_cxx-4.3.la
/usr/lib/libdb_cxx.so
[...][/code]
...et a été remplacée par son package updaté de FC7 :
[code][root@cronos ~]# rpm -ql [rb]db4-devel-4.5.20-5.fc7[/rb]
/usr/include/db.h
/usr/include/db4
/usr/include/db4/db.h
/usr/include/db4/db_185.h
/usr/include/db4/db_cxx.h
/usr/include/db_185.h
/usr/include/db_cxx.h
[bb]/usr/lib/libdb-4.5.a
/usr/lib/libdb-4.5.la
/usr/lib/libdb.so[/bb]
/usr/lib/libdb_cxx-4.5.a
/usr/lib/libdb_cxx-4.5.la
/usr/lib/libdb_cxx.so
[...][/code]

Ceci étant le package COMPAT permet justement de conserver les librairies, mais note que le chemin a changé, et que j'ai perdu le .la au passage :
[code][root@cronos ~]# rpm -ql [rb]compat-db-4.3.29-2.fc7[/rb]
/lib/libdb-4.2.so
/lib/libdb-4.3.so
/lib/libdb_cxx-4.2.so
/lib/libdb_cxx-4.3.so
[...][/code]
C'est pour ça que j'ai créé le lien symbolique au bon endroit (donc pas de risque avec le .so) et que j'ai recréé manuellement le .la ...

Je suis assez confiant sur le résultat... mais j'arrive vraiment pas à comprendre pourquoi il continue de chercher la 4.3 alors qu'il devrait logiquement se tourner vers la 4.5 !

Ta commande (avec un -print ...) m'a retourné que mon fichier /usr/lib/libdb-4.3.la ainsi que le fichier /usr/local/apache2/lib/libaprutil-1.la (qui me semble bien obsolète lui aussi vu son contenu pointant vers un vieux répertoire apache 2.2.0.. alors que je suis maintenant en 2.2.4, la date du fichier montre d'ailleurs qu'il date de cette époque)

Quoiqu'il en soit, j'avais déjà lancé une commande similaire sur le répertoire source d'apache, avant et après le ./configure et le make ... mais il n'y a AUCUNE référence à -ldb-4.3 ... c'est X-Files ce truc....

§grattetêt2§

J'en viens à me demander si un petit reboot viendrait pas me remettre d'aplomb tout ça... c'est vrai que j'ai quand même fait une grosse upgrade + recompilation de plein de softs là....

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 13]
Auteur : Zakath
Date : 22-08-2007 00:44

Non, c'est pire, c'est libtool. :D

Sérieusement, j'ai du une fois débugger un build system (teTeX, en plus) avec un libtool qui foirait, et pour rien au monde je ne retouche à cette saloperie.

C'est un peu benêt de linker une vieille version de la librairie, surtout si le paquet de compatibilité est incomplet, mais si ça marche comme ça, mes 2 cents sont de ne pas chercher plus loin dans libtool.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 14]
Auteur : soul^keeper
Date : 22-08-2007 01:24

aaarhhhhhhhhhhhhhhh j'ai trouvé !!!!!

soul 1 / fedora 0 §foufou§


en y regardant de plus près, j'ai compris ce qui se passait pendant le ./configure :
[code]
Configuring Apache Portable Runtime library ...

checking for APR... yes
  setting CC to "gcc"
  setting CPP to "gcc -E"
  setting CFLAGS to " -g -O2 -pthread"
  setting CPPFLAGS to " -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE"
  setting LDFLAGS to " "

Configuring Apache Portable Runtime Utility library...

checking for APR-util... yes
  adding "-L[rb]/usr/local/apache2/lib[/rb]" to LDFLAGS
[...]
[/code]

Ben voyons !! C'est la fête, il a retrouvé tout seul comme un grand le répertoire où est installé l'Apache compilé, ainsi que ses librairies... et le problème vient de là, car ces "vieilles" librairies doivent justement pointer vers la 4.3 comme on a vu plus haut... (ce qui est curieux, c'est que j'utilise le même "config.nice" custom depuis je sais pas combien de versions de Fedora et d'Apache, et ça m'a jamais fait ce coup là... bizarre bizarre...

Quoiqu'il en soit, je l'ai feinté en l'empêchant d'utiliser cet APR externe (trouvé automatiquement), et en lui demandant de recompiler son propre APR via l'option "--with-included-apr"

Et là bingo, plus besoin de ma bidouille pour qu'il retrouve la version db-4.3 car devant tout refaire de zero, il ne s'appuie pas sur l'existant, donc plus de problème...

Ben c'était bien tiré par les cheveux encore une fois.... du coup j'ai pu revirer mon lien symbolique et mon .la §gniark§

M'enfin au final c'est plus carré, c'est vrai ;)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 15]
Auteur : fleming
Date : 22-08-2007 10:31

j'ai rien compris §bravo§

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 16]
Auteur : ultrawoaow
Date : 22-08-2007 10:57

§mondieu§ et elles sont pas devenues folles tes puces soul ? §coquin§

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 17]
Auteur : Schoubi
Date : 22-08-2007 11:02

Joli boulot :)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 18]
Auteur : riolobo
Date : 22-08-2007 11:23

Félicitation pour ce défi une fois encore relevé avec brio ! §bravo§

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 19]
Auteur : soul^keeper
Date : 22-08-2007 11:56

En fait après réflexion (et une petite nuit salvatrice), je réalise que j'avais l'info sous les yeux depuis le début ! Regardez...

[QUOTE][i]Message écrit par soul^keeper, le 21-08-2007 à 23:21 [/i]
[B]A noter qu'Apache m'a fait un caca nerveux à la compilation pour une sombre histoire de lien vers une librairie obsolète disparue avec l'upgrade...  [/b]

[code]Making all in support
make[1]: Entering directory `/usr/local/src/httpd-2.2.4/support'
make[2]: Entering directory `/usr/local/src/httpd-2.2.4/support'
/usr/local/apache2/build/libtool --silent --mode=link gcc -g -O2 -pthread     \
  -L/usr/local/apache2/lib -L/usr/local/lib   -o htpasswd  htpasswd.lo   \
  -lm /usr/local/src/httpd-2.2.4/srclib/pcre/libpcre.la [b]/usr/local/apache2/lib/libaprutil-1.la[/b] \
  [bb]-ldb-4.3[/bb] -lexpat [b]/usr/local/apache2/lib/libapr-1.la[/b] -luuid -lrt -lcrypt -lpthread -ldl
[rb]libtool: link: cannot find the library `/usr/lib/libdb-4.3.la'[/rb]
make[2]: *** [htpasswd] Error 1
make[2]: Leaving directory `/usr/local/src/httpd-2.2.4/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/httpd-2.2.4/support'
make: *** [all-recursive] Error 1[/code][/QUOTE]

J'aurais dû voir dès ce moment là que c'était pas normal qu'il aille chercher des choses dans /usr/local/apache2/lib ! Ou plutôt, si, c'était normal puisque l'install cherchait un APR déjà fonctionnel sur le système (ce que j'ai empêché grâce à l'option "--with-included-apr") .... mais effectivement, en analysant les 2 fichiers .la se trouvant dans ce répertoire, j'aurais tout de suite vu que le lien vers la librairie db 4.3 était déclaré dedans (et ça je l'ai réalisé grâce à la recherche de la chaine db-4.3 sur tout le système, mais c'est vrai qu'à la base je l'avais fait QUE dans le répertoire /usr/local/src/httpd-2.2.4 pensant (à tord) que tout le nécessaire à la compilation se trouvait là !)

Bref... des fois on a l'info sous les yeux et on percute pas, c'est ballot 8-)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 20]
Auteur : polkaïna
Date : 22-08-2007 12:07

Je n'ai rien compris mais bravo et merci! ;)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 21]
Auteur : KeySoze
Date : 23-08-2007 11:33

Great ! :)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

