fehler bei "make precompiled"

knox

Mitglied
Mitglied seit
20 Mai 2006
Beiträge
577
Punkte für Reaktionen
0
Punkte
0
--snip--
ich hoffe, ich bin hier im richtigen thread geladent... oder hätte ich einen neuen eröffnen sollen/müssen?
--snap--

[EDIT: Ein neues Thema... also ein neuer Thread. Schließlich hat das ganze Subforum ja mit dem ds-mod zu tun ;-) --gandalf94305]

habe mir die toolchain des ds-mod-0.2.6 compiled und alles hat prima funktioniert. wenn ich aber versuche, mit "make precompiled" die binaries selber nachzubauen, bricht das ganze beim linken von openssl mit folgendem fehler ab:
make[3]: Entering directory `/home/mickey/ds-0.2.6/source/openssl-0.9.8a/apps'
../libcrypto.so: undefined reference to `__ctype_b_loc'
collect2: ld returned 1 exit status
make[3]: *** [link_app.gnu] Fehler 1
make[3]: Leaving directory `/home/mickey/ds-0.2.6/source/openssl-0.9.8a/apps'
make[2]: *** [openssl] Fehler 2
make[2]: Leaving directory `/home/mickey/ds-0.2.6/source/openssl-0.9.8a/apps'
make[1]: *** [build_apps] Fehler 1
make[1]: Leaving directory `/home/mickey/ds-0.2.6/source/openssl-0.9.8a'
make: *** [source/openssl-0.9.8a/.compiled] Fehler 2
mit ein wenig recherche bin ich auf einen beitrag im openwrt forum gestoßen: http://forum.openwrt.org/viewtopic.php?id=5631
demnach ist es ein problem bei der reihenfolge der includes?

vielen dank für ein paar tips :)
 
in ds-0.2.6/toolchain/build/gcc-4.1.0-uClibc-0.9.26/mipsel-linux-uclibc/include/ctype.h findet man:
Code:
extern __const __ctype_mask_t **__ctype_b_loc (void)
     __attribute__ ((__const));

ich dann einfach mal das makefile von openssl manuell ergänzt:
Code:
CFLAG= -fPIC -DOPENSSL_PIC -DDSO_DLFCN -DHAVE_DLFCN_H [b]-I/home/mickey/ds-0.2.6/toolchain/build/gcc-4.1.0-uClibc-0.9.26/mipsel-linux-uclibc/include[/b] -I/home/mickey/ds-0.2.6/toolchain/build/gcc-4.1.0-uClibc-0.9.26/mipsel-linux-uclibc/usr/include -static-libgcc -DOPENSSL_SMALL_FOOTPRINT -D_FILE_OFFSET_BITS=32 -DOPENSSL_NO_ERR -DTERMIO -Os -W -Wall -pipe -march=4kc -Wa,--trap -fomit-frame-pointer -Wall
hab echt nicht so viel ahnung was ich da mache, aber damit funktioniert es. ;-)

habe weiter herum gedoktort und denke, man könnte (sollte?) das am besten ds-0.2.6/make/libs/openssl.mk anpassen:
Code:
$(OPENSSL_DIR)/.configured: $(OPENSSL_DIR)/.unpacked
	sed -i -e 's/DS_MOD_OPTIMIZATION_FLAGS/$(TARGET_CFLAGS)/g' $(OPENSSL_DIR)/Configure
	( cd $(OPENSSL_DIR); \
		PATH="$(TARGET_TOOLCHAIN_PATH)" \
		./Configure linux-ds-mod \
		--prefix=/usr \
		--openssldir=/mod/etc/ssl \
		[b]-I$(TARGET_TOOLCHAIN_STAGING_DIR)/include \[/b]
		-I$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/include \
		-L$(TARGET_TOOLCHAIN_STAGING_DIR)/lib -L$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/lib -ldl -static-libgcc \
		-DOPENSSL_SMALL_FOOTPRINT \
		$(CFLAGS_LARGEFILE) \
		$(OPENSSL_NO_CIPHERS) \
		$(OPENSSL_OPTIONS) \
	);
	touch $@

vielleicht kann mir das jemand erklären? *grins*
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,840
Beiträge
2,219,268
Mitglieder
371,543
Neuestes Mitglied
Brainbanger
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.