[Gelöst] Neue Lib - fwmod findet files nicht

linuxkasten

Aktives Mitglied
Mitglied seit
2 Feb 2009
Beiträge
891
Punkte für Reaktionen
0
Punkte
16
Hallo, bin grad am probieren für ein neues Paket libsigc++ als Paket in Freetz zu integrieren. Der Build läuft auch durch, allerdings zeigt fwmod beim Zusammenbauen des Images immer folgende Meldung:
Code:
    libsigcxx
WARNING: Library libsigcxx selected, but no files found
Ich hab schon einiges mit den "++" statt den "xx" probiert, da mir scheint, als wär da der Hund drin. Hatte bisher noch keinen Erfolg. Eventuell hängt es auch mit der Zeile:
Code:
$(PKG)_DIR:=$($(PKG)_SOURCE_DIR)/libsigc++-$($(PKG)_VERSION)
zusammen. Die brauch ich allerdings, damit er das Source-Verzeichnis überhaupt findet. Hier der Inhalt der libsigcxx.mk (auch im Anhang; zum Bauen ist der enthaltene Patch nötig) :
Code:
$(call PKG_INIT_LIB, 2.2.8, libsigcxx, LIBSIGCXX)
$(PKG)_LIB_VERSION:=0.0.0
$(PKG)_SOURCE:=libsigc++-$($(PKG)_VERSION).tar.bz2
$(PKG)_SITE:=http://caesar.acc.umu.se/pub/GNOME/sources/libsigc++/2.2
$(PKG)_DIR:=$($(PKG)_SOURCE_DIR)/libsigc++-$($(PKG)_VERSION)

$(PKG)_BINARY:=$($(PKG)_DIR)/sigc++/.libs/libsigc-2.0.so.$($(PKG)_LIB_VERSION)
$(PKG)_STAGING_BINARY:=$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/lib/libsigc-2.0.so.$($(PKG)_LIB_VERSION)
$(PKG)_TARGET_BINARY:=$($(PKG)_TARGET_DIR)/libsigc-2.0.so.$($(PKG)_LIB_VERSION)

$(PKG)_DEPENDS_ON := uclibcxx

$(PKG)_CONFIGURE_OPTIONS += --enable-shared
$(PKG)_CONFIGURE_OPTIONS += --enable-static

$(PKG_SOURCE_DOWNLOAD)
$(PKG_UNPACKED)
$(PKG_CONFIGURED_CONFIGURE)

$($(PKG)_BINARY): $($(PKG)_DIR)/.configured
	$(SUBMAKE) -C $(LIBSIGCXX_DIR)

$($(PKG)_STAGING_BINARY): $($(PKG)_BINARY)
	$(SUBMAKE) -C $(LIBSIGCXX_DIR) \
		DESTDIR="$(TARGET_TOOLCHAIN_STAGING_DIR)" \
		install
	$(PKG_FIX_LIBTOOL_LA) \
		$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/lib/libsigc-2.0.la \
		$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/lib/pkgconfig/sigc++-2.0.pc

$($(PKG)_TARGET_BINARY): $($(PKG)_STAGING_BINARY)
	$(INSTALL_LIBRARY_STRIP)

$(pkg): $($(PKG)_STAGING_BINARY)

$(pkg)-precompiled: $($(PKG)_TARGET_BINARY)

$(pkg)-clean:
	-$(SUBMAKE) -C $(LIBSIGCXX_DIR) clean
	$(RM) -r \
		$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/lib/libsigc-2.0.* \
		$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/lib/sigc++-2.0
		$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/lib/pkgconfig/sigc++-2.0.pc \
		$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/include/sigc++-2.0 \
		$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/share/devhelp/books/libsigc++-2.0 \
		$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/share/doc/libsigc++-2.0

$(pkg)-uninstall:
	$(RM) $(LIBSIGCXX_TARGET_DIR)/libsigc*.so*

$(PKG_FINISH)
Weiß jemand, worans scheitert?
 

Anhänge

  • libsigc++.tar.gz
    1.1 KB · Aufrufe: 4
Zuletzt bearbeitet:
Nein, hab ich nicht. Aber ich habe doch bei BINARY überall libsigc-2.0 eingetragen. Ich probiers eben mal aus...

EDIT: Toll, funktioniert, danke!
Weiß gar nicht, warum ich mir die Mühe mit den "++" und "xx" gemacht habe ;)

Soll ich für mein Paket, wenn es fertig ist, nen extra Thread aufmachen oder hier den Eingangsthread erweitern?
 
Zuletzt bearbeitet:
Genau.
Der Eintrag in die Config.in muss "config FREETZ_LIB_libsigc" lauten.

Gruß
Oliver
 
Ich habe jetz überall pkg und PKG in libsigc geändert, weil ich nicht wusste, dass ich nur die Config.in zu ändern brauche... aber jetzt weiß ich das ja ;)
 
Spricht etwas dagegen, die dynamischen Libraries jeweils in ein Verzeichnis package/lib... zu packen und in fwmod dann einfach den kompletten Inhalt dieses Verzeichnisses ins Image zu übernehmen?
 
Was soll daran einfacher sein?
Dann musst du bei jedem make schauen, dass das Verzeichniss aktuell ist. Oder wir lassen es ganz weg und würden uns bei den Libs alle Target targets einsparen und dann direkt aus der Toolchain nach build/modified/bin kopieren? Aber dann haben wir wieder dieses kopieren.

MfG Oliver
 
Beim make würde alles gleich bleiben, nur das Zielverzeichnis, in dem die Libraries abgelegt werden, wäre $(PACKAGES_DIR)/$(pkg)-$($(PKG)_VERSION)/... statt $(PACKAGES_DIR)/root/...
In fwmod könnte man dann die Libraries einsammeln, die in den ausgewählten Verzeichnissen liegen, so wie es auch derzeit mit den Binaries gemacht wird, statt nach den Namen der Dateien und den ausgewählten Symbolen zu gehen.
 
Das würde erfordern, dass wir alle Pakete mir mehreren Libraries bearbeiten, so dass immer nur die ausgewählten in den Pfaden sind?
Aber ansonsten gefällt mir die Idee gut. Zumal wir schon mal diskutiert hatten, ob wir nicht auch unter make/libs einzelne Verzeichnisse für die Libraries machen sollten. Irgendwie ist das sonst unübersichtlich.

MfG Oliver
 
Ein Paket mit mehreren Libraries ist im Prinzip das Gleiche wie ein Paket mit mehreren Binaries, und die haben wir jetzt auch schon.
 
Ja, haben wir. Ich finde die Idee wie gesagt gut.

MfG Oliver
 
Hallo...

Habe noch ne Frage bzgl. dieser libsigc++ Bibliothek.
Ich frage mich gerade, wie weit sie von der glibc entfernt ist oder was jetzt der Vorteil dieser Bibliothek sein soll?
Auf der Homepage sind ein paar Aussagen aber die bringen mich wirklich nicht weiter.


Gruß
kemot
 
Aufgrund der Frage vermute ich mal, daß Du die Library nicht brauchst.
Da eine Library für sich allein nichts tut, gibt es zwei Gründe, eine Library nutzen zu wollen:

Du willst ein Programm erstellen, daß diese Library nutzt. Wenn das der Fall ist, muß Du schon selbst herausfinden, ob die Library für das geeignet ist, was Du vor hast.

Oder Du willst ein Programm nutzen, daß diese Library benötigt. Dann bringt Dich die Frage nicht weiter, warum genau diese Library verwendet wird, weil das Programm nun mal so ist, wie es ist.
 
Genau so ist es. Ich brauch die Library für ein Programm (nzbget). Werde ich demnächst hier posten.
 

Anhänge

  • libpar2.mk.txt
    1.4 KB · Aufrufe: 4
Hab ich zwar schon selber gemacht gehabt, aber da war kein "prevent hardcode" Zeugs drin...dann hat er immer die uClibc++ nicht gefunden. Danke!
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.