[Freetype2] fbcondecor et compilation du splashutils

Mise à jour / Création /debug de paquetages
Avatar de l’utilisateur
Logicien
Daikyu
Messages : 60
Inscription : mer. 16 janv. 2008, 20:23
Localisation : Montréal Québec

[Freetype2] fbcondecor et compilation du splashutils

Message par Logicien »

Bonjour,
n'étant pas capable de faire afficher autrement le fameux fbsplash avec un noyau Linux personnalisé :?:, je configure et compile le noyau en dehors du système de gestion de paquets de ArchLinux. Je suis présentement avec le noyau vanille 2.6.26 et j'utilise les outils de Spock :!: (merci) sans problème afin d'avoir une image de fond au moment et après le démarrage. Le patch fbcondecor-0.9.4-2.6.25-rc6.patch fonctionne avec les sources 2.6.26. :idea:

Au début, tout se passait bien lorsque je compilais les sources du splashutils avec ArchLinux. C'était plutôt avec d'autres distributions que j'avais des problèmes. Le ./configure réussissait avec avertissements, mais la compilation échouait. J'ai dû m'éclairer avec le message splashutils compilation problem - Linux Forums afin de me rendre compte qu'il faut installer le paquet klibc pour que le configure trouve /usr/bin/klcc et que la compilation réussisse. ArchLinux l'avait fait sans mon intervention, mais une distribution comme PCLinuxOS n'ayant pas de paquet klibc, il faut alors spécifier

Code : Tout sélectionner

./configure KLCC=/usr/bin/gcc
pour que la compilation réussisse. C'est dû moins tout ce que j'ai trouvé comme paliatif. :?:

En voulant installer la dernière version du splashutils, 1.5.4.2, je fût très surpris de voir échouer ArchLinux à la compiler, alors que PCLinuxOS réussissait. Le ./configure réussissait sans erreur apparente, mais à la compilation, le message d'erreur de ArchLinux était:

Code : Tout sélectionner

/usr/bin/ld: cannot find -lfreetype
Après avoir étudié pendant deux jours le problème et essayer même ce qui n'avait pas rapport avec la solution, je me suis rendu compte qu'il y avait une librairie /usr/lib/libfreetype.a sous PCLinuxOS qui n'existait pas sous ArchLinux. Le splashutils générait cette librairie au moment de la compilation, mais, même en la copiant depuis la racine des sources vers /usr/lib/libfreetype.a, la compilation échouait à cause de symboles, du fait possiblement que cette librairie ne correspondait pas aux entêtes dans /usr/include/freetype2. :?:

Tout ça pour dire qu'en copiant /usr/lib/libfreetype.a de PCLinuxOS vers /usr/lib/ de ArchLinux la compilation a réussie sous ArchLinux, la version du paquet freetype2 étant la même entre les deux distributions. En creusant la question, j'ai trouvé ce lien qui m'a permis de comprendre: AURen fbsplash. Les mainteneurs du paquet freetype2 ont introduit l'option de compilation --disable-static, conséquence: la librairie /usr/lib/libfreetype.a n'est pas compilée et installée. La commande ld ne peut donner suite à l'option -lfreetype, ne trouvant pas la librairie, la compilation échoue.

Pas de problème, j'essai d'installer le paquet aur/freetype2-static, mais il est en conflit avec extra/freetype2. Solution: compiler aur/freetype2 en éditant le PKGBUILD afin d'y retrancher --disable-static. Pas de conflit entre paquets, j'obtiens la librairie /usr/lib/libfreetype.a et le splashutils 1.5.4.2 compile sans problème comme les versions précédentes :idea:. Il semble que l'option de compilation --disable-static aie été ajoutée dernièrement, ce qui expliquerait que ça réussissait avant sans avoir à compiler freetype2.

Finalement, je me demande s'il n'aurait pas été possible de compiler statiquement les librairies intégrées aux sources du splashutils dont freetype2 fait partie et si oui, quelle(s) option(s) aurait-il fallu passer au configure? je n'ai pas trouvé avec ./configure --help. :?:

Merci d'avoir lu ce long message.

:merci:
Paul
Répondre