Construire webkit2pdf en .deb pour i386

Bonjour,
le paquet sus-nommé permet de transformer du html en pdf en ligne de commande, ce qui permet d’éviter les fastidieuses boîtes de dialogues, il est trouvable en 64bit mais ce n’est pas mon architecture, donc je dois m’y coller mais dès les préliminaires je rencontre des contretemps dus à mon absence totale d’expérience dans la construction de paquets.

dpkg-deb: erreur d'analyse, dans le fichier 'webkit2pdf-0.1/DEBIAN/control' vers la ligne 11 paquet 'webkit2pdf': champ « Depends », nom de paquet incorrect « ${shlibs:Depends} » : doit commencer par un caractère alphanumérique
De ce que je comprends « ${shlibs:Depends} » devrait être remplacé par une liste de paquet, mais comment effectuer ce prodige …

je précise que j’ai tenté de le compiler directement, mais là aussi tout n’est pas simple :/usr/bin/ld: /usr/lib/libwebkit-1.0.a(libwebkit_1_0_la-gtk2xtbin.o): undefined reference to symbol 'XGetWindowAttributes' /usr/bin/ld: note: 'XGetWindowAttributes' is defined in DSO /usr/lib/libX11.so.6 so try adding it to the linker command line /usr/lib/libX11.so.6: could not read symbols: Invalid operation collect2: ld returned 1 exit status (...)

Merci à tous ceux qui sauront éclairer ma lanterne.

Je regrette de ne pouvoir t’aider autrement que ne te redirigeant vers la documentation officielle.
debian.org/doc/maint-guide/i … l#contents
Le wiki contient un tuto de fran.b pour faire des paquets, sait-on jamais…

isalo.org/wiki.debian-fr/ind … reunpaquet

Hello.

J’avais un peu de temps alors j’ai tenté la compilation.

J’ai récupéré les sources là : webkit2pdf.sourceforge.net/

J’ai installé les paquets nécessaires à la compilation :

qui m’en ont installé un tas d’autres par le jeu des dépendances :

ensuite :

cd compil/webkit2pdf-0.2 ./configure
et :

iman@debian:~/compil/webkit2pdf-0.2$ make make all-recursive make[1]: entrant dans le répertoire « /home/iman/compil/webkit2pdf-0.2 » Making all in po make[2]: entrant dans le répertoire « /home/iman/compil/webkit2pdf-0.2/po » make[2]: Rien à faire pour « all ». make[2]: quittant le répertoire « /home/iman/compil/webkit2pdf-0.2/po » Making all in src make[2]: entrant dans le répertoire « /home/iman/compil/webkit2pdf-0.2/src » gcc -DHAVE_CONFIG_H -I. -I.. -Wall -DPACKAGE="\"webkit2pdf\"" -DLOCALEDIR="\"/usr/local/share/locale\"" -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/libdrm -pthread -I/usr/include/webkit-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/include/libsoup-2.4 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/libdrm -I/usr/include/libxml2 -pthread -I/usr/include/poppler/glib -I/usr/include/poppler -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/libdrm -g -O2 -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.c mv -f .deps/main.Tpo .deps/main.Po /bin/sh ../libtool --tag=CC --mode=link gcc -g -O2 -pthread -lwebkit-1.0 -lgtk-x11-2.0 -lsoup-2.4 -lgdk-x11-2.0 -latk-1.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -pthread -lpoppler-glib -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -o webkit2pdf main.o libtool: link: gcc -g -O2 -pthread -pthread -o webkit2pdf main.o -lwebkit-1.0 /usr/lib/libgtk-x11-2.0.so -lsoup-2.4 /usr/lib/libatk-1.0.so /usr/lib/libpangoft2-1.0.so /usr/lib/libfreetype.so -lfontconfig -lpoppler-glib /usr/lib/libgdk-x11-2.0.so /usr/lib/libgdk_pixbuf-2.0.so -lm /usr/lib/libpangocairo-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libcairo.so /usr/lib/libgio-2.0.so /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libgthread-2.0.so -lrt /usr/lib/libglib-2.0.so -pthread make[2]: quittant le répertoire « /home/iman/compil/webkit2pdf-0.2/src » Making all in config make[2]: entrant dans le répertoire « /home/iman/compil/webkit2pdf-0.2/config » make[2]: Rien à faire pour « all ». make[2]: quittant le répertoire « /home/iman/compil/webkit2pdf-0.2/config » Making all in tools make[2]: entrant dans le répertoire « /home/iman/compil/webkit2pdf-0.2/tools » make[2]: Rien à faire pour « all ». make[2]: quittant le répertoire « /home/iman/compil/webkit2pdf-0.2/tools » make[2]: entrant dans le répertoire « /home/iman/compil/webkit2pdf-0.2 » make[2]: Rien à faire pour « all-am ». make[2]: quittant le répertoire « /home/iman/compil/webkit2pdf-0.2 » make[1]: quittant le répertoire « /home/iman/compil/webkit2pdf-0.2 »

à ce stade j’ai plus qu’à faire un :

ou

pour avoir un .deb

Essaye voir et tiens-nous au courant.

@+…

[quote=“i M@N”]Hello.

J’avais un peu de temps alors j’ai tenté la compilation.

J’ai récupéré les sources là : webkit2pdf.sourceforge.net/[/quote]
Salut,
J’ai n’ai pas les mêmes, ça change peut-être quelquechose

[quote=“i M@N”]J’ai installé les paquets nécessaires à la compilation :

dpkg -l |egrep -i "libpoppler-glib-dev|libglib2.0-dev|libgtk2.0-dev|libwebkit-dev" ii libglib2.0-dev 2.24.2-1 Development files for the GLib library ii libgtk2.0-dev 2.20.1-2 Development files for the GTK+ library ii libpoppler-glib-dev 0.12.4-1.2 PDF rendering library -- development files (GLib interface) ii libwebkit-dev 1.2.6-2 Web content engine library for Gtk+ - Development filesJe les ai aussi.
Je vais tenter avec tes sources et je reviens.

Re, là ou tu as :

[quote=“i M@N”]code
/usr/lib/libpangocairo-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libcairo.so /usr/lib/libgio-2.0.so /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libgthread-2.0.so -lrt /usr/lib/libglib-2.0.so -pthread
make[2]: quittant le répertoire « /home/iman/compil/webkit2pdf-0.2/src »
Making all in config
make[2]: entrant dans le répertoire « /home/iman/compil/webkit2pdf-0.2/config »
make[2]: Rien à faire pour « all ».
make[2]: quittant le répertoire « /home/iman/compil/webkit2pdf-0.2/config »
Making all in tools
make[2]: entrant dans le répertoire « /home/iman/compil/webkit2pdf-0.2/tools »
make[2]: Rien à faire pour « all ».
make[2]: quittant le répertoire « /home/iman/compil/webkit2pdf-0.2/tools »
make[2]: entrant dans le répertoire « /home/iman/compil/webkit2pdf-0.2 »
make[2]: Rien à faire pour « all-am ».
make[2]: quittant le répertoire « /home/iman/compil/webkit2pdf-0.2 »
make[1]: quittant le répertoire « /home/iman/compil/webkit2pdf-0.2 »
[/code]
[/quote]
j’ai :/usr/lib/libpangocairo-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libcairo.so /usr/lib/libgio-2.0.so /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libgthread-2.0.so -lrt /usr/lib/libglib-2.0.so -pthread /usr/bin/ld: /usr/lib/libwebkit-1.0.a(libwebkit_1_0_la-gtk2xtbin.o): undefined reference to symbol 'XGetWindowAttributes' /usr/bin/ld: note: 'XGetWindowAttributes' is defined in DSO /usr/lib/libX11.so.6 so try adding it to the linker command line /usr/lib/libX11.so.6: could not read symbols: Invalid operation collect2: ld returned 1 exit status make[2]: *** [webkit2pdf] Erreur 1 (...)
Donc aucune amélioration …

edit : j’avais mal lu ça : [quote]/usr/bin/ld: note: ‘XGetWindowAttributes’ is defined in DSO /usr/lib/libX11.so.6 so try adding it to the linker command line[/quote]j’essaie et je reviens.

edit2 : l’erreur précédente a disparu mais d’autres sont apparues …
un vrai sac de nœuds …

@ Thuban, je vais aller faire un tour sur tes liens, merci :wink:

re …

Essaye avec les sources que j’ai prises.

@+…

[quote=“i M@N”]re …

Essaye avec les sources que j’ai prises.

@+…[/quote]

Déjà fait, et pas plus de succès sur la Sid, par contre j’ai été essayer sur une Squeeze où les dépendances sont pourtant à la même version que sur la Sid :dpkg -l |egrep -i "libpoppler-glib-dev|libglib2.0-dev|libgtk2.0-dev|libwebkit-dev" ii libglib2.0-dev 2.24.2-1 Development files for the GLib library ii libgtk2.0-dev 2.20.1-2 Development files for the GTK+ library ii libpoppler-glib-dev 0.12.4-1.2 PDF rendering library -- development files (GLib interface) ii libwebkit-dev 1.2.6-2 Web content engine library for Gtk+ - Development files
et là ça fonctionne …
mystères.

Plus qu’à en faire un paquet …

edit : maintenant ça fonctionne aussi avec Sid …
Désolé pour le bruit …

edit 2 : En fait ça ne fonctionne toujours pas sous Sid, j’avais juste oublié de nettoyer le répertoires de la construction en Squeeze avant de relancer make :mrgreen:

J’ai fait un diff des deux répertoires de construction et il y a assez peu de différences, le voici privé des lignes de contexte pour être plus court, les lignes commençant par un “+” proviennent du système qui échoue, celles commençant par un “-” du système qui réussit : -uname -r = 2.6.32-5-686 +uname -r = 2.6.37-1-686 -uname -v = #1 SMP Wed Jan 12 04:01:41 UTC 2011 +uname -v = #1 SMP Tue Feb 15 18:21:50 UTC 2011 -gcc (Debian 4.4.5-8) 4.4.5 +gcc (Debian 4.4.5-11) 4.4.5 -gcc version 4.4.5 (Debian 4.4.5-8) +gcc version 4.4.5 (Debian 4.4.5-11) configure:11231: checking for msgfmt -configure:11266: result: no +configure: trying /usr/bin/msgfmt... +0 translated messages. +configure:11263: result: /usr/bin/msgfmt configure:11272: checking for gmsgfmt -configure:11303: result: : +configure:11303: result: /usr/bin/msgfmt configure:11354: checking for xgettext -configure:11389: result: no +configure: trying /usr/bin/xgettext... +/usr/bin/xgettext: warning: file `/dev/null' extension `' is unknown; will try C +configure:11386: result: /usr/bin/xgettext configure:11432: checking for msgmerge -configure:11466: result: no +configure: trying /usr/bin/msgmerge... +configure:11463: result: /usr/bin/msgmerge +config.status:1308: config.h is unchanged -ac_cv_path_GMSGFMT=: +ac_cv_path_GMSGFMT=/usr/bin/msgfmt -ac_cv_path_MSGFMT=: -ac_cv_path_MSGMERGE=: +ac_cv_path_MSGFMT=/usr/bin/msgfmt +ac_cv_path_MSGMERGE=/usr/bin/msgmerge -ac_cv_path_XGETTEXT=: +ac_cv_path_XGETTEXT=/usr/bin/xgettext -GMSGFMT=':' -GMSGFMT_015=':' +GMSGFMT='/usr/bin/msgfmt' +GMSGFMT_015='/usr/bin/msgfmt' -MSGFMT=':' -MSGFMT_015=':' -MSGMERGE=':' +MSGFMT='/usr/bin/msgfmt' +MSGFMT_015='/usr/bin/msgfmt' +MSGMERGE='/usr/bin/msgmerge' -XGETTEXT=':' -XGETTEXT_015=':' +XGETTEXT='/usr/bin/xgettext' +XGETTEXT_015='/usr/bin/xgettext' XGETTEXT_EXTRA_OPTIONS='' -sys_lib_dlsearch_path_spec='/lib /usr/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/local/lib ' +sys_lib_dlsearch_path_spec='/lib /usr/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/local/lib /usr/X11/lib/libX11.so ' -S["MSGMERGE"]=":" -S["XGETTEXT_015"]=":" -S["XGETTEXT"]=":" -S["GMSGFMT_015"]=":" -S["MSGFMT_015"]=":" -S["GMSGFMT"]=":" -S["MSGFMT"]=":" +S["MSGMERGE"]="/usr/bin/msgmerge" +S["XGETTEXT_015"]="/usr/bin/xgettext" +S["XGETTEXT"]="/usr/bin/xgettext" +S["GMSGFMT_015"]="/usr/bin/msgfmt" +S["MSGFMT_015"]="/usr/bin/msgfmt" +S["GMSGFMT"]="/usr/bin/msgfmt" +S["MSGFMT"]="/usr/bin/msgfmt"