Ankündigung

Einklappen
Keine Ankündigung bisher.

knxd Build Fehler

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

    knxd Build Fehler

    Hi

    Ich habe immer mal wieder Probleme den knxd zu erstellen, aktuell mit der v0.12.8 und der v0.12.13-2.
    Zuerst auf einem Intel NUC5I5MYBE unter Debian Jessie 64bit.
    Auf einem augenscheinlich identisch installierten alten Intel Atom D810 lief zumindest die v0.12.8 problemlos durch.
    Augenscheinlich sage ich deshalb, weil ich nichts finde, was von der Installation der Systeme her unterschiedlich ist, aber meine Hand ins Feuer legen würde ich natürlich nicht.

    Letzte Woche habe ich die v0.12.8 auf einem Raspi mit Jessie compiliert, ohne Fehler. Heute dann auf einem zweiten Raspi die v0.12.13-2 versucht und es kommt der gleiche Fehler wie auf dem NUC. Probehalber den ersten Raspi genommen, dort einen git pull gemacht und jetzt kommt auch hier der selbe Fehler:

    Code:
    if gcc -E -I../../../src/include -I../../../src/client -I../../../src/client -D__cplusplus -MT EIBConnection.post -MD -MP -MF ".deps/EIBConnection.Tpo" -P -x c -O0 -o EIBConnection.post EIBConnection.pre; \
    then mv -f ".deps/EIBConnection.Tpo" ".deps/EIBConnection.Po"; else rm -f ".deps/EIBConnection.Tpo"; exit 1; fi
    In file included from EIBConnection.pre:36:0:
    ../../../src/client/php/result.inc:1:9: error: macro names must be identifiers
     #define IMG_UNKNOWN_ERROR             0
             ^
    ../../../src/client/php/result.inc:2:9: error: macro names must be identifiers
     #define IMG_UNRECOG_FORMAT            1
             ^
    ../../../src/client/php/result.inc:3:9: error: macro names must be identifiers
     #define IMG_INVALID_FORMAT            2
             ^
    ../../../src/client/php/result.inc:4:9: error: macro names must be identifiers
     #define IMG_NO_BCUTYPE                3
             ^
    ../../../src/client/php/result.inc:5:9: error: macro names must be identifiers
     #define IMG_UNKNOWN_BCUTYPE           4
             ^
    ../../../src/client/php/result.inc:6:9: error: macro names must be identifiers
     #define IMG_NO_CODE                   5
             ^
    ../../../src/client/php/result.inc:7:9: error: macro names must be identifiers
     #define IMG_NO_SIZE                   6
             ^
    ../../../src/client/php/result.inc:8:9: error: macro names must be identifiers
     #define IMG_LODATA_OVERFLOW           7
             ^
    ../../../src/client/php/result.inc:9:9: error: macro names must be identifiers
     #define IMG_HIDATA_OVERFLOW           8
             ^
    ../../../src/client/php/result.inc:10:9: error: macro names must be identifiers
     #define IMG_TEXT_OVERFLOW             9
             ^
    ../../../src/client/php/result.inc:11:9: error: macro names must be identifiers
     #define IMG_NO_ADDRESS               10
             ^
    ../../../src/client/php/result.inc:12:9: error: macro names must be identifiers
     #define IMG_WRONG_SIZE               11
             ^
    ../../../src/client/php/result.inc:13:9: error: macro names must be identifiers
     #define IMG_IMAGE_LOADABLE           12
             ^
    ../../../src/client/php/result.inc:14:9: error: macro names must be identifiers
     #define IMG_NO_DEVICE_CONNECTION     13
             ^
    ../../../src/client/php/result.inc:15:9: error: macro names must be identifiers
     #define IMG_MASK_READ_FAILED         14
             ^
    ../../../src/client/php/result.inc:16:9: error: macro names must be identifiers
     #define IMG_WRONG_MASK_VERSION       15
             ^
    ../../../src/client/php/result.inc:17:9: error: macro names must be identifiers
     #define IMG_CLEAR_ERROR              16
             ^
    ../../../src/client/php/result.inc:18:9: error: macro names must be identifiers
     #define IMG_RESET_ADDR_TAB           17
             ^
    ../../../src/client/php/result.inc:19:9: error: macro names must be identifiers
     #define IMG_LOAD_HEADER              18
             ^
    ../../../src/client/php/result.inc:20:9: error: macro names must be identifiers
     #define IMG_LOAD_MAIN                19
             ^
    ../../../src/client/php/result.inc:21:9: error: macro names must be identifiers
     #define IMG_ZERO_RAM                 20
             ^
    ../../../src/client/php/result.inc:22:9: error: macro names must be identifiers
     #define IMG_FINALIZE_ADDR_TAB        21
             ^
    ../../../src/client/php/result.inc:23:9: error: macro names must be identifiers
     #define IMG_PREPARE_RUN              22
             ^
    ../../../src/client/php/result.inc:24:9: error: macro names must be identifiers
     #define IMG_RESTART                  23
             ^
    ../../../src/client/php/result.inc:25:9: error: macro names must be identifiers
     #define IMG_LOADED                   24
             ^
    ../../../src/client/php/result.inc:26:9: error: macro names must be identifiers
     #define IMG_NO_START                 25
             ^
    ../../../src/client/php/result.inc:27:9: error: macro names must be identifiers
     #define IMG_WRONG_ADDRTAB            26
             ^
    ../../../src/client/php/result.inc:28:9: error: macro names must be identifiers
     #define IMG_ADDRTAB_OVERFLOW         27
             ^
    ../../../src/client/php/result.inc:29:9: error: macro names must be identifiers
     #define IMG_OVERLAP_ASSOCTAB         28
             ^
    ../../../src/client/php/result.inc:30:9: error: macro names must be identifiers
     #define IMG_OVERLAP_TEXT             29
             ^
    ../../../src/client/php/result.inc:31:9: error: macro names must be identifiers
     #define IMG_NEGATIV_TEXT_SIZE        30
             ^
    ../../../src/client/php/result.inc:32:9: error: macro names must be identifiers
     #define IMG_OVERLAP_PARAM            31
             ^
    ../../../src/client/php/result.inc:33:9: error: macro names must be identifiers
     #define IMG_OVERLAP_EEPROM           32
             ^
    ../../../src/client/php/result.inc:34:9: error: macro names must be identifiers
     #define IMG_OBJTAB_OVERFLOW          33
             ^
    ../../../src/client/php/result.inc:35:9: error: macro names must be identifiers
     #define IMG_WRONG_LOADCTL            34
             ^
    ../../../src/client/php/result.inc:36:9: error: macro names must be identifiers
     #define IMG_UNLOAD_ADDR              35
             ^
    ../../../src/client/php/result.inc:37:9: error: macro names must be identifiers
     #define IMG_UNLOAD_ASSOC             36
             ^
    ../../../src/client/php/result.inc:38:9: error: macro names must be identifiers
     #define IMG_UNLOAD_PROG              37
             ^
    ../../../src/client/php/result.inc:39:9: error: macro names must be identifiers
     #define IMG_LOAD_ADDR                38
             ^
    ../../../src/client/php/result.inc:40:9: error: macro names must be identifiers
     #define IMG_WRITE_ADDR               39
             ^
    ../../../src/client/php/result.inc:41:9: error: macro names must be identifiers
     #define IMG_SET_ADDR                 40
             ^
    ../../../src/client/php/result.inc:42:9: error: macro names must be identifiers
     #define IMG_FINISH_ADDR              41
             ^
    ../../../src/client/php/result.inc:43:9: error: macro names must be identifiers
     #define IMG_LOAD_ASSOC               42
             ^
    ../../../src/client/php/result.inc:44:9: error: macro names must be identifiers
     #define IMG_WRITE_ASSOC              43
             ^
    ../../../src/client/php/result.inc:45:9: error: macro names must be identifiers
     #define IMG_SET_ASSOC                44
             ^
    ../../../src/client/php/result.inc:46:9: error: macro names must be identifiers
     #define IMG_FINISH_ASSOC             45
             ^
    ../../../src/client/php/result.inc:47:9: error: macro names must be identifiers
     #define IMG_LOAD_PROG                46
             ^
    ../../../src/client/php/result.inc:48:9: error: macro names must be identifiers
     #define IMG_ALLOC_LORAM              47
             ^
    ../../../src/client/php/result.inc:49:9: error: macro names must be identifiers
     #define IMG_ALLOC_HIRAM              48
             ^
    ../../../src/client/php/result.inc:50:9: error: macro names must be identifiers
     #define IMG_ALLOC_INIT               49
             ^
    ../../../src/client/php/result.inc:51:9: error: macro names must be identifiers
     #define IMG_ALLOC_RO                 50
             ^
    ../../../src/client/php/result.inc:52:9: error: macro names must be identifiers
     #define IMG_ALLOC_EEPROM             51
             ^
    ../../../src/client/php/result.inc:53:9: error: macro names must be identifiers
     #define IMG_ALLOC_PARAM              52
             ^
    ../../../src/client/php/result.inc:54:9: error: macro names must be identifiers
     #define IMG_SET_PROG                 53
             ^
    ../../../src/client/php/result.inc:55:9: error: macro names must be identifiers
     #define IMG_SET_TASK_PTR             54
             ^
    ../../../src/client/php/result.inc:56:9: error: macro names must be identifiers
     #define IMG_SET_OBJ                  55
             ^
    ../../../src/client/php/result.inc:57:9: error: macro names must be identifiers
     #define IMG_SET_TASK2                56
             ^
    ../../../src/client/php/result.inc:58:9: error: macro names must be identifiers
     #define IMG_FINISH_PROC              57
             ^
    ../../../src/client/php/result.inc:59:9: error: macro names must be identifiers
     #define IMG_WRONG_CHECKLIM           58
             ^
    ../../../src/client/php/result.inc:60:9: error: macro names must be identifiers
     #define IMG_INVALID_KEY              59
             ^
    ../../../src/client/php/result.inc:61:9: error: macro names must be identifiers
     #define IMG_AUTHORIZATION_FAILED     60
             ^
    ../../../src/client/php/result.inc:62:9: error: macro names must be identifiers
     #define IMG_KEY_WRITE                61
             ^
    Makefile:689: recipe for target 'EIBConnection.post' failed
    make[5]: *** [EIBConnection.post] Error 1
    make[5]: Leaving directory '/root/knxd/src/client/php'
    Makefile:384: recipe for target 'all-recursive' failed
    make[4]: *** [all-recursive] Error 1
    make[4]: Leaving directory '/root/knxd/src/client'
    Makefile:382: recipe for target 'all-recursive' failed
    make[3]: *** [all-recursive] Error 1
    make[3]: Leaving directory '/root/knxd/src'
    Makefile:435: recipe for target 'all-recursive' failed
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory '/root/knxd'
    Makefile:366: recipe for target 'all' failed
    make[1]: *** [all] Error 2
    make[1]: Leaving directory '/root/knxd'
    dh_auto_build: make -j1 returned exit code 2
    debian/rules:14: recipe for target 'build' failed
    make: *** [build] Error 2
    dpkg-buildpackage: error: debian/rules build gave error exit status 2
    Ein fehlendes Paket kann ich nicht finden, oder ich habe Tomaten auf den Augen.
    Woran kann das sonst noch liegen?

    Gruß, Martin
    Zuletzt geändert von Sipple; 22.02.2017, 19:36.

    #2
    Das liegt nicht an einem fehlenden Paket, sondern daran dass der Befehl, der diese Datei baut, Tomaten auf den Augen hat.
    Aus src/client/php/Makefile.am

    Code:
    result.inc : $(top_srcdir)/src/common/eibloadresult.h
            cat $<  |grep IMG_ |sed -e 's/#define \(IMG_[A-Z_0-9]\+\)  \+\([0-9]\+\)/ const \1 = \2;/g' > $@
    Der Befehl lässt sich vereinfachen. Mach mal das:
    Code:
    sed -ne 's/#define \(IMG_[A-Z_0-9]\+\)  \+\([0-9]\+\)/ const \1 = \2;/p' src/common/eibloadresult.h
    Es sollten ein paar "const IMG_BLA = FASEL"-Zeilen rauskommen. Leite die Ausgabe nach src/client/php/result.inc um und du kommst zumindest weiter.

    Nein, ich habe auch keinerlei Ahnung, wo das originär herkommt, werde aber die Makefiles mal ein bisschen durchforsten. Diese cat/grep/sed-Combo ist Blödsinn.
    DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

    Kommentar


      #3
      aufgeräumt in ef32ad0
      Als Nebeneffekt sind diese generierten Dateien, wenn das Problem nochmal auftreten sollte, wenigstens leer statt Müll zu enthalten.
      Ich gehe davon aus, dass du eh keinen automatisch gebauten PHP-Clientcode brauchst …
      DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

      Kommentar


        #4
        Guten Morgen

        Danke Dir für die schnelle Hilfe. Auf dem einen Raspi ist es jetzt durchgelaufen. Den anderen versuche ich gleich auch noch, nur um sicher zu gehen. Danach probiere ich es noch auf dem NUC. Wenn es dann überall klappt, ist das Problem wohl hiermit gelöst.
        Edit: Problem gelöst. Alle Maschinen übersetzen nun ohne Fehlermeldung.

        Gruß, Martin
        Zuletzt geändert von Sipple; 23.02.2017, 13:29.

        Kommentar

        Lädt...
        X