Sous FreeBSD, quelques fois on est un peu « à la ramasse » niveau fraîcheur des paquets. C'est pourquoi, j'utilise le système de ports.
Ce matin j'ai décidé de mettre à jour WebKitGTK+, je maintiens ma propre branche, car j'ai toujours une erreur avec GObject-Introspection
(c'est activé dans le port officiel) [1], je modifie donc légèrement le Makefile
et je lance la commande suivante pour générer le fichier distinfo
(il contient la somme des contrôles, permettant de vérifier que le fichier téléchargé est complet) :
root@bornem:/usr/ports/www/webkit-gtk2 # make makesum
Ensuite je lance la compilation, et je précise le dossier dans lequel, je souhaite installer cette bibliothèque. Je fais toujours ça, car cela me permet de corriger le fichier pkg-plist
, et de relancer la compilation autant de fois que nécessaire afin de ne plus obtenir d'erreurs.
Pour cela je rajoute une variable dans le Makefile
[...]
NO_MTREE= yes
.include <bsd.port.pre.mk>
[...]
root@bornem:/usr/ports/www/webkit-gtk2 # mkdir /tmp/webkit-gtk2
root@bornem:/usr/ports/www/webkit-gtk2 # make install PREFIX=/tmp/webkit-gtk2
L'étape de configuration, celle qui permet de vérifier que toutes les dépendances sont installées, s'est arrêtée de manière prématurée.
[...]
checking for icu-config... /usr/local/bin/icu-config
checking for ZLIB... no
configure: error: Package requirements (zlib) were not met:
gnome-config: not found
No package 'zlib' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables ZLIB_CFLAGS
and ZLIB_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
===> Script "configure" failed unexpectedly.
Please run the gnomelogalyzer, available from
"http://www.freebsd.org/gnome/gnomelogalyzer.sh", which will diagnose the
problem and suggest a solution. If - and only if - the gnomelogalyzer cannot
solve the problem, report the build failure to the FreeBSD GNOME team at
gnome@FreeBSD.org, and attach (a)
"/usr/ports/www/webkit-gtk2/work/webkit-1.6.1/config.log", (b) the output of
the failed make command, and (c) the gnomelogalyzer output. Also, it might
be a good idea to provide an overview of all packages installed on your system
(i.e. an `ls /var/db/pkg`). Put your attachment up on any website,
copy-and-paste into http://freebsd-gnome.pastebin.com, or use send-pr(1) with
the attachment. Try to avoid sending any attachments to the mailing list
(gnome@FreeBSD.org), because attachments sent to FreeBSD mailing lists are
usually discarded by the mailing list software.
*** Error code 1
Stop in /usr/ports/www/webkit-gtk2.
*** Error code 1
Stop in /usr/ports/www/webkit-gtk2.
Ce message indique, qu'il ne trouve pas la bibliothèque zlib pour la compression des données.
Je suis resté perplexe, car zlib est présent dans le base system de FreeBSD.
En effet, le script configure recherche le fichier pkgconfig/zlib.pc
, or ce dernier est absent. Heureusement que l'on peut surcharger certaines variables d'environnement, notamment ZLIB_CFLAGS et ZLIB_LIBS, évitant ainsi d'avoir recours à l'utilitaire, pkg-config
, et de rechercher dans /usr/local/lib
.
ZLIB_CFLAGS C compiler flags for ZLIB, overriding pkg-config
ZLIB_LIBS linker flags for ZLIB, overriding pkg-config
Je modifie donc le Makefile
[...]
CONFIGURE_ENV= ac_cv_path_FLEX="${LOCALBASE}/bin/flex" \
ac_cv_path_DOLT_BASH="" \
ZLIB_CFLAGS="-I/usr/include" \
ZLIB_LIBS="-L/usr/lib -lz"
J'ai pu enfin mettre à jour www/webkit-gtk2.
WebKitGTK étant maintenu par gnome
@, je suis allé vérifier, si, sur le dépôt MarcusCom, kwm
@, ou mezz
@ avaient rencontré ce problème. La révision n° 1.81 est quasiment identique à la mienne.