Frage

Hintergrund

Ich kam vor kurzem in dem Fuppes UPnP-Medienserver und es schien groß. Ich installierte es auf meinem Home-Server und begann es mit Hilfe von Video auf meine XBox streamen. Es funktionierte wirklich sehr gut, und ich war glücklich mit ihm. Dann verbesserte ich meine Server Verteilung und Fuppes aufgehört zu arbeiten; Ich weiß jetzt, dass es da verschiedene Bibliotheken abgeschrieben haben, die meisten speziell debian hat begonnen Fallenlassen der .la libtool Dateien von der Mehrheit ihrer Pakete .

Das Problem / Frage

Meine Frage ist also, wie baue ich Fuppes jetzt, dass ich nicht jene .la Dateien für libtool haben? Genauer gesagt, ist dies Nachricht meiner genauen Fehler:

/bin/sed: can't read /usr/lib/libogg.la: No such file or directory
libtool: link: `/usr/lib/libogg.la' is not a valid libtool archive

ich eine /usr/lib/libogg.la Datei nicht mehr haben. Dies beweist es aus der Klemme:

# dpkg -L libogg-dev | grep "a$"
/usr/lib/libogg.a
#

Ich brauche nur wirklich in der richtigen Richtung sein. Ich habe das libtool-auto docs lesen, aber ich bin immer noch den gewünschten Informationen fehlen, die mir sagt, wie jetzt kompilieren, dass ich nicht libogg.la mehr. Also kurz gesagt, wie kompiliere ich in Abwesenheit von .la Dateien?

N. B. Das ist alles auf Ubuntu Karmic Koala

War es hilfreich?

Lösung

Ich glaube, dass Debian die .la Dateien wurde fallen, weil es Probleme verursachen kann, wenn Sie bauen sowohl für 32-Bit- und 64-Bit. Wenn libtool eine .la Datei findet, hat es eine unangenehme Angewohnheit den vollständigen Pfad zu der Bibliothek in dem Link Befehl setzen, und das ist manchmal die falsche Bibliothek (32-Bit anstelle von 64-Bit oder umgekehrt). Unter Solaris hatte ich ein Problem von libtool zu verknüpfen /usr/lib/libintl.so statt /usr/lib/64/libintl.so will, alles, weil es /usr/lib/libintl.la gefunden

Es soll möglich sein, ohne die .la-Datei zu verknüpfen, indem Sie auf der mumble_LIBADD Linie (ersetzen ‚murmelt‘ mit dem Namen des Pakets Sie bauen) innerhalb der entsprechenden Makefile.am Angabe -logg. Wenn aus irgendeinem Grund kann der Linker nicht die Bibliothek finden Sie einen Weg, um es durch Zugabe von etwas wie folgt angeben:

mumble_LDFLAGS = -R / usr / lib -L / usr / lib

Aber in diesem Beispiel muß ich glaube, dass / usr / lib im Suchpfad Standard ist für Bibliotheken.

Um Ihre spezielle Fehlermeldung mit sed, weiß ich nicht, warum Fuppes sed verwendet /usr/lib/libogg.la zu finden, aber dies hoffentlich durch eine entsprechende Änderung von libtool stromaufwärts befestigt werden kann (wie in autoconf oder auto ). Ich vermute, dass es einen Schalter irgendwo in ‚Konfigurieren‘, die sich mit diesem Thema hilft (wie --with-ogg oder etwas). Run 'configure --help' und suchen für einige Hinweise gibt.

Andere Tipps

Sie sollten die .la Dateien werden müssen. Sie haben nicht die wichtigen Teile der Befehlsausgabe einfügen - was für Schritt zur libogg.la Datei zu verknüpfen versucht. Meine Vermutung ist, libtool und meine Vermutung ist, dass nach dem Upgrade Sie in Ihrem Quellverzeichnis oder VCS Kasse machen laufen lassen, ohne autogen.sh erneut ausführen oder Sie die entsprechenden Maßnahmen.

Kurz gesagt, geben Sie nicht genug Informationen, die Sie weiter zu helfen (Wie hast du Fuppes bekommen? Wie Sie es bauen hat? Wie haben Sie versuchen, es zu bauen nach dem Upgrade?). Wahrscheinlich entweder Sie Dateien erstellen zu regenerieren vergessen haben, oder ein anderer Linker Schritt in einer .la Datei ziehen und muss regeneriert werden (zum Beispiel einer pkg-config-Datei).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top