I'm trying to compile keytouch-editor on Fedora 9 and could use a little
help. Keytouch builds okay but I'm having problems with keytouch-editor
(my keyboard - Logitech S510 - appears supported but I didn't know that
till after trying keytouch-editor, then building and installing
keytouch) . I've tried with both the default GCC 4.3 and have also
installed GCC 3.4. Both return the same error:
v3.2-beta:
make[2]: Entering directory
`/home/mjhammel/src/keyboards/keytouch-editor-3.2.0-beta/src'
gcc34 -DHAVE_CONFIG_H -I. -I. -I.. -I.
-I../mxml/ -DPACKAGE_DATA_DIR=
\""/usr/local/keytouch/share"\" -DPACKAGE_LOCALE_DIR=
\""/usr/local/keytouch/share/locale"\" -I../string_to_keycode
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2 -Wall -g
-O2 -c ud_socket.c
In file included from ud_socket.c:18:
ud_socket.h:12: warning: "struct ucred" declared inside parameter list
ud_socket.h:12: warning: its scope is only this definition or
declaration, which is probably not what you want
ud_socket.c:56: warning: "struct ucred" declared inside parameter list
ud_socket.c:57: error: conflicting types for 'ud_accept'
ud_socket.h:12: error: previous declaration of 'ud_accept' was here
ud_socket.c:57: error: conflicting types for 'ud_accept'
ud_socket.h:12: error: previous declaration of 'ud_accept' was here
ud_socket.c: In function `ud_accept':
ud_socket.c:73: error: invalid application of `sizeof' to incomplete
type `ucred'
make[2]: *** [ud_socket.o] Error 1
v3.1.3:
make[2]: Entering directory
`/home/mjhammel/src/keyboards/keytouch-editor-3.1.3/src'
gcc34 -DHAVE_CONFIG_H -I. -I. -I.. -I.
-I../mxml/ -DPACKAGE_DATA_DIR=
\""/usr/local/keytouch/share"\" -DPACKAGE_LOCALE_DIR=
\""/usr/local/keytouch/share/locale"\" -I../string_to_keycode
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2 -Wall -g
-O2 -c ud_socket.c
In file included from ud_socket.c:18:
ud_socket.h:12: warning: "struct ucred" declared inside parameter list
ud_socket.h:12: warning: its scope is only this definition or
declaration, which is probably not what you want
ud_socket.c:56: warning: "struct ucred" declared inside parameter list
ud_socket.c:57: error: conflicting types for 'ud_accept'
ud_socket.h:12: error: previous declaration of 'ud_accept' was here
ud_socket.c:57: error: conflicting types for 'ud_accept'
ud_socket.h:12: error: previous declaration of 'ud_accept' was here
ud_socket.c: In function `ud_accept':
ud_socket.c:73: error: invalid application of `sizeof' to incomplete
type `ucred'
Same problem here on Kubuntu 8.10
make[2]: Entering directory `/home/aerion/Downloads/keytouch/keytouch-editor-3.2.0-beta/src'
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../mxml/ -DPACKAGE_DATA_DIR=\""/usr/local/share"\" -DPACKAGE_LOCALE_DIR=\""/usr/local/share/locale"\" -I../string_to_keycode -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -g -O2 -Wall -g -O2 -c ud_socket.c
In file included from ud_socket.c:18:
ud_socket.h:12: warning: ‘struct ucred’ declared inside parameter list
ud_socket.h:12: warning: its scope is only this definition or declaration, which is probably not what you want
ud_socket.c:56: warning: ‘struct ucred’ declared inside parameter list
ud_socket.c:56: error: conflicting types for ‘ud_accept’
ud_socket.h:12: error: previous declaration of ‘ud_accept’ was here
ud_socket.c: In function ‘ud_accept’:
ud_socket.c:73: error: invalid application of ‘sizeof’ to incomplete type ‘struct ucred’
make[2]: *** [ud_socket.o] Error 1
make[2]: Leaving directory `/home/aerion/Downloads/keytouch/keytouch-editor-3.2.0-beta/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/aerion/Downloads/keytouch/keytouch-editor-3.2.0-beta'
make: *** [all-recursive-am] Error 2
Please let me know if you need any further information
Cheers
Emile
This is also happening on Ubuntu 8.04 and 8.10 x64.
ud_socket.h:12: warning: 'struct ucred' declared inside parameter list
ud_socket.h:12: warning: its scope is only this definition or declaration, which is probably not what you want
ud_socket.c:56: warning: 'struct ucred' declared inside parameter list
ud_socket.c:56: error: conflicting types for 'ud_accept'
ud_socket.h:12: error: previous declaration of 'ud_accept' was here
ud_socket.c: In function 'ud_accept':
ud_socket.c:73: error: invalid application of 'sizeof' to incomplete type 'struct ucred'
make[2]: *** [ud_socket.o] Error 1
make[2]: Leaving directory `/home/andy/Desktop/keytouch-editor-3.2.0-beta/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/andy/Desktop/keytouch-editor-3.2.0-beta'
make: *** [all] Error 2
I see exactly the same build error with keytouch-editor-3.2.0-beta on Ubuntu 9.04 (Jaunty).
It looks like a straightforward source-code bug.