Ankündigung

Einklappen
Keine Ankündigung bisher.

eibd für FritzBox 7390 compilieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    eibd für FritzBox 7390 compilieren

    Hallo zusammen,

    ich habe ein Problem, eibd für die 7390 zu übersetzen. Bisher bin ich nach der Anleitung hier aus dem Forum vorgegangen.

    Ich habe die Toolchain von Freetz genommen.
    Code:
    export TOOL_CHAIN=/storage/linux/7390/freetz-trunk/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc
    export  TOOLCHAIN_BIN=$TOOL_CHAIN/bin
    export  TOOLCHAIN_LIB=$TOOL_CHAIN/lib
    export TOOLCHAIN_INC=$TOOL_CHAIN/include
     
    export PATH=$TOOLCHAIN_BIN:$PATH
     
     export AR=$TOOLCHAIN_BIN/mips-linux-uclibc-ar
     export AS=$TOOLCHAIN_BIN/mips-linux-uclibc-as
     export LD=$TOOLCHAIN_BIN/mips-linux-uclibc-ld
     export NM=$TOOLCHAIN_BIN/mips-linux-uclibc-nm
     export CC=$TOOLCHAIN_BIN/mips-linux-uclibc-gcc
     export CPP=$TOOLCHAIN_BIN/mips-linux-uclibc-cpp
     export GCC=$TOOLCHAIN_BIN/mips-linux-uclibc-gcc
     export CC=$TOOLCHAIN_BIN/mips-linux-uclibc-gcc
    export CXX=$TOOLCHAIN_BIN/mips-linux-uclibc-g++
    export PATH=$TOOLCHAIN_BIN/mipsel-linux-uclibc-ranlib:$PATH
     
     export CFLAGS="-O3 -Os -march=24kec -mips16 -mdsp"
     export LDFLAGS="-L$TOOLCHAIN_LIB"
     export CPPFLAGS="-I$TOOLCHAIN_INC"
    Dann habe ich wie im oben verlinkten Beitrag die libargp.a und die libpthsem.la erzeugt.

    um das folgende configure für bcusdk-0.0.5 sauber durchzubekommen, musste ich den Pfad um pthsem-2.0.8/FritzBoxFiles erweitern, da sonst die falsche Version aus den /usr/lib findet.

    Code:
    ../configure --prefix=/storage/linux/eib/bcusdk-0.0.5/FritzBoxFiles --host=mips-linux-uclibc --build=i386-linux-gnu --without-pth-test --enable-onlyeibd --enable-eibnetiptunnel --enable-eibnetipserver --enable-groupcache CPPFLAGS=-I/storage/linux/eib/argp-standalone-1.3/ LDFLAGS="-L/storage/linux/eib/argp-standalone-1.3/FritzBoxFiles/ -L/storage/linux/eib/pthsem-2.0.8/ -strip"
    Beim make wird aber die Datei pthsem.h nicht gefunden. Hier die ganze Meldung:
    Code:
    /storage/linux/7390/freetz-trunk/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/bin/mips-linux-uclibc-g++ -DHAVE_CONFIG_H -I. -I../../../eibd/libserver -I../..  -I../../../eibd/include -I../../../common -I/storage/linux/eib/pthsem-2.0.8/FritzBoxFiles/include -I/storage/linux/eib/argp-standalone-1.3/  -g -O2 -fno-rtti -fno-exceptions -MT common.o -MD -MP -MF .deps/common.Tpo -c -o common.o ../../../eibd/libserver/common.cpp
    In file included from ../../../eibd/libserver/common.h:57,
                     from ../../../eibd/libserver/common.cpp:22:
    ../../../eibd/libserver/threads.h:23:20: error: pthsem.h: No such file or directory
    In file included from ../../../eibd/libserver/common.h:57,
                     from ../../../eibd/libserver/common.cpp:22:
    ../../../eibd/libserver/threads.h:34: error: cannot declare pointer to 'void' member
    ../../../eibd/libserver/threads.h:34: error: typedef 'THREADENTRY' is initialized (use decltype instead)
    ../../../eibd/libserver/threads.h:34: error: 'pth_sem_t' was not declared in this scope
    ../../../eibd/libserver/threads.h:34: error: 'stopcond' was not declared in this scope
    ../../../eibd/libserver/threads.h:44: error: 'pth_t' does not name a type
    ../../../eibd/libserver/threads.h:48: error: 'THREADENTRY' does not name a type
    ../../../eibd/libserver/threads.h:50: error: 'pth_sem_t' does not name a type
    ../../../eibd/libserver/threads.h:58: error: 'pth_sem_t' has not been declared
    ../../../eibd/libserver/threads.h:65: error: 'THREADENTRY' has not been declared
    ../../../eibd/libserver/threads.h:65: error: 'PTH_PRIO_STD' was not declared in this scope
    make[3]: *** [common.o] Error 1
    make[3]: Leaving directory `/storage/linux/eib/bcusdk-0.0.5/FritzBoxFiles/eibd/libserver'
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory `/storage/linux/eib/bcusdk-0.0.5/FritzBoxFiles/eibd'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/storage/linux/eib/bcusdk-0.0.5/FritzBoxFiles'
    make: *** [all] Error 2
    Ich bin nicht wirklich fit im compilieren und es ist sicherlich ein Anfänger-Fehler, aber vielleicht kann mir jemand erklären, was ich falsch mache.

    Hintergrund ist, dass ja die 7390 auf mips aufgebaut ist und nicht, wie die anderen Boxen auf mipsel. Zudem habe ich bisher kein passendes Binary zum Download gefunden. Ausserdem möchte ich es jetzt gerne schaffen, das zu übersetzen.

    Vielen Dank schonmal
    & have fun
    jampr
    Grundausstattung: Eib für Licht und bald für Heizungssteuerung, Einzelraumregelung u Stellantrieb, fbf 7390 + dropbear + cron, ein gerade neu gebauter mini-itx server mit 1,5tb Raid1 EIBD + 1-wire für Überwachung der Puffer-Temperaturen, ipbox9000

    #2
    Zitat von jampr Beitrag anzeigen
    ich habe ein Problem, eibd für die 7390 zu übersetzen. Bisher bin ich nach der Anleitung hier aus dem Forum vorgegangen.

    Ich habe die Toolchain von Freetz genommen.
    Code:
    export TOOL_CHAIN=/storage/linux/7390/freetz-trunk/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc
    export  TOOLCHAIN_BIN=$TOOL_CHAIN/bin
    export  TOOLCHAIN_LIB=$TOOL_CHAIN/lib
    export TOOLCHAIN_INC=$TOOL_CHAIN/include
     
    export PATH=$TOOLCHAIN_BIN:$PATH
     
     export AR=$TOOLCHAIN_BIN/mips-linux-uclibc-ar
     export AS=$TOOLCHAIN_BIN/mips-linux-uclibc-as
     export LD=$TOOLCHAIN_BIN/mips-linux-uclibc-ld
     export NM=$TOOLCHAIN_BIN/mips-linux-uclibc-nm
     export CC=$TOOLCHAIN_BIN/mips-linux-uclibc-gcc
     export CPP=$TOOLCHAIN_BIN/mips-linux-uclibc-cpp
     export GCC=$TOOLCHAIN_BIN/mips-linux-uclibc-gcc
     export CC=$TOOLCHAIN_BIN/mips-linux-uclibc-gcc
    export CXX=$TOOLCHAIN_BIN/mips-linux-uclibc-g++
     export CFLAGS="-O3 -Os -march=24kec -mips16 -mdsp"
     export LDFLAGS="-L$TOOLCHAIN_LIB"
     export CPPFLAGS="-I$TOOLCHAIN_INC"
    Dann habe ich wie im oben verlinkten Beitrag die libargp.a und die libpthsem.la erzeugt.
    Die pthsem.h ist nicht im Include-Pfad (-I<path-to-pthsem.h> in CPPFLAGS fehlt).

    Kommentar


      #3
      Vielen Dank,
      anschließend ist das make durchgelaufen. Dann bin ich aber gleich ins nächste Problem gelaufen.

      Die USB-Tools fehlten. Daraufhin habe ich ein 'make clean' gemacht und das 'configure' um ein '--enable-usb' erweitert. Danach ist make mit folgendem Fehler hängengeblieben.


      Code:
      libtool: link: /storage/linux/7390/freetz-trunk/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/bin/mips-linux-uclibc-g++ -g -O2 -fno-rtti -fno-exceptions -strip -minterlink-mips16 -o .libs/eibd eibd.o  -L/storage/linux/eib/argp-standalone-1.3/FritzBoxFiles/ -L/storage/linux/eib/pthsem-2.0.8/ ../backend/libbackend.a ../libserver/libeibstack.a ../../common/libcommon.a ../usb/libusb.a -L/storage/linux/eib/pthsem-2.0.8/FritzBoxFiles/lib /storage/linux/eib/pthsem-2.0.8/FritzBoxFiles//.libs/libpthsem.so -L/storage/linux/7390/freetz-trunk/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/lib -largp -Wl,-rpath -Wl,/storage/linux/eib/pthsem-2.0.8/FritzBoxFiles/lib
      mips-linux-uclibc-g++: unrecognized option '-strip'
      /storage/linux/7390/freetz-trunk/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/bin-ccache/../lib/gcc/mips-linux-uclibc/4.4.6/../../../../mips-linux-uclibc/bin/ld: ../usb/libusb.a(usb.o): .text+0x44: Direct jumps between ISA modes are not allowed; consider recompiling with interlinking enabled.
      /storage/linux/7390/freetz-trunk/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/bin-ccache/../lib/gcc/mips-linux-uclibc/4.4.6/../../../../mips-linux-uclibc/bin/ld: final link failed: Bad value
      collect2: ld returned 1 exit status
      make[3]: *** [eibd] Error 1
      make[3]: Leaving directory `/storage/linux/eib/bcusdk-0.0.5/FritzBoxFiles/eibd/server'
      make[2]: *** [all-recursive] Error 1
      make[2]: Leaving directory `/storage/linux/eib/bcusdk-0.0.5/FritzBoxFiles/eibd'
      make[1]: *** [all-recursive] Error 1
      make[1]: Leaving directory `/storage/linux/eib/bcusdk-0.0.5/FritzBoxFiles'
      make: *** [all] Error 2
      --> .text+0x44: Direct jumps between ISA modes are not allowed; consider recompiling with interlinking enabled.
      Bei Google finde ich nur einen Hinweis auf eine Patch-Diskussion.

      Vielleicht hast Du noch einen Tip für mich.
      Grundausstattung: Eib für Licht und bald für Heizungssteuerung, Einzelraumregelung u Stellantrieb, fbf 7390 + dropbear + cron, ein gerade neu gebauter mini-itx server mit 1,5tb Raid1 EIBD + 1-wire für Überwachung der Puffer-Temperaturen, ipbox9000

      Kommentar


        #4
        Zitat von jampr Beitrag anzeigen
        Vielleicht hast Du noch einen Tip für mich.
        Das ist ein Toolchain Problem bzw. bei dessen Nutzung.

        Ich halte es für das wahrscheinlichste, wenn unterschiedliche Compiler-Optionen bei den Aufruf der diversen configure verwendet wurden.

        Kommentar


          #5
          Nochmals Danke für die Unterstützung. Aber ich denke, dass ich nicht qualifiziert genug bin, Dir zu Folgen.

          Ich werde dann leider aufhören, den eibd auf der 7390 für mips zu übersetzen, hoffe aber, dass jemand mit mehr knowhow irgendwann ein binary zur Verfügung stellt, das auf der 7390 funktioniert.

          have fun
          jampr
          Grundausstattung: Eib für Licht und bald für Heizungssteuerung, Einzelraumregelung u Stellantrieb, fbf 7390 + dropbear + cron, ein gerade neu gebauter mini-itx server mit 1,5tb Raid1 EIBD + 1-wire für Überwachung der Puffer-Temperaturen, ipbox9000

          Kommentar


            #6
            Hallo zusammen,

            hat denn noch keiner den eibd für die fritz box 7390 mit der USB Unterstützung als fertig Kompilierte Datei fertig? Wäre da sehr interessiert dran. Würde dann meinen Debian Server in der Versenkung verschwinden lassen können und mein USB Interface von Busch Jäger direkt an die Fritzbox anschliesen.
            Verusche mich auch grad als anfänger am Kompilieren, wenn da was rauskommen sollte könnte ich die Datei ja hier posten oder so.

            Gruß

            Kommentar

            Lädt...
            X