libtool / libxcb-xlib.la

hippodriver

Well-Known Member
Das Trauerspiel mit libxcb findet kein Ende. Die meisten Ports konnte ich neu übersetzten, aber mindestens zwei funktionieren nicht: Thunar und libxine.
Code:
gandalf# portmaster multimedia/libxine/
[...]
/bin/sh ../../libtool --tag=CC   --mode=link cc -fvisibility=hidden -D_THREAD_SAFE -I/usr/local/include   -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/local/include/SDL -I/usr/local/include   -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE   -Wformat=2 -Wno-format-zero-length -Wmissing-format-attribute -Werror-implicit-function-declaration -Wstrict-aliasing=2 -Wall -Wpointer-arith -Wnested-externs -Wcast-align -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -O2 -fno-strict-aliasing -pipe -fno-force-addr -I/usr/local/include -I/usr/local/include/dvdread -DNDEBUG  -avoid-version -module -L/usr/local/lib -o xineplug_vo_out_sdl.la -rpath /usr/local/lib/xine/plugins/1.24 xineplug_vo_out_sdl_la-video_out_sdl.lo ../../src/xine-engine/libxine.la -Wl,-rpath,/usr/local/lib -pthread -L/usr/local/lib -lSDL   -L/usr/local/lib -lX11 -lXext   -L/usr/local/lib -lXinerama   -pthread -L/usr/local/lib -lintl -L/usr/local/lib -liconv -R/usr/local/lib 
grep: /usr/local/lib/libxcb-xlib.la: No such file or directory
/usr/local/bin/gsed: can't read /usr/local/lib/libxcb-xlib.la: No such file or directory
libtool: link: `/usr/local/lib/libxcb-xlib.la' is not a valid libtool archive
gmake[3]: *** [xineplug_vo_out_sdl.la] Error 1
gmake[3]: Leaving directory `/usr/ports/multimedia/libxine/work/xine-lib-1.1.15/src/video_out'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/usr/ports/multimedia/libxine/work/xine-lib-1.1.15/src/video_out'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/ports/multimedia/libxine/work/xine-lib-1.1.15/src'
gmake: *** [all-recursive] Error 1
*** Error code 2

Stop in /usr/ports/multimedia/libxine.
*** Error code 1

Stop in /usr/ports/multimedia/libxine.

===>>> make failed for multimedia/libxine
===>>> Aborting update

Bei Thunar sieht es genauso aus.

Ich habe libxcb nochmal neu übersetzt, aber gebracht hat das nichts. Die Bibliothek "/usr/local/lib/libxcb-xlib.la" existiert tatsächlich nicht. In der pkg-plist von libxcb ist sie auch nicht aufgeführt.

Wie kann ich das Problem noch angehen?
 
Hast du libtool schon mal neu gebaut? Das ist immer das erste was ich mache, wenn es irgendwo in der Nähe einer Fehlermeldung auftaucht.
 
Ich habe es so gemacht, was allerdings Ports-Foo verlangt:
- pkg_libchk genutzt, um falsch gelinkte Pakete zu finden.
- Einige dieser neugebaut. Sie brachen mit dem gleichen Fehler ab
- Die Linkerausgaben ganz am Endes des Log, direkt über der Fehlermeldung, analysiert und verglichen. Dadurch festgestellt, welche Bibliotheken immer verlinkt werden
- Diese neugebaut
- Solange wiederholt, bis alles durchbaute.
 
Wunderbar, ein neu kompiliertes libtool hat's gebracht.
Libxine zu übersetzen hat jetzt 2 Stunden gebraucht. Lustig, was ein "portmaster -f multimedia/libxine" so alles baut:
Code:
===>>> The following actions were performed:
        Re-installation of libtool-1.5.26
        Re-installation of libiconv-1.11_1
        Re-installation of gettext-0.17_1
        Re-installation of gmake-3.81_3
        Re-installation of icu-3.8.1_1
        Re-installation of pcre-7.8
        Re-installation of pkg-config-0.23_1
        Re-installation of perl-5.8.9
        Re-installation of python25-2.5.2_3
        Re-installation of glib-2.18.4
        Re-installation of gamin-0.1.10
        Re-installation of gio-fam-backend-2.18.4
        Re-installation of atk-1.24.0
        Re-installation of libogg-1.1.3,4
        Re-installation of flac-1.2.1
        Re-installation of libmad-0.15.1b_2
        Re-installation of libmodplug-0.8.4
        Re-installation of libvorbis-1.2.0_2,3
        Re-installation of speex-1.2.r1_1,1
        Re-installation of wavpack-4.50.1
        Re-installation of nasm-2.05.01,1
        Re-installation of xf86bigfontproto-1.1.2
        Re-installation of bigreqsproto-1.0.2
        Re-installation of inputproto-1.5.0
        Re-installation of kbproto-1.0.3
        Re-installation of xproto-7.0.14
        Re-installation of libXau-1.0.4
        Re-installation of libXdmcp-1.0.2_1
        Re-installation of libcheck-0.9.6
        Re-installation of libpthread-stubs-0.1
        Re-installation of libgpg-error-1.7
        Re-installation of libgcrypt-1.4.4
        Re-installation of libxml2-2.7.2_1
        Re-installation of libxslt-1.1.24_2
        Re-installation of xcb-proto-1.3
        Re-installation of libxcb-1.1.93
        Re-installation of xcmiscproto-1.1.2
        Re-installation of xextproto-7.0.4
        Re-installation of xtrans-1.2.3
        Re-installation of libX11-1.1.99.2,1
        Re-installation of aalib-1.4.r5_4
        Re-installation of makedepend-1.0.1,1
        Re-installation of libdrm-2.4.4
        Re-installation of expat-2.0.1
        Re-installation of dri2proto-1.99.3
        Re-installation of glproto-1.4.9
        Re-installation of damageproto-1.1.0_2
        Re-installation of fixesproto-4.0
        Re-installation of libXfixes-4.0.3_1
        Re-installation of libXdamage-1.1.1
        Re-installation of libXext-1.0.4,1
        Re-installation of xf86vidmodeproto-2.2.2
        Re-installation of libXxf86vm-1.0.2
        Re-installation of libGL-7.3
        Re-installation of libGLU-7.3
        Re-installation of renderproto-0.9.3
        Re-installation of libXrender-0.9.4_1
        Re-installation of randrproto-1.2.1
        Re-installation of libXrandr-1.2.3
        Re-installation of sdl-1.2.13_2,2
        Re-installation of jpeg-6b_7
        Re-installation of lcms-1.17,1
        Re-installation of libmng-1.0.10
        Re-installation of png-1.2.34
        Re-installation of libdca-0.0.5
        Re-installation of libdvdcss-1.2.9_2
        Re-installation of libdvdread-0.9.7_3
        Re-installation of libfame-0.9.1_2
        Re-installation of libtheora-1.0.b2
        Re-installation of popt-1.7_5
        Re-installation of cdparanoia-3.9.8_8
        Re-installation of libcddb-1.3.0
        Re-installation of libcdio-0.78.2_2
        Re-installation of vcdimager-0.7.23_5
        Re-installation of freetype2-2.3.7
        Re-installation of p5-XML-Parser-2.36
        Re-installation of intltool-0.40.5
        Re-installation of unzip-5.52_5
        Re-installation of jasper-1.900.1_7
        Re-installation of tiff-3.8.2_3
        Re-installation of gnome_subr-1.0
        Re-installation of dbus-1.2.4.4
        Re-installation of libtasn1-1.8
        Re-installation of gnutls-2.6.3_1
        Re-installation of cups-base-1.3.9_3
        Re-installation of e2fsprogs-libuuid-1.41.3_1
        Re-installation of libICE-1.0.4_1,1
        Re-installation of libSM-1.1.0,1
        Re-installation of libXt-1.0.5_1
        Re-installation of glitz-0.5.6_2
        Re-installation of fontconfig-2.6.0,1
        Re-installation of pixman-0.13.2
        Re-installation of gperf-3.0.3
        Re-installation of xcb-util-0.3.2
        Re-installation of cairo-1.8.6,1
        Re-installation of libXft-2.1.13
        Re-installation of fontsproto-2.0.2
        Re-installation of libfontenc-1.0.4
        Re-installation of libXfont-1.3.4,1
        Re-installation of bdftopcf-1.0.1
        Re-installation of font-util-1.0.1
        Re-installation of mkfontscale-1.0.6
        Re-installation of encodings-1.0.2,1
        Re-installation of bitstream-vera-1.10_4
        Re-installation of mkfontdir-1.0.4
        Re-installation of font-bh-ttf-1.0.0
        Re-installation of font-misc-ethiopic-1.0.0
        Re-installation of font-misc-meltho-1.0.0_1
        Re-installation of xorg-fonts-truetype-7.4
        Re-installation of pango-1.22.4
        Re-installation of compositeproto-0.4
        Re-installation of libXcomposite-0.4.0,1
        Re-installation of libXcursor-1.1.9_1
        Re-installation of libXi-1.2.0,1
        Re-installation of xineramaproto-1.1.2
        Re-installation of libXinerama-1.0.3,1
        Re-installation of hicolor-icon-theme-0.10_2
        Re-installation of shared-mime-info-0.51
        Re-installation of gtk-2.14.7
        Re-installation of videoproto-2.2.2
        Re-installation of libXv-1.0.4,1
        Upgrade of libxine-1.1.15_1 to libxine-1.1.15_3

Irgendwie habe ich die Bedeutung von -f missverstanden ;-)
 
bei mir musste ich, bisher von hand, die ganzen xcb-tools neu bauen, also libxcb, xcb-utils unc xcb-proto, damit die ports überhaupt anfangen durchzubauen. kamikazes pkg_libchk hat leider nix gebracht, aber momentan läuft's erstmal und die problemports bauen bzw. laufen nach dem update. ich verstehe allerdings nicht so ganz, wieso die utils, deren bibliotheken direkt gegen libxcb gelinkt werden, nicht als direkte abhängigkeit als erstes neu gebaut werden, damit nicht im nachhinein knallt, wenn bspw. gegl die xcb-utils zum bauen braucht und dann hochgeht.

naja, mal sehen, was für weitere späße das update für mich bereithält *frustriert*
 
Und weiter geht's im Text. inkscape und gnumeric hängen mit genau der gleichen Fehlermeldung. Aber diesmal hilft es nicht /devel/libtool15 neu zubauen.

Wie komme ich an diese ominöse /usr/local/lib/libxcb-xlib.la?
Ich habe alles, was xcb im Namen trägt,bereits mehrfach neu gebaut.
Aus welchem Port stammt die Datei eigentlich?
 
pkg_info -W <hier den dateinamen mit pfad>

EDIT: was natürlich nur helfen würde, falls die datei vorhanden ist
 
Siehe meinen Tipp weiter oben. Du hast noch immer Bibliotheken auf dem System, die gegen diese Datei linken. Libtool erkennt dies, sucht das zugehörige Libtool-Archiv und explodiert. Du musst folglich diese Dateien finden, was du leider nur manuell machen kannst. Eine alternative Möglichkeit, die dir sicher in Zukunft Ärger machen wird wäre /usr/local/lib/libxcb.la auf /usr/local/lib/libxcb-xlib.la symlinken. Es geht dann alles, aber wie gesagt, spätere Nebenwirkungen sind nicht ausgeschlossen.
 
pkg_libchk hat schon weiter geholfen. Ich habe erstmal versucht alles zu bauen, was nach Bibliothek aussah. Folgende Pakete sind noch übrig:

Code:
gandalf# pkg_libchk -q > lib.log
gandalf# less lib.log                                         
diablo-jdk-1.6.0.07.02
evince-2.24.2
geany-0.15
gegl-0.0.20_1
gimp-app-2.6.4_2,1
gnumeric-1.9.3_2
gnuplot-4.2.4
goffice-0.4.3_5
goffice-0.7.2
gutenprint-cups-5.1.7_3
inkscape-0.46_3
libbonoboui-2.24.0
octave-3.0.3_3
openoffice.org-3.0.0
transmission-daemon-1.42
vlc-0.9.8.a,3
xchat-2.8.6_2

Ich habe versucht libbonoboui oder goffice zu übersetzen. Beides schlägt fehl. Das sollten doch die beiden Pakete sein, die am tiefsten im Baum zu finden sind. Fehlermeldung wie üblich.
 
mir hatte scheinbar der Update von lang/perl5.8 einige Fehler gebracht, anschließend gab es da viele Dinge, die sich nicht mehr bauten. Deshalt hatte ich diese perl-libs komplett gelöscht und dann den Port mit allen Abhängigkeiten neu gemacht.
Anschließend hingen neu installierte GNOME (kein Update) und verlangten glib20 und gtk+ Abhängigkeiten.
Danach liefen einige Updates weiter, bis dann dieses libxcb Dilemma aufkam.
Allerdings half dann ein Neubau aller Abhängigkeiten.
Das war eine riesige Orgie diesmal und dauerte ziemlich lang, auch weil danach beimir jedenfalls noch immer kleine Probleme mit dem X-Server enstehen, der scheinbar doch nocht nicht sooo gut mit HAL kann.
Unverständlich für mich, daß nun alles so auf HAL steht, das ist doch irgendwie eine Krücke, oder?
 
Ich hoffe ich stoße selbst mal auf so ein Problem. Ich verstehe einfach nicht warum pkg_libchk da versagt. Bei mir hat es ja einwandfrei alles richtig gemacht.
 
Ich habe jetzt alles mit pkg_delete glöscht, was laut pkg_libchk von libxcb* abhing. Trotzdem lässt sich x11-toolkits/libbonoboui nicht übersetzen:
Code:
portmaster x11-toolkits/libbonoboui
[...]
/bin/sh ../libtool --tag=CC   --mode=link cc  -O2 -fno-strict-aliasing -pipe -no-undefined -L/usr/local/lib -pthread -o libbonoboui-2.la -rpath /usr/local/lib bonobo-a11y.lo bonobo-dock.lo bonobo-dock-item.lo bonobo-dock-item-grip.lo bonobo-dock-band.lo bonobo-dock-layout.lo bonobo-ui-init-gtk.lo bonobo-ui-main.lo bonobo-canvas-component.lo bonobo-canvas-item.lo bonobo-control-frame.lo bonobo-control.lo bonobo-file-selector-util.lo bonobo-plug.lo bonobo-property-control.lo bonobo-selector.lo bonobo-selector-widget.lo bonobo-socket.lo bonobo-ui-component.lo bonobo-ui-config-widget.lo bonobo-ui-container.lo bonobo-ui-engine.lo bonobo-ui-engine-config.lo bonobo-ui-node.lo bonobo-ui-preferences.lo bonobo-ui-sync.lo bonobo-ui-sync-menu.lo bonobo-ui-sync-keys.lo bonobo-ui-sync-status.lo bonobo-ui-sync-toolbar.lo bonobo-ui-toolbar-button-item.lo bonobo-ui-toolbar-control-item.lo bonobo-ui-toolbar-item.lo bonobo-ui-toolbar-popup-item.lo bonobo-ui-toolbar-toggle-button-item.lo bonobo-ui-toolbar.lo bonobo-ui-internal-toolbar.lo bonobo-ui-type-builtins.lo bonobo-ui-util.lo bonobo-ui-win32.lo bonobo-ui-xml.lo bonobo-widget.lo bonobo-window.lo bonobo-zoomable.lo bonobo-zoomable-frame.lo bonobo-ui-marshal-main.lo -pthread -L/usr/local/lib -lgnomecanvas-2 -lart_lgpl_2 -lgnome-2 -lpopt -lbonobo-2 -lbonobo-activation -lORBit-2 -lgthread-2.0 -lxml2 -lgconf-2 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lgio-2.0 -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXcomposite -lXdamage -lcairo -lpangoft2-1.0 -lX11 -lXfixes -lpango-1.0 -lm -lfreetype -lz -lfontconfig -lgmodule-2.0 -lgobject-2.0 -lglib-2.0   -lSM -lICE  -L/usr/local/lib -R/usr/local/lib -lX11  -lintl  -lpopt 
grep: /usr/local/lib/libxcb-xlib.la: No such file or directory
/usr/local/bin/gsed: can't read /usr/local/lib/libxcb-xlib.la: No such file or directory
libtool: link: `/usr/local/lib/libxcb-xlib.la' is not a valid libtool archive
gmake[2]: *** [libbonoboui-2.la] Error 1
gmake[2]: Leaving directory `/usr/ports/x11-toolkits/libbonoboui/work/libbonoboui-2.24.0/bonobo'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/ports/x11-toolkits/libbonoboui/work/libbonoboui-2.24.0'
gmake: *** [all] Error 2
*** Error code 2
Also alles wie gehabt.

Das STABLE-Paket von ftp.freebsd.org ist vom 14.01.; hilf mir also auch nicht weiter.
 
Das wird nichts bringen. Er ist in der Autohell gefangen. Libtool hat in der Vergangenheit Abhängigkeiten registriert, die die Ports nicht kennen. Sobald es etwas gegen diese Abhängigkeiten linken will und in deren Libtool-Archiv die Abhängigkeit auf libxcb-xlib.so, welche nun nicht mehr existiert, gefunden wird, sucht er deren Libtool-Archiv und explodiert. Diese wird auch nie wieder kommen, xlib ist schlicht abgeschafft worden und durch xcb ersetzt. Die Porttools versagen hier durchgehend, da sie diesen Libtool-Wirrwar nicht durchblicken. Gleiches gilt auch für pkg_libchk. Die einzige Möglichkeit ist das oben erklärte, manuelle ausfiltern und neubauen der betroffenen Bibliotheken. Oder natürlich pkg_delete -a.

Unter Linux treten solche Probleme nur daher kaum auf, das die meisten Distributionen Binärpakete nutzen. Unter Gentoo und co. hat man genau den gleichen Mist. Das ist auch der Grund, weshalb die halbe Welt auf dieses Autobreak schimpft.
 
ich habe länger als vier Tage gebraucht, doch irgendwie hatte ich die richtigen Libs wohl gefunden.
Habe gerade explizit probiert und diesen Port mal gebaut, lief:
===> Registering installation for libbonoboui-2.24.0
===> Cleaning for libbonoboui-2.24.0

also hatte ich wohl ziemlich Glück und natürlich viel manuelle Arbeit!
 
nebenbei: das war ein Versuch, den ich mit portmaster anfing und dann schnell wieder bei portupgrade gelandet war. portmaster blieb ja dauernd irgendwo hängen.
 
Irgendwie schade, wenn man vor einem Problem kapitulieren muss.

Wieder mal OT, doch ich kann nun mal nicht an mir halten. Wenn es zu viel wird, lasst mein Geschwafel einfach löschen!

Mir geht es so, wie Kamikaze das ausdrückt. Ich empfinde es schade vor einem Problem kapitulieren zu müssen und bei mir kommt es ja oft zu solchen Problemen, die gelöst werden wollen.
Es macht mir Spaß, an solchen Dingen zu basteln und was auszuprobieren und eh man sichs versieht, sind Stunden vorbei, in denen was sehr viel gesüderes und besseres gemacht hätte werden können!
Den Spruch, den ich so gerne zitiere:
“Two of the most famous products of Berkeley are LSD and Unix.
I don’t think that this is a coincidence.”
ist durchaus ernst!
Unix kann süchtig machen und zwar in einem Maße, wie bestimmte Spiele am PC, die ja dafür berüchtigt sind. "Mein Mann war mehr mit seinem PC verheiratete, als mit mir". Zeitungsartikel und Radiosendungen füllen sich mit solchen Themen. Es ist eine Zeiterscheinung. Früher liefen die Männer ins Gasthaus um ihren Drachen wenigstens zeitweise zu entfliehen und sich vielleicht auch Mut anzutrinken oder ihren Ärger zu ersäufen, heute finden sie nur noch zum PC und tanken dort irgendwie Endorphine.
Denkt mal gelegentlich darüber nach und seid durchaus bewusst, daß es auch Spielereien sind, die einen da von anderen Dingen abhalten. Auch wenn nirgendwo im Laden ein Unix als Spiel angeboten wird, vermutlich hat man das noch gar nicht bemerkt, welcher Spaß-Faktor da drinnen steckt, ganz ohne Baller-Kram.

Insofern, ja, mir geht es auch so, es macht mich irgendwo unglücklich, eine Sache nicht im klassischen Sinn gelöst zu bekommen. Eine Lösung nach dem Modell Alexander (der, mit dem gordischen Knoten) gilt uns ja nicht sonderlich viel. Sie kann einen aber auch weiterbringen und manchmal ist es nur das, was zählt.
 
Zurück
Oben