OT Compilerproblem

  • Hi,


    ich habe ein richtig großes Compilerproblem, ich weiß es ist offtopic, aber vielleicht kann mir einer von euch ja helfen.
    Ich möchte http://jusb.sourceforge.net/ kompelieren.
    Leider scheint jedoch irgendwas bei meinem System nicht zu stimmen:
    torsten@torstenpc:~/cvs/jusb > sh 1
    In file included from /usr/include/sys/types.h:133,
    from linux.c:21:
    /usr/src/linux/include/linux/time.h:10: error: parse error before "time_t"
    /usr/src/linux/include/linux/time.h:12: error: parse error before '}' token
    /usr/src/linux/include/linux/time.h:89: error: parse error before "time_t"
    /usr/src/linux/include/linux/time.h:120: error: field `it_interval' has incomplete type
    /usr/src/linux/include/linux/time.h:121: error: field `it_value' has incomplete type
    /usr/src/linux/include/linux/time.h:125: error: field `it_interval' has incomplete type
    /usr/src/linux/include/linux/time.h:126: error: field `it_value' has incomplete type
    In file included from /usr/include/sys/types.h:266,
    from linux.c:21:
    /usr/include/bits/pthreadtypes.h:50: error: parse error before "size_t"
    /usr/include/bits/pthreadtypes.h:53: error: parse error before "__stacksize"
    In file included from /usr/include/sys/stat.h:105,
    from linux.c:22:
    /usr/include/bits/stat.h:70: error: field `st_atim' has incomplete type
    /usr/include/bits/stat.h:71: error: field `st_mtim' has incomplete type
    /usr/include/bits/stat.h:72: error: field `st_ctim' has incomplete type
    In file included from /usr/include/_G_config.h:44,
    from /usr/include/libio.h:32,
    from /usr/include/stdio.h:72,
    from /usr/include/jni.h:20,
    from linux.c:32:
    /usr/include/gconv.h:72: error: parse error before "size_t"
    /usr/include/gconv.h:88: error: parse error before "size_t"
    /usr/include/gconv.h:97: error: parse error before "size_t"
    /usr/include/gconv.h:174: error: parse error before "size_t"
    /usr/include/gconv.h:177: error: parse error before '}' token
    In file included from /usr/include/libio.h:32,
    from /usr/include/stdio.h:72,
    from /usr/include/jni.h:20,
    from linux.c:32:
    /usr/include/_G_config.h:47: error: field `__cd' has incomplete type
    /usr/include/_G_config.h:50: error: field `__cd' has incomplete type
    In file included from /usr/include/stdio.h:72,
    from /usr/include/jni.h:20,
    from linux.c:32:
    /usr/include/libio.h:351: error: parse error before "size_t"
    /usr/include/libio.h:360: error: parse error before "size_t"
    /usr/include/libio.h:468: error: parse error before "_IO_sgetn"
    /usr/include/libio.h:468: error: parse error before "size_t"
    In file included from /usr/include/jni.h:20,
    from linux.c:32:
    /usr/include/stdio.h:302: error: parse error before "size_t"
    /usr/include/stdio.h:309: error: parse error before "size_t"
    /usr/include/stdio.h:351: error: parse error before "size_t"
    /usr/include/stdio.h:355: error: parse error before "size_t"
    /usr/include/stdio.h:603: error: parse error before "fread"
    /usr/include/stdio.h:603: error: parse error before "size_t"
    /usr/include/stdio.h:609: error: parse error before "fwrite"
    /usr/include/stdio.h:609: error: parse error before "size_t"
    /usr/include/stdio.h:631: error: parse error before "fread_unlocked"
    /usr/include/stdio.h:631: error: parse error before "size_t"
    /usr/include/stdio.h:633: error: parse error before "fwrite_unlocked"
    /usr/include/stdio.h:633: error: parse error before "size_t"
    linux.c:34:34: usb_linux_DeviceImpl.h: Datei oder Verzeichnis nicht gefunden
    linux.c:35:36: usb_linux_USBException.h: Datei oder Verzeichnis nicht gefunden
    linux.c: In function `Java_usb_linux_DeviceImpl_openNative':
    linux.c:75: Warnung: implicit declaration of function `open'
    linux.c:81: Warnung: implicit declaration of function `fcntl'
    linux.c: In function `Java_usb_linux_DeviceImpl_closeNative':
    linux.c:96: Warnung: implicit declaration of function `close'
    linux.c: In function `Java_usb_linux_DeviceImpl_getHubPorts':
    linux.c:341: Warnung: implicit declaration of function `memset'
    linux.c: In function `Java_usb_linux_USBException_strError':
    linux.c:392: Warnung: implicit declaration of function `strerror'
    linux.c:392: Warnung: passing arg 2 of pointer to function makes pointer from integer without a cast
    linux.c: At top level:
    /usr/include/gconv.h:176: Warnung: array `__data' assumed to have one element



    Mir gehen so langsam echt die Ideen aus. Weiß einer was man hier machen kann? Die Meldungen sehen irgendwie so aus als wenn da was nicht von den Libs her passt, aber auf der HP steht, das es sogar mit Krnel 2.5. gehen soll, ich habe noch 2.4.22 drauf.


    *schaut hilfos*


    Torsten

  • Hallo Torsten,


    also diese ganzen Parse-Errors deuten IMHO auf eine "mangled source" hin. Also irgendwas ist im Source-Code eurcheinander gekommen, und nun stimmen die Blöcke, Klammerungen etc. nicht mehr. Das kann z.B. passieren, wenn ein Editor selbstständig Zeilenumbrüche o.ä. einfügt. Eine einzige Klammer oder Quotes an falscher Stelle genügt schon!
    Dasl Blöde daran ist, dass die Zeilennummern in den Fehlermeldungen nicht unbedingt der ursprüngliche Fehlerort sind. Der ist normalerweise irgendwo vorher. Aber schaue Dir auf jeden Fall mal linux.c, types.h und time.h genauer an.


    HTHH
    Jürgen :)

  • Hi,


    kann es sein, dass /usr/include/linux und /usr/include/asm niicht auf deinen aktuellen Kernel-Tree linken ? Gab da mal was mit Debian und falschen Abhaengigkeiten von libc6-dev oder so...


    cu
    gonz

  • Hallo Torsten,


    ich hab´ mir die Header-Files bei mir mal angeschaut. Was auffällig ist:


    die types.h kommt aus /usr/include/sys, zieht aber ihrerseits die time.h aus /usr/src/linux/include/linux an.
    In der types.h steht aber:

    Code
    include <time.h>


    So vermute ich, dass das Problem irgendwie daran liegt, dass die Header-Files aus dem Kernel-Tree angezogen werden anstelle derer aus /usr/include/sys, oder aber umgekehrt. Also irgendwie eine Verstrickung. Ist das glibc-devel-Paket sauber installiert?


    Ciao
    Jürgen :)

  • jumbopack:
    sher korrekt deine annahme (vermute ich *g*).
    neuerdings werden userspace (libc) und kernel includes getrennt behandelt. das hat seine gründe in diversen inkompatibilitäteten.
    also mal versuchen die kernel (oder libc) header zu löschen und kreuzweise zu verlinken,. vielleicht klappt das dann.


    p.s. ich hab bei diesem problem (damals noch cdrom.h) aufgegeben und mir k3b als binary geladen :)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!