Ergebnis 1 bis 20 von 56

Thema: Telldus Tellstick für Freetz kompilieren (FritzBox 7390)

Hybrid-Darstellung

  1. #1
    IPPF-Einsteiger
    Registriert seit
    28.06.2010
    Beiträge
    24

    Telldus Tellstick für Freetz kompilieren (FritzBox 7390)

    <edit on>
    Der aktuelle Stand inkl. kleines HowTo ist Posting zu finden!
    <edit off>



    Moin moin,

    ich lese schon seit längerer Zeit in diesem Forum mit und bin hellauf begeistert. Nun stehe ich vor dem Problem, dass ich meiner FritzBox 7390 einen Telldus Tellstick spendierte, um einen Teil in meiner Wohnung mit der FritzBox zu automatisieren. Leider ist es ca. 10 Jahre her, dass ich beruflich Makefiles geschrieben habe. Erschwerend kommt nun das Crosscompilen dazu.

    Vielleicht hat ja jemand Lust und kann mir dabei helfen.

    Mein erstes Ziel ist, dass ich es manuell mit dem Freetz VMWare Image fehlerfrei kompiliert bekomme. Dann könnte ich mir vorstellen den zweiten Schritt zu versuchen, daraus ein Paket zu schnüren bzw. in ein HowTo zu giessen.

    Auf meinem Debian habe ich folgende Anleitung erfolgreich umgesetzt.

    Die Code Textfelder enthalten die Ausgabe oder den Inhalt von Dateien und können im ersten Schritt übersprungen werden.

    Meine bereits durchgeführten Schritte:

    1.Schritt: libConfuse
    Die TellStick Software benötigt die Lib libConfuse.
    • Trunk von Freetz --> /home/freetz/freetz, einen Build angestossen ohne etwas zu ändern ausser der Zielarchitektur.
    • export PATH=/home/freetz/freetz/toolchain/target/bin:$PATH
    • confuse-2.7.tar.gz --> /home/freetz/confuse-2.7
    • ./configure CC="mips-linux-uclibc-gcc" CFLAGS="-Os -pipe -march=4kc -Wa,--trap" --build=i386-linux -gnu --target=mips-linux --host=mips-linux --prefix=/home/freetz/lib/
      Code:
      checking whether to enable maintainer-specific portions of Makefiles... no
      checking for a BSD-compatible install... /usr/bin/install -c
      checking whether build environment is sane... yes
      checking for mips-linux-strip... mips-linux-strip
      checking for a thread-safe mkdir -p... /bin/mkdir -p
      checking for gawk... gawk
      checking whether make sets $(MAKE)... yes
      checking for mips-linux-gcc... mips-linux-uclibc-gcc
      checking whether the C compiler works... yes
      checking for C compiler default output file name... a.out
      checking for suffix of executables...
      checking whether we are cross compiling... yes
      checking for suffix of object files... o
      checking whether we are using the GNU C compiler... yes
      checking whether mips-linux-uclibc-gcc accepts -g... yes
      checking for mips-linux-uclibc-gcc option to accept ISO C89... none needed
      checking for style of include used by make... GNU
      checking dependency style of mips-linux-uclibc-gcc... gcc3
      checking for flex... flex
      checking lex output file root... lex.yy
      checking lex library... none needed
      checking whether yytext is a pointer... no
      checking build system type... i386-pc-linux-gnu
      checking host system type... mips-unknown-linux-gnu
      checking for a sed that does not truncate output... /bin/sed
      checking for grep that handles long lines and -e... /bin/grep
      checking for egrep... /bin/grep -E
      checking for fgrep... /bin/grep -F
      checking for ld used by mips-linux-uclibc-gcc... /home/freetz/freetz/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/mips-linux-uclibc/bin/ld
      checking if the linker (/home/freetz/freetz/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/mips-linux-uclibc/bin/ld) is GNU ld... yes
      checking for BSD- or MS-compatible name lister (nm)... /home/freetz/freetz/toolchain/target/bin/mips-linux-nm -B
      checking the name lister (/home/freetz/freetz/toolchain/target/bin/mips-linux-nm -B) interface... BSD nm
      checking whether ln -s works... yes
      checking the maximum length of command line arguments... 1572864
      checking whether the shell understands some XSI constructs... yes
      checking whether the shell understands "+="... yes
      checking for /home/freetz/freetz/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/mips-linux-uclibc/bin/ld option to reload object files... -r
      checking for mips-linux-objdump... mips-linux-objdump
      checking how to recognize dependent libraries... pass_all
      checking for mips-linux-ar... mips-linux-ar
      checking for mips-linux-strip... (cached) mips-linux-strip
      checking for mips-linux-ranlib... mips-linux-ranlib
      checking command to parse /home/freetz/freetz/toolchain/target/bin/mips-linux-nm -B output from mips-linux-uclibc-gcc object... ok
      checking how to run the C preprocessor... mips-linux-uclibc-gcc -E
      checking for ANSI C header files... yes
      checking for sys/types.h... yes
      checking for sys/stat.h... yes
      checking for stdlib.h... yes
      checking for string.h... yes
      checking for memory.h... yes
      checking for strings.h... yes
      checking for inttypes.h... yes
      checking for stdint.h... yes
      checking for unistd.h... yes
      checking for dlfcn.h... yes
      checking for objdir... .libs
      checking if mips-linux-uclibc-gcc supports -fno-rtti -fno-exceptions... no
      checking for mips-linux-uclibc-gcc option to produce PIC... -fPIC -DPIC
      checking if mips-linux-uclibc-gcc PIC flag -fPIC -DPIC works... yes
      checking if mips-linux-uclibc-gcc static flag -static works... yes
      checking if mips-linux-uclibc-gcc supports -c -o file.o... yes
      checking if mips-linux-uclibc-gcc supports -c -o file.o... (cached) yes
      checking whether the mips-linux-uclibc-gcc linker (/home/freetz/freetz/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/mips-linux-uclibc/bin/ld) supports shared libraries... yes
      checking dynamic linker characteristics... GNU/Linux ld.so
      checking how to hardcode library paths into programs... immediate
      checking whether stripping libraries is possible... yes
      checking if libtool supports shared libraries... yes
      checking whether to build shared libraries... no
      checking whether to build static libraries... yes
      checking whether NLS is requested... yes
      checking for msgfmt... /usr/bin/msgfmt
      checking for gmsgfmt... /usr/bin/msgfmt
      checking for xgettext... /usr/bin/xgettext
      checking for msgmerge... /usr/bin/msgmerge
      checking for ld used by GCC... /home/freetz/freetz/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/mips-linux-uclibc/bin/ld
      checking if the linker (/home/freetz/freetz/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/mips-linux-uclibc/bin/ld) is GNU ld... yes
      checking for shared library run path origin... done
      checking for CFPreferencesCopyAppValue... no
      checking for CFLocaleCopyCurrent... no
      checking for GNU gettext in libc... no
      checking for iconv... yes
      checking for GNU gettext in libintl... no
      checking whether to use NLS... no
      checking for ANSI C header files... (cached) yes
      checking for unistd.h... (cached) yes
      checking for an ANSI C-conforming const... yes
      checking for strcasecmp... yes
      checking for strdup... yes
      checking for strndup... yes
      checking for library containing inet_ntoa... none required
      configure: creating ./config.status
      config.status: creating Makefile
      config.status: creating src/Makefile
      config.status: creating examples/Makefile
      config.status: creating po/Makefile.in
      config.status: creating m4/Makefile
      config.status: creating tests/Makefile
      config.status: creating doc/Makefile
      config.status: creating doc/Doxyfile
      config.status: creating libconfuse.pc
      config.status: creating libconfuse.spec
      config.status: creating config.h
      config.status: executing depfiles commands
      config.status: executing libtool commands
      config.status: executing po-directories commands
      config.status: creating po/POTFILES
      config.status: creating po/Makefile
    • ~/confuse-2.7$ make
      Code:
      make  all-recursive
      make[1]: Betrete Verzeichnis '/home/freetz/confuse-2.7'
      Making all in m4
      make[2]: Betrete Verzeichnis '/home/freetz/confuse-2.7/m4'
      make[2]: Für das Ziel »all« ist nichts zu tun.
      make[2]: Verlasse Verzeichnis '/home/freetz/confuse-2.7/m4'
      Making all in po
      make[2]: Betrete Verzeichnis '/home/freetz/confuse-2.7/po'
      make[2]: Für das Ziel »all« ist nichts zu tun.
      make[2]: Verlasse Verzeichnis '/home/freetz/confuse-2.7/po'
      Making all in src
      make[2]: Betrete Verzeichnis '/home/freetz/confuse-2.7/src'
      /bin/bash ../libtool --tag=CC   --mode=compile mips-linux-uclibc-gcc -DLOCALEDIR=\"/home/freetz/lib/share/locale\" -DHAVE_CONFIG_H -I. -I..     -Os -pipe -march=4kc -Wa,--trap -MT confuse.lo -MD -MP -MF .deps/confuse.Tpo -c -o confuse.lo confuse.c
      libtool: compile:  mips-linux-uclibc-gcc -DLOCALEDIR=\"/home/freetz/lib/share/locale\" -DHAVE_CONFIG_H -I. -I.. -Os -pipe -march=4kc -Wa,--trap -MT confuse.lo -MD -MP -MF .deps/confuse.Tpo -c confuse.c -o confuse.o
      mv -f .deps/confuse.Tpo .deps/confuse.Plo
      /bin/bash ../libtool --tag=CC   --mode=compile mips-linux-uclibc-gcc -DLOCALEDIR=\"/home/freetz/lib/share/locale\" -DHAVE_CONFIG_H -I. -I..     -Os -pipe -march=4kc -Wa,--trap -MT lexer.lo -MD -MP -MF .deps/lexer.Tpo -c -o lexer.lo lexer.c
      libtool: compile:  mips-linux-uclibc-gcc -DLOCALEDIR=\"/home/freetz/lib/share/locale\" -DHAVE_CONFIG_H -I. -I.. -Os -pipe -march=4kc -Wa,--trap -MT lexer.lo -MD -MP -MF .deps/lexer.Tpo -c lexer.c -o lexer.o
      mv -f .deps/lexer.Tpo .deps/lexer.Plo
      /bin/bash ../libtool --tag=CC   --mode=link mips-linux-uclibc-gcc  -Os -pipe -march=4kc -Wa,--trap   -o libconfuse.la -rpath /home/freetz/lib/lib confuse.lo lexer.lo
      libtool: link: mips-linux-ar cru .libs/libconfuse.a  confuse.o lexer.o
      libtool: link: mips-linux-ranlib .libs/libconfuse.a
      libtool: link: ( cd ".libs" && rm -f "libconfuse.la" && ln -s "../libconfuse.la" "libconfuse.la" )
      make[2]: Verlasse Verzeichnis '/home/freetz/confuse-2.7/src'
      Making all in examples
      make[2]: Betrete Verzeichnis '/home/freetz/confuse-2.7/examples'
      mips-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I.. -I../src    -Os -pipe -march=4kc -Wa,--trap -MT simple.o -MD -MP -MF .deps/simple.Tpo -c -o simple.o simple.c
      mv -f .deps/simple.Tpo .deps/simple.Po
      /bin/bash ../libtool --tag=CC   --mode=link mips-linux-uclibc-gcc  -Os -pipe -march=4kc -Wa,--trap -L../src/  -o simple simple.o ../src/libconfuse.la
      libtool: link: mips-linux-uclibc-gcc -Os -pipe -march=4kc -Wa,--trap -o simple simple.o  -L/home/freetz/confuse-2.7/src ../src/.libs/libconfuse.a
      mips-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I.. -I../src    -Os -pipe -march=4kc -Wa,--trap -MT reread.o -MD -MP -MF .deps/reread.Tpo -c -o reread.o reread.c
      mv -f .deps/reread.Tpo .deps/reread.Po
      /bin/bash ../libtool --tag=CC   --mode=link mips-linux-uclibc-gcc  -Os -pipe -march=4kc -Wa,--trap -L../src/  -o reread reread.o ../src/libconfuse.la
      libtool: link: mips-linux-uclibc-gcc -Os -pipe -march=4kc -Wa,--trap -o reread reread.o  -L/home/freetz/confuse-2.7/src ../src/.libs/libconfuse.a
      mips-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I.. -I../src    -Os -pipe -march=4kc -Wa,--trap -MT ftpconf.o -MD -MP -MF .deps/ftpconf.Tpo -c -o ftpconf.o ftpconf.c
      mv -f .deps/ftpconf.Tpo .deps/ftpconf.Po
      /bin/bash ../libtool --tag=CC   --mode=link mips-linux-uclibc-gcc  -Os -pipe -march=4kc -Wa,--trap -L../src/  -o ftpconf ftpconf.o ../src/libconfuse.la
      libtool: link: mips-linux-uclibc-gcc -Os -pipe -march=4kc -Wa,--trap -o ftpconf ftpconf.o  -L/home/freetz/confuse-2.7/src ../src/.libs/libconfuse.a
      make[2]: Verlasse Verzeichnis '/home/freetz/confuse-2.7/examples'
      Making all in tests
      make[2]: Betrete Verzeichnis '/home/freetz/confuse-2.7/tests'
      make[2]: Für das Ziel »all« ist nichts zu tun.
      make[2]: Verlasse Verzeichnis '/home/freetz/confuse-2.7/tests'
      Making all in doc
      make[2]: Betrete Verzeichnis '/home/freetz/confuse-2.7/doc'
      make[2]: Für das Ziel »all« ist nichts zu tun.
      make[2]: Verlasse Verzeichnis '/home/freetz/confuse-2.7/doc'
      make[2]: Betrete Verzeichnis '/home/freetz/confuse-2.7'
      make[2]: Verlasse Verzeichnis '/home/freetz/confuse-2.7'
      make[1]: Verlasse Verzeichnis '/home/freetz/confuse-2.7'
    • ~/confuse-2.7$ make install
      Code:
      Making install in m4
      make[1]: Betrete Verzeichnis '/home/freetz/confuse-2.7/m4'
      make[2]: Betrete Verzeichnis '/home/freetz/confuse-2.7/m4'
      make[2]: Für das Ziel »install-exec-am« ist nichts zu tun.
      make[2]: Für das Ziel »install-data-am« ist nichts zu tun.
      make[2]: Verlasse Verzeichnis '/home/freetz/confuse-2.7/m4'
      make[1]: Verlasse Verzeichnis '/home/freetz/confuse-2.7/m4'
      Making install in po
      make[1]: Betrete Verzeichnis '/home/freetz/confuse-2.7/po'
      if test "confuse" = "gettext-tools"; then \
                /bin/mkdir -p /home/freetz/lib/share/gettext/po; \
                for file in Makefile.in.in remove-potcdate.sin quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot   Makevars.template; do \
                  /usr/bin/install -c -m 644 ./$file \
                                  /home/freetz/lib/share/gettext/po/$file; \
                done; \
                for file in Makevars; do \
                  rm -f /home/freetz/lib/share/gettext/po/$file; \
                done; \
              else \
                : ; \
              fi
      make[1]: Verlasse Verzeichnis '/home/freetz/confuse-2.7/po'
      Making install in src
      make[1]: Betrete Verzeichnis '/home/freetz/confuse-2.7/src'
      make[2]: Betrete Verzeichnis '/home/freetz/confuse-2.7/src'
      test -z "/home/freetz/lib/lib" || /bin/mkdir -p "/home/freetz/lib/lib"
       /bin/bash ../libtool   --mode=install /usr/bin/install -c   libconfuse.la '/home/freetz/lib/lib'
      libtool: install: /usr/bin/install -c .libs/libconfuse.lai /home/freetz/lib/lib/libconfuse.la
      libtool: install: /usr/bin/install -c .libs/libconfuse.a /home/freetz/lib/lib/libconfuse.a
      libtool: install: chmod 644 /home/freetz/lib/lib/libconfuse.a
      libtool: install: mips-linux-ranlib /home/freetz/lib/lib/libconfuse.a
      libtool: finish: PATH="/home/freetz/freetz/toolchain/target/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/sbin" ldconfig -n /home/freetz/lib/lib
      ----------------------------------------------------------------------
      Libraries have been installed in:
         /home/freetz/lib/lib
      
      If you ever happen to want to link against installed libraries
      in a given directory, LIBDIR, you must either use libtool, and
      specify the full pathname of the library, or use the `-LLIBDIR'
      flag during linking and do at least one of the following:
         - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
           during execution
         - add LIBDIR to the `LD_RUN_PATH' environment variable
           during linking
         - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
         - have your system administrator add LIBDIR to `/etc/ld.so.conf'
      
      See any operating system documentation about shared libraries for
      more information, such as the ld(1) and ld.so(8) manual pages.
      ----------------------------------------------------------------------
      test -z "/home/freetz/lib/include" || /bin/mkdir -p "/home/freetz/lib/include"
       /usr/bin/install -c -m 644 confuse.h '/home/freetz/lib/include'
      make[2]: Verlasse Verzeichnis '/home/freetz/confuse-2.7/src'
      make[1]: Verlasse Verzeichnis '/home/freetz/confuse-2.7/src'
      Making install in examples
      make[1]: Betrete Verzeichnis '/home/freetz/confuse-2.7/examples'
      make[2]: Betrete Verzeichnis '/home/freetz/confuse-2.7/examples'
      make[2]: Für das Ziel »install-exec-am« ist nichts zu tun.
      make[2]: Für das Ziel »install-data-am« ist nichts zu tun.
      make[2]: Verlasse Verzeichnis '/home/freetz/confuse-2.7/examples'
      make[1]: Verlasse Verzeichnis '/home/freetz/confuse-2.7/examples'
      Making install in tests
      make[1]: Betrete Verzeichnis '/home/freetz/confuse-2.7/tests'
      make[2]: Betrete Verzeichnis '/home/freetz/confuse-2.7/tests'
      make[2]: Für das Ziel »install-exec-am« ist nichts zu tun.
      make[2]: Für das Ziel »install-data-am« ist nichts zu tun.
      make[2]: Verlasse Verzeichnis '/home/freetz/confuse-2.7/tests'
      make[1]: Verlasse Verzeichnis '/home/freetz/confuse-2.7/tests'
      Making install in doc
      make[1]: Betrete Verzeichnis '/home/freetz/confuse-2.7/doc'
      make[2]: Betrete Verzeichnis '/home/freetz/confuse-2.7/doc'
      make[2]: Für das Ziel »install-exec-am« ist nichts zu tun.
      make[2]: Für das Ziel »install-data-am« ist nichts zu tun.
      make[2]: Verlasse Verzeichnis '/home/freetz/confuse-2.7/doc'
      make[1]: Verlasse Verzeichnis '/home/freetz/confuse-2.7/doc'
      make[1]: Betrete Verzeichnis '/home/freetz/confuse-2.7'
      make[2]: Betrete Verzeichnis '/home/freetz/confuse-2.7'
      make[2]: Für das Ziel »install-exec-am« ist nichts zu tun.
      test -z "/home/freetz/lib/lib/pkgconfig" || /bin/mkdir -p "/home/freetz/lib/lib/pkgconfig"
       /usr/bin/install -c -m 644 libconfuse.pc '/home/freetz/lib/lib/pkgconfig'
      make[2]: Verlasse Verzeichnis '/home/freetz/confuse-2.7'
      make[1]: Verlasse Verzeichnis '/home/freetz/confuse-2.7'
    • Inhalt /home/freetz/lib/
      Code:
      /home/freetz/lib/include/confuse.h
      /home/freetz/lib/lib/libconfuse.a
      /home/freetz/lib/lib/libconfuse.la
      /home/freetz/lib/lib/pkgconfig/libconfuse.pc
    Soweit sieht es mit der libconfuse gut aus. Ich wundere mich nur ein wenig, dass unter /home/freetz/lib/lib/ mehrere Dateien liegen. Ich hätte eine einzelne Datei erwartet. Ich kenne mich zwar mit Linux aus, aber wie eine Lib im Detail unter Linux aussieht, weiss ich nicht.

    2.Schritt: telldus-core
    • export LD_LIBRARY_PATH=/home/freetz/lib/lib:$LD_LIBRARY_PATH
    • telldus-core-2.0.4.tar.gz herunterladen.
    • telldus-core-2.0.4.tar.gz --> /home/freetz/telldus-core-2.0.4
    • /home/freetz/telldus-core-2.0.4/toolchain erstellt
      Code:
       # this one is important
          SET(CMAKE_SYSTEM_NAME Linux)
          #this one not so much
          SET(CMAKE_SYSTEM_VERSION 1)
      
          # specify the cross compiler
          SET(CMAKE_C_COMPILER   /home/freetz/freetz/toolchain/target/bin/mips-linux-uclibc-gcc)
          SET(CMAKE_CXX_COMPILER /home/freetz/freetz/toolchain/target/bin/mips-linux-uclibc-g++)
      
          # where is the target environment
          SET(CMAKE_FIND_ROOT_PATH  /home/freetz/telldus-core)
      
          # search for programs in the build host directories
          SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
          # for libraries and headers in the target directories
          SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY /home/freetz/lib/lib/)
          SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE /home/freetz/lib/include)
    • ~/telldus-core-2.0.4$ cmake -DCMAKE_TOOLCHAIN_FILE=toolchain .
      Code:
      -- The C compiler identification is GNU
      -- The CXX compiler identification is GNU
      -- Check for working C compiler: /home/freetz/freetz/toolchain/target/bin/mips-linux-uclibc-gcc
      -- Check for working C compiler: /home/freetz/freetz/toolchain/target/bin/mips-linux-uclibc-gcc -- works
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working CXX compiler: /home/freetz/freetz/toolchain/target/bin/mips-linux-uclibc-g++
      -- Check for working CXX compiler: /home/freetz/freetz/toolchain/target/bin/mips-linux-uclibc-g++ -- works
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Configuring done
      -- Generating done
      -- Build files have been written to: /home/freetz/telldus-core-2.0.4
    • ~/telldus-core-2.0.4$ make
      Code:
      Scanning dependencies of target telldus-core
      [  4%] Building CXX object driver/libtelldus-core/CMakeFiles/telldus-core.dir/Device.cpp.o
      [  9%] Building CXX object driver/libtelldus-core/CMakeFiles/telldus-core.dir/DeviceBrateck.cpp.o
      [ 13%] Building CXX object driver/libtelldus-core/CMakeFiles/telldus-core.dir/DeviceEverflourish.cpp.o
      [ 18%] Building CXX object driver/libtelldus-core/CMakeFiles/telldus-core.dir/DeviceFuhaote.cpp.o
      [ 22%] Building CXX object driver/libtelldus-core/CMakeFiles/telldus-core.dir/DeviceGroup.cpp.o
      [ 27%] Building CXX object driver/libtelldus-core/CMakeFiles/telldus-core.dir/DeviceIkea.cpp.o
      [ 31%] Building CXX object driver/libtelldus-core/CMakeFiles/telldus-core.dir/DeviceNexa.cpp.o
      [ 36%] Building CXX object driver/libtelldus-core/CMakeFiles/telldus-core.dir/DeviceRisingSun.cpp.o
      [ 40%] Building CXX object driver/libtelldus-core/CMakeFiles/telldus-core.dir/DeviceSartano.cpp.o
      [ 45%] Building CXX object driver/libtelldus-core/CMakeFiles/telldus-core.dir/DeviceUndefined.cpp.o
      [ 50%] Building CXX object driver/libtelldus-core/CMakeFiles/telldus-core.dir/DeviceUpm.cpp.o
      [ 54%] Building CXX object driver/libtelldus-core/CMakeFiles/telldus-core.dir/DeviceWaveman.cpp.o
      [ 59%] Building CXX object driver/libtelldus-core/CMakeFiles/telldus-core.dir/DeviceX10.cpp.o
      [ 63%] Building CXX object driver/libtelldus-core/CMakeFiles/telldus-core.dir/DeviceYidong.cpp.o
      [ 68%] Building CXX object driver/libtelldus-core/CMakeFiles/telldus-core.dir/Controller.cpp.o
      [ 72%] Building CXX object driver/libtelldus-core/CMakeFiles/telldus-core.dir/Manager.cpp.o
      [ 77%] Building CXX object driver/libtelldus-core/CMakeFiles/telldus-core.dir/Settings.cpp.o
      [ 81%] Building CXX object driver/libtelldus-core/CMakeFiles/telldus-core.dir/telldus-core.cpp.o
      [ 86%] Building CXX object driver/libtelldus-core/CMakeFiles/telldus-core.dir/SettingsConfuse.cpp.o
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:13:21: error: confuse.h: No such file or directory
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:21: error: ISO C++ forbids declaration of 'cfg_t' with no type
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:21: error: expected ';' before '*' token
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:22: error: ISO C++ forbids declaration of 'cfg_t' with no type
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:22: error: expected ';' before '*' token
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:25: error: 'cfg_t' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:25: error: 'cfg' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:26: error: 'cfg_t' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:26: error: 'cfg' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp: In constructor 'Settings::Settings()':
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:37: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:37: error: 'readConfig' cannot be used as a function
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:38: error: 'class privateVars' has no member named 'var_cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:38: error: 'readVarConfig' cannot be used as a function
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp: In destructor 'Settings::~Settings()':
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:46: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:47: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:47: error: 'cfg_free' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:49: error: 'class privateVars' has no member named 'var_cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:50: error: 'class privateVars' has no member named 'var_cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:50: error: 'cfg_free' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp: In member function 'std::string Settings::getSetting(const std::string&) const':
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:59: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:60: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:60: error: 'cfg_getstr' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp: In member function 'int Settings::getNumberOfDevices() const':
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:69: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:70: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:70: error: 'cfg_size' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp: In member function 'int Settings::getDeviceId(int) const':
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:79: error: 'cfg_t' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:79: error: 'cfg_device' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:79: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:79: error: 'cfg_getnsec' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:80: error: 'cfg_getint' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp: In member function 'int Settings::addDevice()':
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:90: error: 'fopen' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:91: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:91: error: 'cfg_print' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:92: error: 'fprintf' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:93: error: 'fclose' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:96: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:96: error: 'cfg_free' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:97: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:97: error: 'readConfig' cannot be used as a function
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp: In member function 'int Settings::getNextDeviceId() const':
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:106: error: 'cfg_t' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:106: error: 'cfg_device' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:107: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:107: error: 'cfg_size' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:108: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:108: error: 'cfg_getnsec' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:109: error: 'cfg_getint' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp: In member function 'bool Settings::removeDevice(int)':
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:122: error: 'fopen' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:125: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:128: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:129: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:129: error: 'cfg_opt_print' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:132: error: 'cfg_t' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:132: error: 'cfg_device' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:133: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:133: error: 'cfg_size' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:134: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:134: error: 'cfg_getnsec' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:135: error: 'cfg_getint' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:136: error: 'fprintf' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:137: error: 'cfg_print_indent' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:143: error: 'fclose' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:146: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:146: error: 'cfg_free' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:147: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:147: error: 'readConfig' cannot be used as a function
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp: In member function 'bool Settings::setDeviceState(int, int, const std::string&)':
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:153: error: 'class privateVars' has no member named 'var_cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:156: error: 'cfg_t' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:156: error: 'cfg_device' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:157: error: 'class privateVars' has no member named 'var_cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:157: error: 'cfg_size' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:158: error: 'class privateVars' has no member named 'var_cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:158: error: 'cfg_getnsec' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:159: error: 'cfg_title' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:161: error: 'cfg_setint' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:162: error: 'cfg_setstr' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:164: error: 'fopen' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:165: error: 'class privateVars' has no member named 'var_cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:165: error: 'cfg_print' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:166: error: 'fclose' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:171: error: 'fopen' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:172: error: 'class privateVars' has no member named 'var_cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:172: error: 'cfg_print' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:173: error: 'fprintf' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:174: error: 'fclose' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:177: error: 'class privateVars' has no member named 'var_cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:177: error: 'cfg_free' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:178: error: 'class privateVars' has no member named 'var_cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:178: error: 'readVarConfig' cannot be used as a function
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp: In member function 'int Settings::getDeviceState(int) const':
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:184: error: 'class privateVars' has no member named 'var_cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:187: error: 'cfg_t' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:187: error: 'cfg_device' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:188: error: 'class privateVars' has no member named 'var_cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:188: error: 'cfg_size' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:189: error: 'class privateVars' has no member named 'var_cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:189: error: 'cfg_getnsec' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:190: error: 'cfg_title' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:192: error: 'cfg_getint' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp: In member function 'std::string Settings::getDeviceStateValue(int) const':
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:199: error: 'class privateVars' has no member named 'var_cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:202: error: 'cfg_t' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:202: error: 'cfg_device' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:203: error: 'class privateVars' has no member named 'var_cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:203: error: 'cfg_size' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:204: error: 'class privateVars' has no member named 'var_cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:204: error: 'cfg_getnsec' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:205: error: 'cfg_title' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:207: error: 'cfg_getstr' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp: In member function 'std::string Settings::getStringSetting(int, const std::string&, bool) const':
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:215: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:218: error: 'cfg_t' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:218: error: 'cfg_device' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:219: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:219: error: 'cfg_size' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:220: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:220: error: 'cfg_getnsec' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:221: error: 'cfg_getint' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:223: error: 'cfg_getsec' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:225: error: 'cfg_getstr' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp: In member function 'bool Settings::setStringSetting(int, const std::string&, const std::string&, bool)':
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:236: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:239: error: 'cfg_t' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:239: error: 'cfg_device' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:240: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:240: error: 'cfg_size' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:241: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:241: error: 'cfg_getnsec' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:242: error: 'cfg_getint' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:244: error: 'cfg_parameters' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:244: error: 'cfg_getsec' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:245: error: 'cfg_setstr' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:247: error: 'cfg_setstr' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:249: error: 'fopen' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:250: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:250: error: 'cfg_print' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:251: error: 'fclose' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp: In member function 'int Settings::getIntSetting(int, const std::string&, bool) const':
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:259: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:262: error: 'cfg_t' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:262: error: 'cfg_device' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:263: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:263: error: 'cfg_size' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:264: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:264: error: 'cfg_getnsec' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:265: error: 'cfg_getint' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:267: error: 'cfg_getsec' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp: In member function 'bool Settings::setIntSetting(int, const std::string&, int, bool)':
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:276: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:279: error: 'cfg_t' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:279: error: 'cfg_device' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:280: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:280: error: 'cfg_size' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:281: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:281: error: 'cfg_getnsec' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:282: error: 'cfg_getint' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:284: error: 'cfg_parameters' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:284: error: 'cfg_getsec' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:285: error: 'cfg_setint' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:287: error: 'cfg_setint' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:289: error: 'fopen' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:290: error: 'class privateVars' has no member named 'cfg'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:290: error: 'cfg_print' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:291: error: 'fclose' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp: At global scope:
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:299: error: redefinition of 'bool readConfig'
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:25: error: 'bool readConfig' previously defined here
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:299: error: 'cfg_t' was not declared in this scope
      /home/freetz/telldus-core-2.0.4/driver/libtelldus-core/SettingsConfuse.cpp:299: error: 'cfg' was not declared in this scope
      make[2]: *** [driver/libtelldus-core/CMakeFiles/telldus-core.dir/SettingsConfuse.cpp.o] Fehler 1
      make[1]: *** [driver/libtelldus-core/CMakeFiles/telldus-core.dir/all] Fehler 2
      make: *** [all] Fehler 2

    Beim Kompilieren der Datei SettingsConfuse.cpp tritt dann das Problem auf. Es trat auch schon auf, als ich es das erste Mal auf meinem Debian ausprobierte. Nachdem ich die Pakete libconfuse0 und libconfuse-dev installierte, lief es dann durch.

    Es wird der Header nicht gefunden (Die Deklaration 'cfg_t' befindet sich in der Datei /home/freetz/lib/include/confuse.h). Das kann natürlich verschiedene Gründe haben. Entweder habe ich die libconfuse falsch gebaut oder ich habe noch nicht die Stelle gefunden, an der ich dem Compiler die Stelle für die Lib und/oder den Header unterjubeln kann, da das Makefile von cmake generiert wurde.

    Vielleicht springt jemandem das Problem ins Auge und kann mir dabei helfen bzw. den Schups in die richtige Richtung geben.

    Vielen Dank.

    Der Fred
    Geändert von Fred Edison (14.04.2012 um 18:08 Uhr) Grund: Link auf das Posting mit dem aktuellen Stand hinzugefügt.
    Anbindung: Alice Fun Max flat ISDN 16Mbit
    Router: AVM Fritzbox 7390 - 7390_05.22-freetz-devel.de (Revision 9169)
    IP Client: AVM Fritzbox 7170 - 7170_04.87freetz-devel.de (Revision ????)
    Telefon: 1x Swissvoice Eurit 547 (DECT) , 1x Hagenuk EuroPhone S (S0-Bus)
    IP-Phone: HTC Desire HD - Android Revolution HD 3.6, FRITZ!App Fon 1.65

  2. #2
    IPPF-Fünftausend-VIP
    Registriert seit
    01.02.2005
    Beiträge
    5.942
    Schau doch mal bei Openwrt rein: in diesem Paket ist ein Patch, der scheinbar in "driver/libtelldus-core/CMakeLists.txt" genau das Problem adressiert.

    Wenn du da die Pfade passend setzt...

    Jörg

    PS: Die angehängte Datei sollte zuzmindest für freetz die confuse-Library bauen (entpackt nach make/libs/; ist aber nicht groß getestet)
    Angehängte Dateien Angehängte Dateien
    Geändert von MaxMuster (22.06.2011 um 23:05 Uhr)
    (FR) Eumex 300IP FW 06.04.49 (englisch) und "relativ aktuellem" freetz-devel mit openvpn und dropbear hinter AGFEO TK-HomeServer
    Fritz!BoxFon WLAN FW 08.04.27 mit ds-0.2.9-p7 und openvpn-2.1_rc2

  3. #3
    IPPF-Einsteiger
    Registriert seit
    28.06.2010
    Beiträge
    24
    Vielen Dank!

    So nach ein paar Stunden und ein paar Flüchtigkeitsfehlern habe ich es zumindest geschafft, den ersten Schritt (libconfuse) in den Buildprozess zu integrieren.

    Ich kriege zwar noch folgende Meldung, aber darum kümmere ich mich später. Die libconfuse.a ist da und ich habe ein wenig dazugelernt.
    Code:
    processing external
        /usr/lib/freetz/libconfuse.a... not found & linked
    Dann mache ich mich mal an den zweiten Teil ran.

    <1. edit on>
    Ach so, gibt es einen Trick, wie man den Bauprozess einer Lib triggern kann?
    Nach einem "distclean" lädt der Prozess alles neu runter baut auch alles neu. Das nahm immer sehr viel Zeit in Anspruch, wenn ich meine Fehler korrigieren und testen wollte. Ein normales clean reichte leider nicht.
    <1. edit off>

    <2. edit on>
    kleines Update:
    Ohne den OpenWRT-Patch durchgeführt zu haben, komme ich mit dem Kompilieren des telldus-core-2.0.4 weiter. Es findet die confuse.h und die Deklarationen. Nun habe ich das Problem, dass beim Linken ein Problem auftaucht. Ich vermute mal, dass der Programmcode mit verschiedenen Compilern bzw. Parametern durchgeführt wurde. Vielleicht hat ja jemand eine Idee, parallel begebe ich mich auf die Suche.

    Code:
    ...
    [ 90%] Building CXX object driver/libtelldus-core/CMakeFiles/telldus-core.dir/linux/Device.cpp.o
    Linking CXX shared library libtelldus-core.so
    /home/freetz/freetz/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: /home/freetz/freetz/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/lib/libconfuse.a(confuse.o): relocation R_MIPS_26 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
    /home/freetz/freetz/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/lib/libconfuse.a: could not read symbols: Bad value
    collect2: ld returned 1 exit status
    make[2]: *** [driver/libtelldus-core/libtelldus-core.so.2.0.4] Fehler 1
    make[1]: *** [driver/libtelldus-core/CMakeFiles/telldus-core.dir/all] Fehler 2
    make: *** [all] Fehler 2
    <2. edit off>

    <3. edit on>
    kleines Update:
    Ich habe den OpenWRT Patch eingespielt und mir das make-File angesehen und folgenden Befehle auf der Konsole ausgeführt.
    cmake -DCMAKE_TOOLCHAIN_FILE=toolchain -DBUILD_RFCMD=0 -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_LIBTELLDUS-CORE=1 -DBUILD_TDTOOL=1 -DSUPPORT_TELLSTICK_DUO=0 -DSUPPORT_USB=0 -DGENERATE_MAN=0 -DUSE_QT_SETTINGS_BACKEND=0 -DCONFUSE_LIBRARY=/home/freetz/freetz/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/lib/libconfuse.a
    make
    Ergebnis wie beim 2. Update.

    Ich gucke mal, ob die Parameter für den Compiler, die beim Bauen des freetz-Images (bzw. libconfuse.a) verwendet werden fehlen.

    <3. edit off>

    Grüsse
    Geändert von Fred Edison (23.06.2011 um 19:07 Uhr)
    Anbindung: Alice Fun Max flat ISDN 16Mbit
    Router: AVM Fritzbox 7390 - 7390_05.22-freetz-devel.de (Revision 9169)
    IP Client: AVM Fritzbox 7170 - 7170_04.87freetz-devel.de (Revision ????)
    Telefon: 1x Swissvoice Eurit 547 (DECT) , 1x Hagenuk EuroPhone S (S0-Bus)
    IP-Phone: HTC Desire HD - Android Revolution HD 3.6, FRITZ!App Fon 1.65

  4. #4
    IPPF-Fünftausend-VIP
    Registriert seit
    01.02.2005
    Beiträge
    5.942
    Was hast du denn sonst noch gemacht/geändert, damit das "confuse.h" jetzt gefunden wird?
    Nutzt du "deine" gebaute Lib oder die mit dem obrigen Makefile gebaute?

    Zitat Zitat von Dr. Fred Edison Beitrag anzeigen
    Ach so, gibt es einen Trick, wie man den Bauprozess einer Lib triggern kann?
    Aus freetz heraus? Eigentlich sollte ein "make <wasauchimmer>-clean; make <wasauchimmer>-precompiled" für das Paket oder die Lib "<wasauchimmer>" genau das tun.

    Zwei Tricks um das noch zu erreichen: Die Datei "<wasauchimmer>.mk" verändern oder (ganz hart) im Ordner source/target<deine Toolchaindetails>/ alles, was zu dem Paket oder der Lib gehört (inclusive der versteckten Dateien mit Punkt am Anfang) löschen.

    Jörg
    (FR) Eumex 300IP FW 06.04.49 (englisch) und "relativ aktuellem" freetz-devel mit openvpn und dropbear hinter AGFEO TK-HomeServer
    Fritz!BoxFon WLAN FW 08.04.27 mit ds-0.2.9-p7 und openvpn-2.1_rc2

  5. #5
    IPPF-Fünftausend-VIP
    Registriert seit
    01.02.2005
    Beiträge
    5.942
    Hier mal ein "Komplettpaket", das sollte die beiden Dinge bauen. Mit dem darin enthaltenen Patch sollten die Dinge sogar über das menu (unter "Testing") zu finden sein. Ob das Ergebnis funktioniert, weiß ich aber nicht...

    Jörg
    Angehängte Dateien Angehängte Dateien
    (FR) Eumex 300IP FW 06.04.49 (englisch) und "relativ aktuellem" freetz-devel mit openvpn und dropbear hinter AGFEO TK-HomeServer
    Fritz!BoxFon WLAN FW 08.04.27 mit ds-0.2.9-p7 und openvpn-2.1_rc2

  6. #6
    IPPF-Einsteiger
    Registriert seit
    28.06.2010
    Beiträge
    24

    Cool

    Vielen Dank! Das sieht schon mal sehr gut aus!

    Das "make menuconfig" hat nicht automatisch den Eintrag hinzugefügt, aber das war die kleinste Kür! Das telldus Paket (inkl. der Lib confuse) wird nun komplett kompiliert.

    Das ist schon mal super! Wenn alles läuft, werde ich das alles nochmal zusammenfassen!

    Es gibt zwar noch ein paar Probleme mit dem Kopieren einiger telldus Dateien, aber die Stelle in den cMake-Dateien habe ich auch schon lokalisiert. Bevor ich die Dateien automatisch patche (die richtige Stelle wird wohl make/telldus-core/patches sein!?) und die fehlenden Dateien einfach an die "richtige" Stellen kopieren lasse, muss ich mich erstmal reinlesen, welche Dateipfade auf der FritzBox im SquashFS liegen und was der "Best Practice" mit Konfigurationsdateien unter freetz ist.

    Es handelt sich um die folgenden Dateien, die kopiert werden.

    Code:
    Pfad ist in Ordnung 
    der Pfad scheint sinnlos zu sein. 
    
    /home/freetz/freetz/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/usr/lib/libtelldus-core.so.2.0.4
    /home/freetz/freetz/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/usr/lib/libtelldus-core.so.2
    /home/freetz/freetz/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/usr/lib/libtelldus-core.so
    /home/freetz/freetz/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/usr/include/telldus-core.h
    /home/freetz/freetz/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/usr/etc/tellstick.conf - Diese Datei enthält die Konfiguration aller Empfänger. Der Ort /etc macht relativ wenig Sinn, da das /etc Verzeichnis im SquashFS liegt und nicht modifizierbar ist. Diese Konfigurationsdatei sollte per Konsole und später, wenn es funktioniert, per freetz-Weboberfläche konfigurierbar sein (wäre mein übernächster Schritt). Da gucke ich mir mal vorhandene Projekte an.
    /home/freetz/freetz/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/usr/var/state/telldus-core.conf - Hier handelt es sich nur um eine Kopie von /home/freetz/freetz/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/usr/etc/tellstick.conf
    /home/freetz/freetz/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/usr/etc/udev/rules.d/99-tellstick.rules
    /home/freetz/freetz/toolchain/build/mips_gcc-4.4.6_uClibc-0.9.29/mips-linux-uclibc/usr/bin/tdtool
    
    Am Wochenende werde ich das FW-Image mal testen und mich dann nochmal melden. Ich denke, dass ich mit der udev-Regel noch Probleme bekommen werde, zumindest hatte ich das unter Debian.

    Kurz noch zu Deinen vorherigen Fragen.

    Der Compiler hat die richtigen Dateien (Lib und Header) aus dem toolchain-Ordner genommen. Ich habe Deine erstellte confuse.mk nach make/libs kopiert und die make/libs/Config.in und die make/libs/Makefile.in angepasst, damit ich die Lib über das "make menuconfig" auswählen konnte. Da wohl die Pfade zu den Headern und zu den Libs im toolchain-Ordner im Compiler automatisch gesetzt waren, schien mir das in Ordnung zu sein.

    Danke nochmal! To be continued ...

    Carsten
    Geändert von Fred Edison (24.06.2011 um 14:45 Uhr) Grund: COLOR Tag richtig gesetzt
    Anbindung: Alice Fun Max flat ISDN 16Mbit
    Router: AVM Fritzbox 7390 - 7390_05.22-freetz-devel.de (Revision 9169)
    IP Client: AVM Fritzbox 7170 - 7170_04.87freetz-devel.de (Revision ????)
    Telefon: 1x Swissvoice Eurit 547 (DECT) , 1x Hagenuk EuroPhone S (S0-Bus)
    IP-Phone: HTC Desire HD - Android Revolution HD 3.6, FRITZ!App Fon 1.65

Ähnliche Themen

  1. [Problem] Python kompilieren für die AVM FritzBox 7390
    Von Dr.Router im Forum Freetz
    Antworten: 26
    Letzter Beitrag: 09.05.2013, 14:05
  2. [Frage] Fritzbox 7390 Freetz WebIF und FTP über Internet erreichen
    Von stonecold1981 im Forum Freetz
    Antworten: 32
    Letzter Beitrag: 14.05.2011, 23:22
  3. Antworten: 9
    Letzter Beitrag: 05.05.2011, 08:08
  4. Antworten: 1
    Letzter Beitrag: 19.04.2011, 11:15
  5. Antworten: 10
    Letzter Beitrag: 13.10.2010, 00:14

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •