Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 76150 - The emerge fails for ifd-gempc-0.9.1 when compiling the drivers for GemPC430
Summary: The emerge fails for ifd-gempc-0.9.1 when compiling the drivers for GemPC430
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal
Assignee: Daniel Black (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-12-30 08:49 UTC by Jos Hickson
Modified: 2004-12-30 14:41 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch to fix the compilation problem (ifd-gempc-0.9.1.gcc-3.4.patch,770 bytes, patch)
2004-12-30 08:56 UTC, Jos Hickson
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jos Hickson 2004-12-30 08:49:21 UTC
The compilation fails due to conflicting return types in declarations of four functions in the GemPC430 part of ifd-gempc-0.9.1.  The functions are OpenUSB(), WriteUSB(), ReadUSB(), and CloseUSB() which are declared in GemPC430/libusb_wrap.h with return types of gcore_t (an enum defined in common/GemCore.h) and are defined in GemPC430/libusb_wrap.c with return types of status_t (another enum defined in common/pcscdefines.h).

Looking at the definitions of the functions, all the returns use elements of the status_t enum so presumably it's the definitions in libusb_wrap.h that are wrong.  I thought C (unlike C++) treated all enums as integers and so didn't complain like this but perhaps that has changed for gcc-3.4.x (which is what I have recently changed to).

Will try the fix and post a patch if it works...

Reproducible: Always
Steps to Reproduce:
1. emerge ifd-gempc
2.
3.

Actual Results:  
>>> emerge (2 of 2) sys-apps/ifd-gempc-0.9.1 to /
>>> Downloading http://ftp.heanet.ie/pub/gentoo/distfiles/ifd-gempc-0.9.1.tar.gz
--16:01:05--  http://ftp.heanet.ie/pub/gentoo/distfiles/ifd-gempc-0.9.1.tar.gz
           => `/usr/portage/distfiles/ifd-gempc-0.9.1.tar.gz'
Resolving ftp.heanet.ie... 193.1.219.100
Connecting to ftp.heanet.ie[193.1.219.100]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 304,104 [application/x-gzip]

100%[======================================================================================================================================>]
304,104       29.11K/s    ETA 00:00

16:01:14 (32.43 KB/s) - `/usr/portage/distfiles/ifd-gempc-0.9.1.tar.gz' saved
[304104/304104]

>>> md5 src_uri ;-) ifd-gempc-0.9.1.tar.gz
>>> Unpacking source...
>>> Unpacking ifd-gempc-0.9.1.tar.gz to /var/tmp/portage/ifd-gempc-0.9.1/work
 * Applying ifd-gempc-0.9.1.gentoo.diff ...                                    
                                                                               
            [ ok ]
>>> Source unpacked.
make -C common clean
make[1]: Entering directory
`/var/tmp/portage/ifd-gempc-0.9.1/work/ifd-gempc-0.9.1/common'
makedepend -f - -I. -I../GemPC410 -DGEMPC=410 *.c > .dependencies || true
makedepend: warning:  /usr/include/gnu/stubs.h:  non-portable whitespace
encountered at line 7
touch dep_stamp
rm -f GCCmds.o GCUtils.o ifdhandler.o GCdebug.o
rm -f .dependencies
touch .dependencies
make[1]: Leaving directory
`/var/tmp/portage/ifd-gempc-0.9.1/work/ifd-gempc-0.9.1/common'
make -C GemPC410
make[1]: Entering directory
`/var/tmp/portage/ifd-gempc-0.9.1/work/ifd-gempc-0.9.1/GemPC410'
Making dependencies...
makedepend -f - -I. -I../common -DGEMPC=410 *.c > .dependencies || true
makedepend: warning:  /usr/include/gnu/stubs.h:  non-portable whitespace
encountered at line 7
make -C ../common dep
make[2]: Entering directory
`/var/tmp/portage/ifd-gempc-0.9.1/work/ifd-gempc-0.9.1/common'
make[2]: Nothing to be done for `dep'.
make[2]: Leaving directory
`/var/tmp/portage/ifd-gempc-0.9.1/work/ifd-gempc-0.9.1/common'
touch dep_stamp
CFLAGS="-I/usr/local/include" ../check 410
make -C ../common CFLAGS="-O2 -pipe -mtune=athlon-xp -march=athlon-xp
-fomit-frame-pointer -falign-functions=32 -funroll-loops -mfpmath=sse -Wall
-fPIC -I. -I../common -DGEMPC=410 -I/usr/local/include -I../GemPC410" all
make[2]: Entering directory
`/var/tmp/portage/ifd-gempc-0.9.1/work/ifd-gempc-0.9.1/common'
cc -O2 -pipe -mtune=athlon-xp -march=athlon-xp -fomit-frame-pointer
-falign-functions=32 -funroll-loops -mfpmath=sse -Wall -fPIC -I. -I../common
-DGEMPC=410 -I/usr/local/include-I../GemPC410   -c -o GCCmds.o GCCmds.c
checking for pcsclite.h... GCCmds.c: In function `GCCmdPowerDown':
GCCmds.c:216: warning: passing arg 4 of `GCGemCoreError' discards qualifiers
from pointer target type
GCCmds.c: In function `GCCmdPowerUp':
GCCmds.c:262: warning: passing arg 4 of `GCGemCoreError' discards qualifiers
from pointer target type
GCCmds.c:273: warning: passing arg 4 of `GCGemCoreError' discards qualifiers
from pointer target type
GCCmds.c:281: warning: passing arg 4 of `GCGemCoreError' discards qualifiers
from pointer target type
GCCmds.c:286: warning: passing arg 4 of `GCGemCoreError' discards qualifiers
from pointer target type
GCCmds.c: In function `GCCmdGetOSVersion':
GCCmds.c:341: warning: passing arg 4 of `GCGemCoreError' discards qualifiers
from pointer target type
GCCmds.c: In function `GCCmdConfigureSIOLine':
GCCmds.c:374: warning: passing arg 4 of `GCGemCoreError' discards qualifiers
from pointer target type
GCCmds.c: In function `GCCmdCardStatus':
GCCmds.c:392: warning: passing arg 4 of `GCGemCoreError' discards qualifiers
from pointer target type
GCCmds.c: In function `GCCmdSetMode':
GCCmds.c:416: warning: passing arg 4 of `GCGemCoreError' discards qualifiers
from pointer target type
cc -O2 -pipe -mtune=athlon-xp -march=athlon-xp -fomit-frame-pointer
-falign-functions=32 -funroll-loops -mfpmath=sse -Wall -fPIC -I. -I../common
-DGEMPC=410 -I/usr/local/include-I../GemPC410   -c -o GCUtils.o GCUtils.c
yes
checking for pcsc-lite version >= "1.1.2"... GCUtils.c: In function
`gemcore_status_processing':
GCUtils.c:321: warning: passing arg 4 of `GCGemCoreError' discards qualifiers
from pointer target type
cc -O2 -pipe -mtune=athlon-xp -march=athlon-xp -fomit-frame-pointer
-falign-functions=32 -funroll-loops -mfpmath=sse -Wall -fPIC -I. -I../common
-DGEMPC=410 -I/usr/local/include-I../GemPC410   -c -o ifdhandler.o ifdhandler.c
yes
touch check_stamp
cc -O2 -pipe -mtune=athlon-xp -march=athlon-xp -fomit-frame-pointer
-falign-functions=32 -funroll-loops -mfpmath=sse -Wall -fPIC -I. -I../common
-DGEMPC=410 -I/usr/local/include-I../GemPC410   -c -o GCdebug.o GCdebug.c
cc -O2 -pipe -mtune=athlon-xp -march=athlon-xp -fomit-frame-pointer
-falign-functions=32 -funroll-loops -mfpmath=sse -Wall -fPIC -I. -I../common
-DGEMPC=410 -I/usr/local/include  -c -o GCGBPTransport.o GCGBPTransport.c
cc -O2 -pipe -mtune=athlon-xp -march=athlon-xp -fomit-frame-pointer
-falign-functions=32 -funroll-loops -mfpmath=sse -Wall -fPIC -I. -I../common
-DGEMPC=410 -I/usr/local/include  -c -o gbpserial.o gbpserial.c
make[2]: Leaving directory
`/var/tmp/portage/ifd-gempc-0.9.1/work/ifd-gempc-0.9.1/common'
cc -O2 -pipe -mtune=athlon-xp -march=athlon-xp -fomit-frame-pointer
-falign-functions=32 -funroll-loops -mfpmath=sse -Wall -fPIC -I. -I../common
-DGEMPC=410 -I/usr/local/include  -c -o GemPC410Utils.o GemPC410Utils.c
cc -O2 -pipe -mtune=athlon-xp -march=athlon-xp -fomit-frame-pointer
-falign-functions=32 -funroll-loops -mfpmath=sse -Wall -fPIC -I. -I../common
-DGEMPC=410 -I/usr/local/include  -c -o main.o main.c
cc -O2 -pipe -mtune=athlon-xp -march=athlon-xp -fomit-frame-pointer
-falign-functions=32 -funroll-loops -mfpmath=sse -Wall -fPIC -I. -I../common
-DGEMPC=410 -I/usr/local/include  -c -o resetGemPC410.o resetGemPC410.c
cc -o ifd-GemPC410 GCGBPTransport.o gbpserial.o GemPC410Utils.o
../common/ifdhandler.o ../common/GCCmds.o ../common/GCUtils.o main.o
../common/GCdebug.o
rm -f libGemPC410.so
cc -shared GCGBPTransport.o gbpserial.o GemPC410Utils.o ../common/ifdhandler.o
../common/GCCmds.o ../common/GCUtils.o -o libGemPC410.so
chmod -x libGemPC410.so
strip --strip-unneeded libGemPC410.so
mv libGemPC410.so libGemPC410.so.0.9.1
ln -sf libGemPC410.so.0.9.1 libGemPC410.so.0
ln -sf libGemPC410.so.0 libGemPC410.so
cc -o resetGemPC410 resetGemPC410.o
make[1]: Leaving directory
`/var/tmp/portage/ifd-gempc-0.9.1/work/ifd-gempc-0.9.1/GemPC410'
make -C common clean
make[1]: Entering directory
`/var/tmp/portage/ifd-gempc-0.9.1/work/ifd-gempc-0.9.1/common'
rm -f GCCmds.o GCUtils.o ifdhandler.o GCdebug.o
rm -f .dependencies
touch .dependencies
make[1]: Leaving directory
`/var/tmp/portage/ifd-gempc-0.9.1/work/ifd-gempc-0.9.1/common'
make -C GemPC430
make[1]: Entering directory
`/var/tmp/portage/ifd-gempc-0.9.1/work/ifd-gempc-0.9.1/GemPC430'
Making dependencies...
makedepend -f - -I. -I../common -DGEMPC=430 GCUSBTransport.c \
GemPC430Utils.c libusb_wrap.c > .dependencies || true
makedepend: warning:  /usr/include/gnu/stubs.h:  non-portable whitespace
encountered at line 7
make -C ../common dep
make[2]: Entering directory
`/var/tmp/portage/ifd-gempc-0.9.1/work/ifd-gempc-0.9.1/common'
make[2]: Nothing to be done for `dep'.
make[2]: Leaving directory
`/var/tmp/portage/ifd-gempc-0.9.1/work/ifd-gempc-0.9.1/common'
touch dep_stamp
CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" ../check 430
make -C ../common CFLAGS="-O2 -pipe -mtune=athlon-xp -march=athlon-xp
-fomit-frame-pointer -falign-functions=32 -funroll-loops -mfpmath=sse -Wall
-fPIC -I. -I../common -DGEMPC=430 -I/usr/local/include -I../GemPC430" all
checking for pcsclite.h... make[2]: Entering directory
`/var/tmp/portage/ifd-gempc-0.9.1/work/ifd-gempc-0.9.1/common'
cc -O2 -pipe -mtune=athlon-xp -march=athlon-xp -fomit-frame-pointer
-falign-functions=32 -funroll-loops -mfpmath=sse -Wall -fPIC -I. -I../common
-DGEMPC=430 -I/usr/local/include-I../GemPC430   -c -o GCCmds.o GCCmds.c
GCCmds.c: In function `GCCmdPowerDown':
GCCmds.c:216: warning: passing arg 4 of `GCGemCoreError' discards qualifiers
from pointer target type
GCCmds.c: In function `GCCmdPowerUp':
GCCmds.c:262: warning: passing arg 4 of `GCGemCoreError' discards qualifiers
from pointer target type
GCCmds.c:273: warning: passing arg 4 of `GCGemCoreError' discards qualifiers
from pointer target type
GCCmds.c:281: warning: passing arg 4 of `GCGemCoreError' discards qualifiers
from pointer target type
GCCmds.c:286: warning: passing arg 4 of `GCGemCoreError' discards qualifiers
from pointer target type
GCCmds.c: In function `GCCmdGetOSVersion':
GCCmds.c:341: warning: passing arg 4 of `GCGemCoreError' discards qualifiers
from pointer target type
GCCmds.c: In function `GCCmdConfigureSIOLine':
GCCmds.c:374: warning: passing arg 4 of `GCGemCoreError' discards qualifiers
from pointer target type
GCCmds.c: In function `GCCmdCardStatus':
GCCmds.c:392: warning: passing arg 4 of `GCGemCoreError' discards qualifiers
from pointer target type
GCCmds.c: In function `GCCmdSetMode':
GCCmds.c:416: warning: passing arg 4 of `GCGemCoreError' discards qualifiers
from pointer target type
yes
checking for pcsc-lite version >= "1.1.2"... cc -O2 -pipe -mtune=athlon-xp
-march=athlon-xp -fomit-frame-pointer -falign-functions=32 -funroll-loops
-mfpmath=sse -Wall -fPIC -I.-I../common -DGEMPC=430 -I/usr/local/include
-I../GemPC430   -c -o GCUtils.o GCUtils.c
GCUtils.c: In function `gemcore_status_processing':
GCUtils.c:321: warning: passing arg 4 of `GCGemCoreError' discards qualifiers
from pointer target type
cc -O2 -pipe -mtune=athlon-xp -march=athlon-xp -fomit-frame-pointer
-falign-functions=32 -funroll-loops -mfpmath=sse -Wall -fPIC -I. -I../common
-DGEMPC=430 -I/usr/local/include-I../GemPC430   -c -o ifdhandler.o ifdhandler.c
cc -O2 -pipe -mtune=athlon-xp -march=athlon-xp -fomit-frame-pointer
-falign-functions=32 -funroll-loops -mfpmath=sse -Wall -fPIC -I. -I../common
-DGEMPC=430 -I/usr/local/include-I../GemPC430   -c -o GCdebug.o GCdebug.c
yes
checking for usb.h... make[2]: Leaving directory
`/var/tmp/portage/ifd-gempc-0.9.1/work/ifd-gempc-0.9.1/common'
cc -O2 -pipe -mtune=athlon-xp -march=athlon-xp -fomit-frame-pointer
-falign-functions=32 -funroll-loops -mfpmath=sse -Wall -fPIC -I. -I../common
-DGEMPC=430 -I/usr/local/include  -c -o GCUSBTransport.o GCUSBTransport.c
yes
checking for usb_get_busses... cc -O2 -pipe -mtune=athlon-xp -march=athlon-xp
-fomit-frame-pointer -falign-functions=32 -funroll-loops -mfpmath=sse -Wall
-fPIC -I. -I../common -DGEMPC=430 -I/usr/local/include   -c -o libusb_wrap.o
libusb_wrap.c
libusb_wrap.c:77: error: conflicting types for 'OpenUSB'
libusb_wrap.h:14: error: previous declaration of 'OpenUSB' was here
libusb_wrap.c:77: error: conflicting types for 'OpenUSB'
libusb_wrap.h:14: error: previous declaration of 'OpenUSB' was here
libusb_wrap.c:227: error: conflicting types for 'WriteUSB'
libusb_wrap.h:15: error: previous declaration of 'WriteUSB' was here
libusb_wrap.c:227: error: conflicting types for 'WriteUSB'
libusb_wrap.h:15: error: previous declaration of 'WriteUSB' was here
libusb_wrap.c:270: error: conflicting types for 'ReadUSB'
libusb_wrap.h:16: error: previous declaration of 'ReadUSB' was here
libusb_wrap.c:270: error: conflicting types for 'ReadUSB'
libusb_wrap.h:16: error: previous declaration of 'ReadUSB' was here
libusb_wrap.c:304: error: conflicting types for 'CloseUSB'
libusb_wrap.h:17: error: previous declaration of 'CloseUSB' was here
libusb_wrap.c:304: error: conflicting types for 'CloseUSB'
libusb_wrap.h:17: error: previous declaration of 'CloseUSB' was here
make[1]: *** [libusb_wrap.o] Error 1
make[1]: *** Waiting for unfinished jobs....
yes
touch check_stamp
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory
`/var/tmp/portage/ifd-gempc-0.9.1/work/ifd-gempc-0.9.1/GemPC430'
make: *** [all] Error 2

!!! ERROR: sys-apps/ifd-gempc-0.9.1 failed.
!!! Function src_compile, Line 29, Exitcode 2
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.

musashimaru root #




emerge info output:::

Portage 2.0.51-r3 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r0,
2.6.9-gentoo-r13 i686)
=================================================================
System uname: 2.6.9-gentoo-r13 i686 AMD Athlon(tm) XP 1800+
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.90.0.1.1-r3
Headers:  sys-kernel/linux26-headers-2.6.8.1-r1
Libtools: sys-devel/libtool-1.5.2-r7
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -pipe -mtune=athlon-xp -march=athlon-xp -fomit-frame-pointer
-falign-functions=32 -funroll-loops -mfpmath=sse"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown
/usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/
/usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/
/usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -pipe -mtune=athlon-xp -march=athlon-xp -fomit-frame-pointer
-falign-functions=32 -funroll-loops -mfpmath=sse"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="http://ftp.heanet.ie/pub/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow X acpi alsa arts atm avi bash-completion berkdb bitmap-fonts
canna cdr cjk crypt cups directfb dvd dvdr encode fam fftw foomaticdb fortran
freewnn gdbm gif gpm gtk gtk2 imagemagick imlib immqt-bc java jpeg kde libwww
mad mikmod mmx motif mpeg ncurses nls nptl nvidia oggvorbis opengl pam pdflib
perl pic png ppds python qt quicktime readline sdl spell sse ssl svg svga tcltk
tcpd tetex tiff truetype unicode xml2 xmms xprint xv zlib"
Comment 1 Jos Hickson 2004-12-30 08:56:00 UTC
Created attachment 47220 [details, diff]
Patch to fix the compilation problem

This patches the header file ifd-gempc-0.9.1/GemPC430/libusb_wrap.h so that the
return types match those used in ifd-gempc-0.9.1/GemPC430/libusb_wrap.c.
Comment 2 Daniel Black (RETIRED) gentoo-dev 2004-12-30 14:41:51 UTC
Thanks Jos. Added 0.9.3 version bump too that includes the patch.

Thanks for the bug report.