xwiimote / xf86-input-xwiimote

X.org XInput2 Wii Remote driver based on XWiimote
Other
37 stars 14 forks source link

build on gentoo fails #2

Closed vitalogy closed 12 years ago

vitalogy commented 12 years ago

moin,

i wrote an ebuild for xf86-input-xwiimote by myself


# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header:

EAPI=4

inherit xorg-2

DESCRIPTION="X.Org Wii Remote Input Driver"
HOMEPAGE="https://github.com/dvdhrm/xf86-input-xwiimote"
SRC_URI="https://github.com/downloads/dvdhrm/${PN}/${P}.tar.bz2"
#LICENSE="????"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""

but it fail to compile

emerge -av xf86-input-xwiimote

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ~] x11-drivers/xf86-input-xwiimote-0.2::x-portage  0 kB

Total: 1 package (1 new), Size of downloads: 0 kB

Would you like to merge these packages? [Yes/No]

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) x11-drivers/xf86-input-xwiimote-0.2 from x-portage
 * xf86-input-xwiimote-0.2.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                                                                                       [ ok ]
>>> Unpacking source...
>>> Unpacking xf86-input-xwiimote-0.2.tar.bz2 to /var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work
>>> Source unpacked in /var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work
>>> Preparing source in /var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2 ...
 * Running elibtoolize in: xf86-input-xwiimote-0.2/build-aux/
 *   Applying portage/1.2.0 patch ...
 *   Applying sed/1.5.6 patch ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2 ...
>>> Working in BUILD_DIR: "/var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2_build"
 * econf: updating xf86-input-xwiimote-0.2/build-aux/config.sub with /usr/share/gnuconfig/config.sub
 * econf: updating xf86-input-xwiimote-0.2/build-aux/config.guess with /usr/share/gnuconfig/config.guess
/var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2/configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --disable-dependency-tracking --docdir=/usr/share/doc/xf86-input-xwiimote-0.2 --disable-dependency-tracking
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a pax tar archive... gnutar
checking whether make supports nested variables... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking how to print strings... printf
checking for style of include used by make... GNU
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-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... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes
checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none needed
checking dependency style of x86_64-pc-linux-gnu-gcc... none
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 x86_64-pc-linux-gnu-gcc... /usr/x86_64-pc-linux-gnu/bin/ld
checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/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 how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/x86_64-pc-linux-gnu/bin/ld option to reload object files... -r
checking for x86_64-pc-linux-gnu-objdump... x86_64-pc-linux-gnu-objdump
checking how to recognize dependent libraries... pass_all
checking for x86_64-pc-linux-gnu-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for x86_64-pc-linux-gnu-ar... x86_64-pc-linux-gnu-ar
checking for archiver @FILE support... @
checking for x86_64-pc-linux-gnu-strip... x86_64-pc-linux-gnu-strip
checking for x86_64-pc-linux-gnu-ranlib... x86_64-pc-linux-gnu-ranlib
checking command to parse /usr/bin/nm -B output from x86_64-pc-linux-gnu-gcc object... ok
checking for sysroot... no
checking for x86_64-pc-linux-gnu-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... x86_64-pc-linux-gnu-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 x86_64-pc-linux-gnu-gcc supports -fno-rtti -fno-exceptions... no
checking for x86_64-pc-linux-gnu-gcc option to produce PIC... -fPIC -DPIC
checking if x86_64-pc-linux-gnu-gcc PIC flag -fPIC -DPIC works... yes
checking if x86_64-pc-linux-gnu-gcc static flag -static works... yes
checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... yes
checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... (cached) yes
checking whether the x86_64-pc-linux-gnu-gcc linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
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... yes
checking whether to build static libraries... no
checking for x86_64-pc-linux-gnu-gcc... (cached) x86_64-pc-linux-gnu-gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... (cached) yes
checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... (cached) none needed
checking dependency style of x86_64-pc-linux-gnu-gcc... (cached) none
checking for ffs... yes
checking for x86_64-pc-linux-gnu-gcc option to accept ISO C99... -std=gnu99
checking whether __clang__ is declared... no
checking whether __INTEL_COMPILER is declared... no
checking whether __SUNPRO_C is declared... no
checking for x86_64-pc-linux-gnu-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Werror=unknown-warning-option... no
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Werror=unused-command-line-argument... no
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Wall... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Wpointer-arith... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Wstrict-prototypes... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Wmissing-prototypes... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Wmissing-declarations... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Wnested-externs... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Wbad-function-cast... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Wformat=2... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Wold-style-definition... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Wdeclaration-after-statement... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Wunused... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Wuninitialized... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Wshadow... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Wcast-qual... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Wmissing-noreturn... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Wmissing-format-attribute... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Wredundant-decls... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Werror=implicit... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Werror=nonnull... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Werror=init-self... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Werror=main... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Werror=missing-braces... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Werror=sequence-point... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Werror=return-type... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Werror=trigraphs... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Werror=array-bounds... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Werror=write-strings... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Werror=address... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Werror=int-to-pointer-cast... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Werror=pointer-to-int-cast... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -pedantic... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Werror... yes
checking if x86_64-pc-linux-gnu-gcc -std=gnu99 supports -Werror=attributes... yes
checking whether make supports nested variables... (cached) yes
checking for SYSDEP... yes
checking for XORG... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
>>> Source configured.
>>> Compiling source in /var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2 ...
>>> Working in BUILD_DIR: "/var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2_build"
make -j4
make  all-am
make[1]: Entering directory `/var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2_build'
  CC     xwiimote.lo
/var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2/src/xwiimote.c:67:2: error: unknown field 'key' specified in initializer
/var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2/src/xwiimote.c:67:2: error: missing braces around initializer
/var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2/src/xwiimote.c:67:2: error: (near initialization for 'map_key_default[0].')
/var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2/src/xwiimote.c:68:2: error: unknown field 'key' specified in initializer
/var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2/src/xwiimote.c:69:2: error: unknown field 'key' specified in initializer
/var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2/src/xwiimote.c:70:2: error: unknown field 'key' specified in initializer
/var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2/src/xwiimote.c:71:2: error: unknown field 'key' specified in initializer
/var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2/src/xwiimote.c:72:2: error: unknown field 'key' specified in initializer
/var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2/src/xwiimote.c:73:2: error: unknown field 'key' specified in initializer
/var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2/src/xwiimote.c:74:2: error: unknown field 'key' specified in initializer
/var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2/src/xwiimote.c:75:2: error: unknown field 'key' specified in initializer
/var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2/src/xwiimote.c:76:2: error: unknown field 'key' specified in initializer
/var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2/src/xwiimote.c:77:2: error: unknown field 'key' specified in initializer
make[1]: *** [xwiimote.lo] Error 1
make[1]: Leaving directory `/var/tmp/portage/x11-drivers/xf86-input-xwiimote-0.2/work/xf86-input-xwiimote-0.2_build'
make: *** [all] Error 2
 * ERROR: x11-drivers/xf86-input-xwiimote-0.2 failed (compile phase):
 *   emake failed
 *

gcc-4.5.3

dvdhrm commented 12 years ago

Please try building it natively without the ebuild and report errors then. I am no Gentoo developer and I have no idea what this ebuild does. Could you run "./autogen --prefix=/usr && make" to check whether it works?

vitalogy commented 12 years ago
  1. ~ $ wget https://github.com/downloads/dvdhrm/xf86-input-xwiimote/xf86-input-xwiimote-0.2.tar.bz2
  2. ~ $ tar -xjf xf86-input-xwiimote-0.2.tar.bz2
  3. ~ $ cd xf86-input-xwiimote-0.2
  4. ~/xf86-input-xwiimote-0.2 $ ./autogen --prefix=/usr
    bash: ./autogen: No such file or directory

    ... i think you mean ''./configure --prefix=/usr'' or is something missing?

  5. ~/xf86-input-xwiimote-0.2 $ ./configure --prefix=/usr
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking how to create a pax tar archive... gnutar
    checking whether make supports nested variables... yes
    checking build system type... x86_64-unknown-linux-gnu
    checking host system type... x86_64-unknown-linux-gnu
    checking how to print strings... printf
    checking for style of include used by make... GNU
    checking for gcc... 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... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking dependency style of gcc... gcc3
    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 gcc... /usr/x86_64-pc-linux-gnu/bin/ld
    checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld) is GNU ld... yes
    checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
    checking the name lister (/usr/bin/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 how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
    checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
    checking for /usr/x86_64-pc-linux-gnu/bin/ld option to reload object files... -r
    checking for objdump... objdump
    checking how to recognize dependent libraries... pass_all
    checking for dlltool... no
    checking how to associate runtime and link libraries... printf %s\n
    checking for ar... ar
    checking for archiver @FILE support... @
    checking for strip... strip
    checking for ranlib... ranlib
    checking command to parse /usr/bin/nm -B output from gcc object... ok
    checking for sysroot... no
    checking for mt... no
    checking if : is a manifest tool... no
    checking how to run the C preprocessor... 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 gcc supports -fno-rtti -fno-exceptions... no
    checking for gcc option to produce PIC... -fPIC -DPIC
    checking if gcc PIC flag -fPIC -DPIC works... yes
    checking if gcc static flag -static works... yes
    checking if gcc supports -c -o file.o... yes
    checking if gcc supports -c -o file.o... (cached) yes
    checking whether the gcc linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes
    checking whether -lc should be explicitly linked in... no
    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... yes
    checking whether to build static libraries... no
    checking for gcc... (cached) gcc
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether gcc accepts -g... (cached) yes
    checking for gcc option to accept ISO C89... (cached) none needed
    checking dependency style of gcc... (cached) gcc3
    checking for ffs... yes
    checking for gcc option to accept ISO C99... -std=gnu99
    checking whether **clang** is declared... no
    checking whether __INTEL_COMPILER is declared... no
    checking whether __SUNPRO_C is declared... no
    checking for pkg-config... /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0... yes
    checking if gcc -std=gnu99 supports -Werror=unknown-warning-option... no
    checking if gcc -std=gnu99 supports -Werror=unused-command-line-argument... no
    checking if gcc -std=gnu99 supports -Wall... yes
    checking if gcc -std=gnu99 supports -Wpointer-arith... yes
    checking if gcc -std=gnu99 supports -Wstrict-prototypes... yes
    checking if gcc -std=gnu99 supports -Wmissing-prototypes... yes
    checking if gcc -std=gnu99 supports -Wmissing-declarations... yes
    checking if gcc -std=gnu99 supports -Wnested-externs... yes
    checking if gcc -std=gnu99 supports -Wbad-function-cast... yes
    checking if gcc -std=gnu99 supports -Wformat=2... yes
    checking if gcc -std=gnu99 supports -Wold-style-definition... yes
    checking if gcc -std=gnu99 supports -Wdeclaration-after-statement... yes
    checking if gcc -std=gnu99 supports -Wunused... yes
    checking if gcc -std=gnu99 supports -Wuninitialized... yes
    checking if gcc -std=gnu99 supports -Wshadow... yes
    checking if gcc -std=gnu99 supports -Wcast-qual... yes
    checking if gcc -std=gnu99 supports -Wmissing-noreturn... yes
    checking if gcc -std=gnu99 supports -Wmissing-format-attribute... yes
    checking if gcc -std=gnu99 supports -Wredundant-decls... yes
    checking if gcc -std=gnu99 supports -Werror=implicit... yes
    checking if gcc -std=gnu99 supports -Werror=nonnull... yes
    checking if gcc -std=gnu99 supports -Werror=init-self... yes
    checking if gcc -std=gnu99 supports -Werror=main... yes
    checking if gcc -std=gnu99 supports -Werror=missing-braces... yes
    checking if gcc -std=gnu99 supports -Werror=sequence-point... yes
    checking if gcc -std=gnu99 supports -Werror=return-type... yes
    checking if gcc -std=gnu99 supports -Werror=trigraphs... yes
    checking if gcc -std=gnu99 supports -Werror=array-bounds... yes
    checking if gcc -std=gnu99 supports -Werror=write-strings... yes
    checking if gcc -std=gnu99 supports -Werror=address... yes
    checking if gcc -std=gnu99 supports -Werror=int-to-pointer-cast... yes
    checking if gcc -std=gnu99 supports -Werror=pointer-to-int-cast... yes
    checking if gcc -std=gnu99 supports -pedantic... yes
    checking if gcc -std=gnu99 supports -Werror... yes
    checking if gcc -std=gnu99 supports -Werror=attributes... yes
    checking whether make supports nested variables... (cached) yes
    checking for SYSDEP... yes
    checking for XORG... yes
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating config.h
    config.status: executing depfiles commands
    config.status: executing libtool commands
    
  6. ~/xf86-input-xwiimote-0.2 $ make
    make  all-am
    make[1]: Entering directory `/home/michael/xf86-input-xwiimote-0.2'
    CC     xwiimote.lo
    src/xwiimote.c:67:2: error: unknown field 'key' specified in initializer
    src/xwiimote.c:67:2: error: missing braces around initializer
    src/xwiimote.c:67:2: error: (near initialization for 'map_key_default[0].')
    src/xwiimote.c:68:2: error: unknown field 'key' specified in initializer
    src/xwiimote.c:69:2: error: unknown field 'key' specified in initializer
    src/xwiimote.c:70:2: error: unknown field 'key' specified in initializer
    src/xwiimote.c:71:2: error: unknown field 'key' specified in initializer
    src/xwiimote.c:72:2: error: unknown field 'key' specified in initializer
    src/xwiimote.c:73:2: error: unknown field 'key' specified in initializer
    src/xwiimote.c:74:2: error: unknown field 'key' specified in initializer
    src/xwiimote.c:75:2: error: unknown field 'key' specified in initializer
    src/xwiimote.c:76:2: error: unknown field 'key' specified in initializer
    src/xwiimote.c:77:2: error: unknown field 'key' specified in initializer
    make[1]: *** [xwiimote.lo] Error 1
    make[1]: Leaving directory`/home/michael/xf86-input-xwiimote-0.2'
    make: **\* [all] Error 2
    
dvdhrm commented 12 years ago

Weird. Compiles fine here. Could you try the most recent git version?

vitalogy commented 12 years ago
  1. ~ $ git clone https://github.com/dvdhrm/xf86-input-xwiimote.git
    Cloning into xf86-input-xwiimote...
    remote: Counting objects: 155, done.
    remote: Compressing objects: 100% (61/61), done.
    remote: Total 155 (delta 75), reused 143 (delta 63)
    Receiving objects: 100% (155/155), 34.16 KiB, done.
    Resolving deltas: 100% (75/75), done.
  2. ~ $ cd xf86-input-xwiimote/
  3. ~/xf86-input-xwiimote $ ls
    .  ..  .git  .gitignore  60-xorg-xwiimote.conf  COPYING  Makefile.am  README  
    autogen.sh  configure.ac  src  xorg-xwiimote.4
  4. ~/xf86-input-xwiimote $ ./autogen.sh --prefix=/usr
    libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
    libtoolize: copying file`build-aux/ltmain.sh'
    libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
    libtoolize: copying file`m4/libtool.m4'
    libtoolize: copying file `m4/ltoptions.m4'
    libtoolize: copying file`m4/ltsugar.m4'
    libtoolize: copying file `m4/ltversion.m4'
    libtoolize: copying file`m4/lt~obsolete.m4'
    configure.ac:41: installing `build-aux/config.guess'
    configure.ac:41: installing`build-aux/config.sub'
    configure.ac:36: installing `build-aux/install-sh'
    configure.ac:36: installing`build-aux/missing'
    Makefile.am: installing `build-aux/depcomp'
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking how to create a pax tar archive... gnutar
    checking build system type... x86_64-unknown-linux-gnu
    checking host system type... x86_64-unknown-linux-gnu
    checking how to print strings... printf
    checking for style of include used by make... GNU
    checking for gcc... 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... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking dependency style of gcc... gcc3
    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 gcc... /usr/x86_64-pc-linux-gnu/bin/ld
    checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld) is GNU ld... yes
    checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
    checking the name lister (/usr/bin/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 how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
    checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
    checking for /usr/x86_64-pc-linux-gnu/bin/ld option to reload object files... -r
    checking for objdump... objdump
    checking how to recognize dependent libraries... pass_all
    checking for dlltool... no
    checking how to associate runtime and link libraries... printf %s\n
    checking for ar... ar
    checking for archiver @FILE support... @
    checking for strip... strip
    checking for ranlib... ranlib
    checking command to parse /usr/bin/nm -B output from gcc object... ok
    checking for sysroot... no
    checking for mt... no
    checking if : is a manifest tool... no
    checking how to run the C preprocessor... 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 gcc supports -fno-rtti -fno-exceptions... no
    checking for gcc option to produce PIC... -fPIC -DPIC
    checking if gcc PIC flag -fPIC -DPIC works... yes
    checking if gcc static flag -static works... yes
    checking if gcc supports -c -o file.o... yes
    checking if gcc supports -c -o file.o... (cached) yes
    checking whether the gcc linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes
    checking whether -lc should be explicitly linked in... no
    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... yes
    checking whether to build static libraries... no
    checking for gcc... (cached) gcc
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether gcc accepts -g... (cached) yes
    checking for gcc option to accept ISO C89... (cached) none needed
    checking dependency style of gcc... (cached) gcc3
    checking for ffs... yes
    checking for gcc option to accept ISO C99... -std=gnu99
    checking whether **clang** is declared... no
    checking whether __INTEL_COMPILER is declared... no
    checking whether __SUNPRO_C is declared... no
    checking for pkg-config... /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0... yes
    checking if gcc -std=gnu99 supports -Werror=attributes... no
    checking for SYSDEP... yes
    checking for XORG... yes
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating config.h
    config.status: executing depfiles commands
    config.status: executing libtool commands
  5. ~/xf86-input-xwiimote $ make
    make  all-am
    make[1]: Entering directory `/home/michael/xf86-input-xwiimote'
    CC     xwiimote.lo
    src/xwiimote.c:67:2: error: unknown field 'key' specified in initializer
    src/xwiimote.c:67:2: warning: missing braces around initializer
    src/xwiimote.c:67:2: warning: (near initialization for 'map_key_default[0].')
    src/xwiimote.c:68:2: error: unknown field 'key' specified in initializer
    src/xwiimote.c:69:2: error: unknown field 'key' specified in initializer
    src/xwiimote.c:70:2: error: unknown field 'key' specified in initializer
    src/xwiimote.c:71:2: error: unknown field 'key' specified in initializer
    src/xwiimote.c:72:2: error: unknown field 'key' specified in initializer
    src/xwiimote.c:73:2: error: unknown field 'key' specified in initializer
    src/xwiimote.c:74:2: error: unknown field 'key' specified in initializer
    src/xwiimote.c:75:2: error: unknown field 'key' specified in initializer
    src/xwiimote.c:76:2: error: unknown field 'key' specified in initializer
    src/xwiimote.c:77:2: error: unknown field 'key' specified in initializer
    make[1]: *** [xwiimote.lo] Error 1
    make[1]: Leaving directory`/home/michael/xf86-input-xwiimote'
    make: **\* [all] Error 2
  6. ~/xf86-input-xwiimote $ ls
    .      .git        60-xorg-xwiimote.conf  Makefile.am  aclocal.m4      build-aux    config.log     configure.ac  src
    ..     .gitignore  COPYING                Makefile.in  autogen.sh      config.h     config.status  libtool       stamp-h1
    .deps  .libs       Makefile               README       autom4te.cache  config.h.in  configure      m4            xorg-xwiimote.4

thanks for your efforts

regards

dvdhrm commented 12 years ago

What the hell? That's valid C99 there, weird... Maybe old gcc doesn't support initializing anonymous unions. Could you tell me what version of gcc you are using?

dvdhrm commented 12 years ago

Can you try the following patch: https://gist.github.com/2552786

Simply download the file and save it as "gcc-fix.patch" and then:

$ cd ./xf86-input-xwiimote/ $ patch -p1 <../path/to/gcc-fix.patch

Thanks

vitalogy commented 12 years ago

whoohoo ... now it compiles fine

$ make
make  all-am
make[1]: Entering directory `/home/michael/xf86-input-xwiimote'
  CC     xwiimote.lo
  CCLD   xwiimote_drv.la
make[1]: Leaving directory `/home/michael/xf86-input-xwiimote'

using gcc-4.5.3-r2 from gentoo-repo USE="cxx fortran gtk mudflap (multilib) nls nptl openmp (-altivec) -bootstrap -build -doc (-fixed-point) -gcj -graphite (-hardened) (-libssp) -lto -multislot -nocxx -nopie -nossp -objc -objc++ -objc-gc -test -vanilla"

many thx

dvdhrm commented 12 years ago

Did you actually apply the patch or did a newer gcc fix the issue? In other words, should I apply the patch to the repository? It's only about renaming the structures, anyway.

vitalogy commented 12 years ago

i applied the patch ... sorry, i don't mentioned it

dvdhrm commented 12 years ago

Thanks for reporting this! I have pushed the changes.