[Problem] OTR Tool für FB 7330 unter Freetz kompilieren

ip_001

Neuer User
Mitglied seit
3 Mai 2012
Beiträge
37
Punkte für Reaktionen
0
Punkte
6
Ich versuche nun das OTR Tool für meine Fritzbox zu kompilieren und komme nicht weiter. Ich nutze die Freetz Umgebung unter Virtual Box und die Toolchain ist vorhanden. Die libmcrypt bzw. mycrypt sowie libcurl sind installiert.

Beim Kompilieren kommt es zu folgender Meldung:

Code:
freetz@freetz-linux:/$ sudo /home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/mips-linux-gcc -o otrtool /home/freetz/otrtool/src/main.c
/home/freetz/otrtool/src/main.c:13:20: fatal error: mcrypt.h: No such file or directory
compilation terminated.

Die Header-Datei (mcrypt.h) ist an den folgenden Stellen vorhanden.

Code:
freetz@freetz-linux:/$ sudo find /. -name mcrypt.h
/./home/freetz/otrtool/mcrypt.h
/./home/freetz/otrtool/src/mcrypt.h
/./usr/include/mcrypt.h
/./usr/include/mutils/mcrypt.h

Hat jemand ein Tipp für mich?

PS: Das Kompilieren direkt auf der Freetz-Umgebung mittels "make" funktioniert und ich bekomme die Binary für mein i686 System.
 
Die libmcrypt bzw. mycrypt sowie libcurl sind installiert.
otrtool ist auch zur Laufzeit abhängig von libmcrypt. Hast Du libmcrypt für die Box (d. h. als Freetz-Paket für mips und/oder mipsel)?
Code:
# ldd ./otrtool
        linux-vdso.so.1 =>  (0x00007fffe4bee000)
        libmcrypt.so.4 => /usr/lib64/libmcrypt.so.4 (0x00007f1a91232000)
        libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007f1a90fdc000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f1a90c7c000)
        libidn.so.11 => /usr/lib64/libidn.so.11 (0x00007f1a90a49000)
        libldap-2.4.so.2 => /usr/lib64/libldap-2.4.so.2 (0x00007f1a90802000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f1a905f9000)
        libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00007f1a903c3000)
        libssl.so.1.0.0 => /lib64/libssl.so.1.0.0 (0x00007f1a90167000)
        libcrypto.so.1.0.0 => /lib64/libcrypto.so.1.0.0 (0x00007f1a8fdb8000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f1a8fba2000)
        libssh2.so.1 => /usr/lib64/libssh2.so.1 (0x00007f1a8f97b000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f1a9146b000)
        liblber-2.4.so.2 => /usr/lib64/liblber-2.4.so.2 (0x00007f1a8f76c000)                                                                                 
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f1a8f555000)                                                                                         
        libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x00007f1a8f33a000)                                                                                       
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f1a8f11d000)                                                                                       
        libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00007f1a8ee52000)                                                                                         
        libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00007f1a8ec2b000)                                                                                 
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f1a8ea27000)                                                                                       
        libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00007f1a8e81e000)                                                                           
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f1a8e61a000)                                                                                                 
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f1a8e417000)
 
Was bringt Dich dazu, den Compiler mit sudo aufzurufen?

Vermutlich gibt es ein Makefile dazu, also verwende es auch. Wenn nicht, schau, dass Du die passenden Optionen von Hand übergibst.
 
Beim Kompilieren kommt es zu folgender Meldung:
Code:
freetz@freetz-linux:/$ sudo /home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/mips-linux-gcc -o otrtool /home/freetz/otrtool/src/main.c
/home/freetz/otrtool/src/main.c:13:20: fatal error: mcrypt.h: No such file or directory
compilation terminated.
Die Header-Datei (mcrypt.h) ist an den folgenden Stellen vorhanden.
Versuch es mal so:
Code:
/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/mips-linux-gcc -v -I/usr/include -o otrtool /home/freetz/otrtool/src/main.c -lcurl -lmcrypt
und poste die Ausgabe. ;-)
 
otrtool ist auch zur Laufzeit abhängig von libmcrypt. Hast Du libmcrypt für die Box (d. h. als Freetz-Paket für mips und/oder mipsel)?
Ich glaube ich muss dazu sagen, dass ich es statisch kompilieren wollte? Der Parameter -static müsste demnach noch angefügt werden.

Was bringt Dich dazu, den Compiler mit sudo aufzurufen?
Hast Recht, das ist Quatsch.
Vermutlich gibt es ein Makefile dazu, also verwende es auch. Wenn nicht, schau, dass Du die passenden Optionen von Hand übergibst.
Ich muss gestehen, dass meine Kenntnisse dazu beschränkt sind. Danke für den Tipp. sf3978 hat mich zum Glück dabei unterstützt. ;-)

Versuch es mal so:
Code:
/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/mips-linux-gcc -v -I/usr/include -o otrtool /home/freetz/otrtool/src/main.c -lcurl -lmcrypt
und poste die Ausgabe. ;-)
Endlich einen kleinen Schritt weiter. ;-) Danke! Hier die Ausgabe erweitert um den Parameter -static, bei der ich noch mal Unterstützung benötige:
Code:
freetz@freetz-linux:~/otrtool$ /home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/mips-linux-gcc -v -I/usr/include -o /home/freetz/otrtool/otrtool /home/freetz/otrtool/src/main.c -lcurl -lmcrypt -static
Using built-in specs.
COLLECT_GCC=/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/mips-linux-gcc
COLLECT_LTO_WRAPPER=/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../libexec/gcc/mips-linux-uclibc/4.6.3/lto-wrapper
Target: mips-linux-uclibc
Configured with: /home/gene/freetz/freetz-trunk-dev/source/toolchain-mips_gcc-4.6.3_uClibc-0.9.32.1/gcc-4.6.3/configure --prefix=/home/gene/freetz/freetz-trunk-dev/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc --with-sysroot=/home/gene/freetz/freetz-trunk-dev/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/usr/ --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=mips-linux-uclibc --enable-languages=c,c++ --enable-shared --enable-threads --with-gmp=/home/gene/freetz/freetz-trunk-dev/tools/build --with-mpfr=/home/gene/freetz/freetz-trunk-dev/tools/build --with-mpc=/home/gene/freetz/freetz-trunk-dev/tools/build --with-gnu-ld --disable-__cxa_atexit --disable-libgomp --disable-libmudflap --disable-multilib --disable-tls --disable-fixed-point --with-float=soft --enable-cxx-flags=-msoft-float --disable-libssp --with-march=24kc --disable-nls --with-mips-plt --disable-decimal-float
Thread model: posix
gcc version 4.6.3 (GCC)
COLLECT_GCC_OPTIONS='-v' '-I' '/usr/include' '-o' '/home/freetz/otrtool/otrtool' '-static' '-msoft-float' '-mllsc' '-mplt' '-mno-synci' '-mno-shared'
 /home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../libexec/gcc/mips-linux-uclibc/4.6.3/cc1 -quiet -v -I /usr/include -iprefix /home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.6.3/ -isysroot /home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../usr/ /home/freetz/otrtool/src/main.c -quiet -dumpbase main.c -msoft-float -mllsc -mplt -mno-synci -mno-shared -auxbase main -version -o /tmp/ccufT58s.s
GNU C (GCC) version 4.6.3 (mips-linux-uclibc)
        compiled by GNU C version 4.6.1, GMP version 5.0.5, MPFR version 3.1.0-p10, MPC version 0.9
GGC heuristics: --param ggc-min-expand=88 --param ggc-min-heapsize=109751
ignoring duplicate directory "/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/../../lib/gcc/mips-linux-uclibc/4.6.3/include"
ignoring nonexistent directory "/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../usr//usr/local/include"
ignoring duplicate directory "/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/../../lib/gcc/mips-linux-uclibc/4.6.3/include-fixed"
ignoring duplicate directory "/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/../../lib/gcc/mips-linux-uclibc/4.6.3/../../../../mips-linux-uclibc/include"
ignoring duplicate directory "/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../usr//usr/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/include
 /home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.6.3/include
 /home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.6.3/include-fixed
 /home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.6.3/../../../../mips-linux-uclibc/include
End of search list.
GNU C (GCC) version 4.6.3 (mips-linux-uclibc)
        compiled by GNU C version 4.6.1, GMP version 5.0.5, MPFR version 3.1.0-p10, MPC version 0.9
GGC heuristics: --param ggc-min-expand=88 --param ggc-min-heapsize=109751
Compiler executable checksum: d88b26cb80fb05c41fb012aeeba078cc
COLLECT_GCC_OPTIONS='-v' '-I' '/usr/include' '-o' '/home/freetz/otrtool/otrtool' '-static' '-msoft-float' '-mllsc' '-mplt' '-mno-synci' '-mno-shared'
 /home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.6.3/../../../../mips-linux-uclibc/bin/as -EB -no-mdebug -mabi=32 -mno-shared -call_nonpic -o /tmp/ccjKdYvd.o /tmp/ccufT58s.s
COMPILER_PATH=/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../libexec/gcc/mips-linux-uclibc/4.6.3/:/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../libexec/gcc/:/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.6.3/../../../../mips-linux-uclibc/bin/
LIBRARY_PATH=/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.6.3/:/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/:/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.6.3/../../../../mips-linux-uclibc/lib/:/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../usr//lib/:/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../usr//usr/lib/
COLLECT_GCC_OPTIONS='-v' '-I' '/usr/include' '-o' '/home/freetz/otrtool/otrtool' '-static' '-msoft-float' '-mllsc' '-mplt' '-mno-synci' '-mno-shared'
 /home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../libexec/gcc/mips-linux-uclibc/4.6.3/collect2 --sysroot=/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../usr/ -EB -static -o /home/freetz/otrtool/otrtool /home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.6.3/../../../../mips-linux-uclibc/lib/crt1.o /home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.6.3/../../../../mips-linux-uclibc/lib/crti.o /home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.6.3/crtbeginT.o -L/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.6.3 -L/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc -L/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.6.3/../../../../mips-linux-uclibc/lib -L/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../usr//lib -L/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../usr//usr/lib /tmp/ccjKdYvd.o -lcurl -lmcrypt --start-group -lgcc -lgcc_eh -lc --end-group /home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.6.3/crtend.o /home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.6.3/../../../../mips-linux-uclibc/lib/crtn.o
/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.6.3/../../../../mips-linux-uclibc/bin/ld: cannot find -lcurl
/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.6.3/../../../../mips-linux-uclibc/bin/ld: cannot find -lmcrypt
collect2: ld returned 1 exit status
freetz@freetz-linux:~/otrtool$
 
Versuch es mal so:
Code:
/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/mips-linux-gcc -v -I/usr/include -o otrtool /home/freetz/otrtool/src/main.c -lcurl -lmcrypt
Damit wird die Datei vom Host verwendet. Wenn man Glück hat, funktioniert es damit. Wenn man Pech hat, gibt es Fehler zur Laufzeit, deren Ursache nicht offensichtlich ist.
 
Damit wird die Datei vom Host verwendet.
Nach meinem Kenntnisstand, gibt es z. Zt. in Freetz keine "mcrypt.h" bzw. keine "libmcrypt" (... siehe mein Beitrag #2). Ist/war nur als Beispiel gedacht, wie man den Pfad für header-Dateien, mitteilen kann. Wenn in Freetz vorhanden bzw. für die anderen erforderlichen Header-Dateien (... curl.h, etc.), kann man z. B.:
Code:
-I/< ... >/freetz-devel/toolchain/build/mipsel_gcc-4.6.3_uClibc-0.9.##.#/mipsel-linux-uclibc/include
benutzen.
 
Code:
/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.6.3/../../../../mips-linux-uclibc/bin/ld: cannot find -lcurl
/home/freetz/freetz-devel/toolchain/build/mips_gcc-4.6.3_uClibc-0.9.32.1/mips-linux-uclibc/bin/../lib/gcc/mips-linux-uclibc/4.6.3/../../../../mips-linux-uclibc/bin/ld: cannot find -lmcrypt
collect2: ld returned 1 exit status
freetz@freetz-linux:~/otrtool$
Wo die libraries fürs Linken gefunden werden sollen/können, kannst Du z. B. mit:
Code:
-L/< ... >/freetz-devel/toolchain/build/mipsel_gcc-4.6.3_uClibc-0.9.##.#/mipsel-linux-uclibc/lib
mitteilen
 
Laut dem find in Beitrag 1 gibt es mcrpyt.h im Programm Verzeichnis, sogar gleich zweimal.
Das ist die "Datei vom Host", die nach dem Auschecken/Entpacken, vom TE in das Programm-Verzeichnis kopiert worden ist. Das Archiv mit dem source code von otrtool, beinhaltet diese Header-Datei nicht:
Code:
:~/pyropeter-otrtool-bb72ff0/src> ls -l
-rw-r--r-- 1 xx users 24049 12. Jul 23:50 main.c
-rw-r--r-- 1 xx users  8875 12. Jul 23:50 md5.c
-rw-r--r-- 1 xx users  1504 12. Jul 23:50 md5.h
Code:
:~/pyropeter-otrtool-bb72ff0> ls -l
drwxr-xr-x   2 xx users    80 12. Jul 23:50 doc
-rw-r--r--   1 xx users  6880 12. Jul 23:50 LICENSE
-rw-r--r--   1 xx users  1519 12. Jul 23:50 Makefile
-rw-r--r--   1 xx users  1899 12. Jul 23:50 README
drwxr-xr-x   2 xx users   168  12. Jul 23:50 src
-rw-r--r--   1 xx users   541 12. Jul 23:50 TODO
 
Hat jemand ein Tipp für mich?
BTW: Wenn Du _nur_ (d. h. wenn keine andere Abhängigkeiten vorhanden) eine Header-Datei in das Programm-Verzeichnis kopieren willst/musst, dann kannst Du die include-Direktive in der source-code-Datei (hier main.c) ändern, damit diese Header-Datei auch im Programm-Verzeichnis gesucht und gefunden wird. D. h., aus #include <mcrypt.h> mach #include "mcrypt.h".
 
Libmcrypt ist eine Voraussetzung für das otrtool. Du solltest es folglich vorher für die Box kompilieren.

Da ip_001 statisch kompilieren will, habe ich die otrtool.mk von sf3978 um diese Option erweitert:
Code:
$(call PKG_INIT_BIN, 1.0.2)
$(PKG)_SOURCE:=$(pkg)-$($(PKG)_VERSION).tar.gz
$(PKG)_SOURCE_MD5:=3fa2e766b2e1e0a3207adae69b516e44
$(PKG)_SITE:=http://github.com/pyropeter/otrtool/tarball/v$($(PKG)_VERSION)
$(PKG)_BINARIES:=$(pkg)
$(PKG)_BINARIES_BUILD_DIR:=$($(PKG)_BINARIES:%=$($(PKG)_DIR)/%)
$(PKG)_BINARIES_TARGET_DIR:=$($(PKG)_BINARIES:%=$($(PKG)_DEST_DIR)/usr/bin/%)

$(PKG)_DEPENDS_ON := curl libmcrypt

$(PKG_SOURCE_DOWNLOAD)
$(PKG_CONFIGURED_NOP)

$(PKG)_CFLAGS = $(TARGET_CFLAGS) -DVERSION='\"v$(OTRTOOL_VERSION)\"'

$(PKG)_LDFLAGS := -lmcrypt -lcurl

ifeq ($(strip $(FREETZ_PACKAGE_OTRTOOL_STATIC)),y)
$(PKG)_LDFLAGS += -static
endif

$($(PKG)_DIR)/.unpacked: $(DL_DIR)/$(OTRTOOL_SOURCE)
	tar --strip-components 1 -C $(OTRTOOL_DIR) $(VERBOSE) -zxf $(DL_DIR)/$(OTRTOOL_SOURCE)
	touch $@

$($(PKG)_BINARIES_BUILD_DIR): $($(PKG)_DIR)/.configured
	$(SUBMAKE) -C $(OTRTOOL_DIR) \
		CC="$(TARGET_CC)" \
		CFLAGS="$(OTRTOOL_CFLAGS)" \
		LDFLAGS="$(OTRTOOL_LDFLAGS)"

$($(PKG)_BINARIES_TARGET_DIR): $($(PKG)_DEST_DIR)/usr/bin/%: $($(PKG)_DIR)/%
	$(INSTALL_BINARY_STRIP)

$(pkg):

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

$(pkg)-clean:
	-$(SUBMAKE) -C $(OTRTOOL_DIR) clean
	$(RM) $(OTRTOOL_DIR)/.configured

$(pkg)-uninstall:
	$(RM) $(OTRTOOL_BINARIES_TARGET_DIR)

$(PKG_FINISH)
 

Anhänge

  • libmcrypt.patch.txt
    3.3 KB · Aufrufe: 1
Zuletzt bearbeitet:
Libmcrypt ist eine Voraussetzung für das otrtool.
Hier die otrtool.mk:
Code:
$(call PKG_INIT_BIN, 1.0.2)
$(PKG)_SOURCE:=$(pkg)-$($(PKG)_VERSION).tar.gz
#$(PKG)_SITE:=git@https://github.com/pyropeter/$(pkg).git

$(PKG)_BINARIES:=$(pkg)
$(PKG)_BINARIES_BUILD_DIR:=$($(PKG)_BINARIES:%=$($(PKG)_DIR)/%)
$(PKG)_BINARIES_TARGET_DIR:=$($(PKG)_BINARIES:%=$($(PKG)_DEST_DIR)/usr/bin/%)

$(PKG)_DEPENDS_ON := curl libmcrypt

$(PKG_SOURCE_DOWNLOAD)
$(PKG_UNPACKED)
$(PKG_CONFIGURED_NOP)

$($(PKG)_BINARIES_BUILD_DIR): $($(PKG)_DIR)/.configured
	$(SUBMAKE) -C $(OTRTOOL_DIR) \
		CC="$(TARGET_CC)" \
		CFLAGS="$(TARGET_CFLAGS)"

$($(PKG)_BINARIES_TARGET_DIR): $($(PKG)_DEST_DIR)/usr/bin/%: $($(PKG)_DIR)/%
	$(INSTALL_BINARY_STRIP)

$(pkg):

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

$(pkg)-clean:
	-$(SUBMAKE) -C $(OTRTOOL_DIR) clean
	$(RM) $(OTRTOOL_DIR)/.configured

$(pkg)-uninstall:
	$(RM) $(OTRTOOL_BINARIES_TARGET_DIR)

$(PKG_FINISH)
Code:
... /freetz-devel> file packages/target-mipsel_uClibc-0.9.32.1/otrtool-1.0.2/root/usr/bin/otrtool
packages/target-mipsel_uClibc-0.9.32.1/otrtool-1.0.2/root/usr/bin/otrtool: ELF 32-bit LSB executable, MIPS, MIPS32 version 1 (SYSV), dynamically linked (uses shared libs), with unknown capability 0xf41 = 0x756e6700, with unknown capability 0x70100 = 0x3040000, stripped
Code:
root@fritz:/var/media/ftp/uStor02/test# ./readelf -d ./otrtool

Dynamic section at offset 0x180 contains 33 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libmcrypt.so.4]
 0x00000001 (NEEDED)                     Shared library: [libcurl.so.4]
 0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]
 0x00000001 (NEEDED)                     Shared library: [libc.so.0]
 0x0000000f (RPATH)                      Library rpath: [/usr/lib/freetz]
 
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.