Bug 58192 - emerge libsdl errors out in SDL_fbevents.c: invalid lvalue in assignment
Bug#: 58192 Product:  Gentoo Linux Version: unspecified Platform: AMD64
OS/Version: Linux Status: RESOLVED Severity: normal Priority: P2
Resolution: FIXED Assigned To: amd64@gentoo.org Reported By: loial@home.nl
Component: Library
URL: 
Summary: emerge libsdl errors out in SDL_fbevents.c: invalid lvalue in assignment
Keywords:  
Status Whiteboard: 
Opened: 2004-07-24 08:10 0000
Description:   Opened: 2004-07-24 08:10 0000
I have libsdl-1.2.7-r2 installed, but since the new mplayer
(mplayer-1.0_pre5-r1) errored out with some libSDL.a error I decided to
reinstall libsdl. That didn't work, emerging libsdl ended with:

if /bin/sh ../../../libtool --mode=compile gcc -DPACKAGE_NAME=\"\"
-DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
-DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"SDL\" -DVERSION=\"1.2.7\" -DSTDC_HEADERS=1
-DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
-DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1
-DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1  -I. -I.  
  -O2 -march=k8 -fomit-frame-pointer -momit-leaf-frame-pointer -fweb
-frename-registers -pipe -Wall -DENABLE_DUMMYVIDEO -DDISKAUD_SUPPORT
-DUSE_DLOPEN -DOSS_SUPPORT -DALSA_SUPPORT -DARTSC_SUPPORT
-DARTSC_DYNAMIC=libartsc.so.0 -I/usr/kde/3.3/include/artsc -pthread
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DNAS_SUPPORT
-I/usr/X11R6/include/  -I/usr/X11R6/include -DENABLE_X11 -DXTHREADS -I./include
-I./src/video -DXFREE86_VM -DXFREE86_VMGAMMA -DXFREE86_DGAMOUSE
-DDEFAULT_DGAMOUSE -DXFREE86_XV -Isrc/video -DENABLE_DGA -DENABLE_FBCON 
-I/usr/X11R6/include -DENABLE_GGI -DENABLE_AALIB -DENABLE_CACA -I/usr/include/
-DHAVE_OPENGL -DUSE_INPUT_EVENTS -D_REENTRANT -DSDL_USE_PTHREADS
-DHAVE_SIGACTION -I../../../include -I../../../include/SDL -I../../../src
-I../../../src/main/linux -I../../../src/audio -I../../../src/video
-I../../../src/video/XFree86/extensions -I../../../src/events
-I../../../src/joystick -I../../../src/cdrom -I../../../src/thread
-I../../../src/timer -I../../../src/endian -I../../../src/file
-I../../../src/thread -MT SDL_fb3dfx.lo -MD -MP -MF ".deps/SDL_fb3dfx.Tpo" -c
-o SDL_fb3dfx.lo SDL_fb3dfx.c; \
then mv -f ".deps/SDL_fb3dfx.Tpo" ".deps/SDL_fb3dfx.Plo"; else rm -f
".deps/SDL_fb3dfx.Tpo"; exit 1; fi
SDL_fbevents.c: In function `switch_vt':
SDL_fbevents.c:849: error: invalid lvalue in assignment
make[3]: *** [SDL_fbevents.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
 gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"SDL\"
-DVERSION=\"1.2.7\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1
-DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1
-DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -I. -I. -O2 -march=k8 -fomit-frame-pointer
-momit-leaf-frame-pointer -fweb -frename-registers -pipe -Wall
-DENABLE_DUMMYVIDEO -DDISKAUD_SUPPORT -DUSE_DLOPEN -DOSS_SUPPORT -DALSA_SUPPORT
-DARTSC_SUPPORT -DARTSC_DYNAMIC=libartsc.so.0 -I/usr/kde/3.3/include/artsc
-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DNAS_SUPPORT
-I/usr/X11R6/include/ -I/usr/X11R6/include -DENABLE_X11 -DXTHREADS -I./include
-I./src/video -DXFREE86_VM -DXFREE86_VMGAMMA -DXFREE86_DGAMOUSE
-DDEFAULT_DGAMOUSE -DXFREE86_XV -Isrc/video -DENABLE_DGA -DENABLE_FBCON
-I/usr/X11R6/include -DENABLE_GGI -DENABLE_AALIB -DENABLE_CACA -I/usr/include/
-DHAVE_OPENGL -DUSE_INPUT_EVENTS -D_REENTRANT -DSDL_USE_PTHREADS
-DHAVE_SIGACTION -I../../../include -I../../../include/SDL -I../../../src
-I../../../src/main/linux -I../../../src/audio -I../../../src/video
-I../../../src/video/XFree86/extensions -I../../../src/events
-I../../../src/joystick -I../../../src/cdrom -I../../../src/thread
-I../../../src/timer -I../../../src/endian -I../../../src/file
-I../../../src/thread -MT SDL_fb3dfx.lo -MD -MP -MF .deps/SDL_fb3dfx.Tpo -c
SDL_fb3dfx.c  -fPIC -DPIC -o .libs/SDL_fb3dfx.o
SDL_fb3dfx.c: In function `FillHWRect':
SDL_fb3dfx.c:80: warning: cast from pointer to integer of different size
SDL_fb3dfx.c: In function `HWAccelBlit':
SDL_fb3dfx.c:151: warning: cast from pointer to integer of different size
SDL_fb3dfx.c:153: warning: cast from pointer to integer of different size
 gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"SDL\"
-DVERSION=\"1.2.7\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1
-DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1
-DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -I. -I. -O2 -march=k8 -fomit-frame-pointer
-momit-leaf-frame-pointer -fweb -frename-registers -pipe -Wall
-DENABLE_DUMMYVIDEO -DDISKAUD_SUPPORT -DUSE_DLOPEN -DOSS_SUPPORT -DALSA_SUPPORT
-DARTSC_SUPPORT -DARTSC_DYNAMIC=libartsc.so.0 -I/usr/kde/3.3/include/artsc
-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DNAS_SUPPORT
-I/usr/X11R6/include/ -I/usr/X11R6/include -DENABLE_X11 -DXTHREADS -I./include
-I./src/video -DXFREE86_VM -DXFREE86_VMGAMMA -DXFREE86_DGAMOUSE
-DDEFAULT_DGAMOUSE -DXFREE86_XV -Isrc/video -DENABLE_DGA -DENABLE_FBCON
-I/usr/X11R6/include -DENABLE_GGI -DENABLE_AALIB -DENABLE_CACA -I/usr/include/
-DHAVE_OPENGL -DUSE_INPUT_EVENTS -D_REENTRANT -DSDL_USE_PTHREADS
-DHAVE_SIGACTION -I../../../include -I../../../include/SDL -I../../../src
-I../../../src/main/linux -I../../../src/audio -I../../../src/video
-I../../../src/video/XFree86/extensions -I../../../src/events
-I../../../src/joystick -I../../../src/cdrom -I../../../src/thread
-I../../../src/timer -I../../../src/endian -I../../../src/file
-I../../../src/thread -MT SDL_fb3dfx.lo -MD -MP -MF .deps/SDL_fb3dfx.Tpo -c
SDL_fb3dfx.c -o SDL_fb3dfx.o >/dev/null 2>&1
make[3]: Leaving directory
`/var/tmp/portage/libsdl-1.2.7-r2/work/SDL-1.2.7/src/video/fbcon'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/var/tmp/portage/libsdl-1.2.7-r2/work/SDL-1.2.7/src/video'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/var/tmp/portage/libsdl-1.2.7-r2/work/SDL-1.2.7/src'
make: *** [all-recursive] Error 1

!!! ERROR: media-libs/libsdl-1.2.7-r2 failed.
!!! Function src_compile, Line 88, Exitcode 2
!!! emake failed


I do not have a 3dfx card, so I'm unsure why it gets build in the first place,
but aside from that, it just doesn't compile. Looks like it isn't 64bit
compatible.

Then I remebered that the libcaca USE flag gave me trouble before, so I tried
USE="-libcaca" emerge libsdl. That ended with:

 gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"SDL\"
-DVERSION=\"1.2.7\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1
-DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1
-DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -I. -I. -O2 -march=k8 -fomit-frame-pointer
-momit-leaf-frame-pointer -fweb -frename-registers -pipe -Wall
-DENABLE_DUMMYVIDEO -DDISKAUD_SUPPORT -DUSE_DLOPEN -DOSS_SUPPORT -DALSA_SUPPORT
-DARTSC_SUPPORT -DARTSC_DYNAMIC=libartsc.so.0 -I/usr/kde/3.3/include/artsc
-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DNAS_SUPPORT
-I/usr/X11R6/include/ -I/usr/X11R6/include -DENABLE_X11 -DXTHREADS -I./include
-I./src/video -DXFREE86_VM -DXFREE86_VMGAMMA -DXFREE86_DGAMOUSE
-DDEFAULT_DGAMOUSE -DXFREE86_XV -Isrc/video -DENABLE_DGA -DENABLE_FBCON
-I/usr/X11R6/include -DENABLE_GGI -DENABLE_AALIB -DHAVE_OPENGL
-DUSE_INPUT_EVENTS -D_REENTRANT -DSDL_USE_PTHREADS -DHAVE_SIGACTION
-I../../../include -I../../../include/SDL -I../../../src
-I../../../src/main/linux -I../../../src/audio -I../../../src/video
-I../../../src/video/XFree86/extensions -I../../../src/events
-I../../../src/joystick -I../../../src/cdrom -I../../../src/thread
-I../../../src/timer -I../../../src/endian -I../../../src/file
-I../../../src/thread -MT SDL_fbelo.lo -MD -MP -MF .deps/SDL_fbelo.Tpo -c
SDL_fbelo.c  -fPIC -DPIC -o .libs/SDL_fbelo.o
SDL_fbevents.c: In function `switch_vt':
SDL_fbevents.c:849: error: invalid lvalue in assignment
make[3]: *** [SDL_fbevents.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
 gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"SDL\"
-DVERSION=\"1.2.7\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1
-DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1
-DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -I. -I. -O2 -march=k8 -fomit-frame-pointer
-momit-leaf-frame-pointer -fweb -frename-registers -pipe -Wall
-DENABLE_DUMMYVIDEO -DDISKAUD_SUPPORT -DUSE_DLOPEN -DOSS_SUPPORT -DALSA_SUPPORT
-DARTSC_SUPPORT -DARTSC_DYNAMIC=libartsc.so.0 -I/usr/kde/3.3/include/artsc
-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DNAS_SUPPORT
-I/usr/X11R6/include/ -I/usr/X11R6/include -DENABLE_X11 -DXTHREADS -I./include
-I./src/video -DXFREE86_VM -DXFREE86_VMGAMMA -DXFREE86_DGAMOUSE
-DDEFAULT_DGAMOUSE -DXFREE86_XV -Isrc/video -DENABLE_DGA -DENABLE_FBCON
-I/usr/X11R6/include -DENABLE_GGI -DENABLE_AALIB -DHAVE_OPENGL
-DUSE_INPUT_EVENTS -D_REENTRANT -DSDL_USE_PTHREADS -DHAVE_SIGACTION
-I../../../include -I../../../include/SDL -I../../../src
-I../../../src/main/linux -I../../../src/audio -I../../../src/video
-I../../../src/video/XFree86/extensions -I../../../src/events
-I../../../src/joystick -I../../../src/cdrom -I../../../src/thread
-I../../../src/timer -I../../../src/endian -I../../../src/file
-I../../../src/thread -MT SDL_fbelo.lo -MD -MP -MF .deps/SDL_fbelo.Tpo -c
SDL_fbelo.c -o SDL_fbelo.o >/dev/null 2>&1
make[3]: Leaving directory
`/var/tmp/portage/libsdl-1.2.7-r2/work/SDL-1.2.7/src/video/fbcon'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/var/tmp/portage/libsdl-1.2.7-r2/work/SDL-1.2.7/src/video'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/var/tmp/portage/libsdl-1.2.7-r2/work/SDL-1.2.7/src'
make: *** [all-recursive] Error 1

!!! ERROR: media-libs/libsdl-1.2.7-r2 failed.
!!! Function src_compile, Line 88, Exitcode 2
!!! emake failed


emerge info
Portage 2.0.50-r9 (gcc34-amd64-2004.1, gcc-3.4.1, glibc-2.3.4.20040619-r0,
2.6.7-gentoo-r11)
=================================================================
System uname: 2.6.7-gentoo-r11 x86_64 4
Gentoo Base System version 1.5.1
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=k8 -fomit-frame-pointer -momit-leaf-frame-pointer -fweb
-frename-registers -pipe"
CHOST="x86_64-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /opt/gentoo-rsync /usr/X11R6/lib/X11/xkb
/usr/kde/2/share/config /usr/kde/3.2/share/config /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 /opt/gentoo-rsync/portage
/etc/env.d"
CXXFLAGS="-O2 -march=k8 -fomit-frame-pointer -momit-leaf-frame-pointer -fweb
-frename-registers -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo
ftp://ftp.tiscali.nl/pub/mirror/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.nl.gentoo.org/gentoo-portage"
USE="S3TC X aac aalib acpi acpi4linux alsa amd64 apm arts asterisk audiofile
avi berkdb cdparanoia cdr chroot crypt cups dga divx4linux dv dvd dvdr dvdread
encode faac faad fbcon fbdev ffmpeg fftw flac flash foomaticdb ftp gd gdbm ggi
gif gphoto2 gpm gstreamer gtk2 icq ieee1394 imagemagick imap imlib imlib2 irmc
jabber java javascript joystick jp2 jpeg kde lcd lcms ldap libcaca libg++
libwww linguas_en_GB linguas_nl lirc live lzo lzw lzw-tiff mad mbox mikmod mng
motif mozaccess mozcalendar mozdomi mozilla mozp3p mozsvg mozxmlterm mpeg mpeg4
mpi mplayer msn mysql mythtv nas ncurses net nls nptl oav offensive oggvorbis
opengl opie oss pam pda pdflib perl pic plotutils png pthreads python qt
quicktime readline rtc samba sasl sdl slang slp speex spell ssl svg tcltk tcpd
tetex theora tiff transcode truetype usb v4l v4l2 videos wmf xml2 xmms xosd
xprint xrandr xv xvid zlib zvbi"


Reproducible: Always
Steps to Reproduce:

------- Comment #1 From Travis Tilley (RETIRED) 2004-07-24 23:27:55 0000 -------
upstream bug with sdl and libcaca. sorry, i guess we didnt mask the libcaca use
flag in the gcc34 profile... masking it now. that's why you only had libsdl.a
and not libsdl.so like you should.

as for the compile problem, that does indeed look ugly. i'll go look and see
what broke between r1 and r2...

------- Comment #2 From Travis Tilley (RETIRED) 2004-07-24 23:39:48 0000 -------
this is not an SDL bug, it's a linux26-headers bug. libsdl compiles properly
after downgrading linux26-headers to 2.6.6-r1. adding plasmaroo to CC

------- Comment #3 From Tim Yamin (RETIRED) 2004-07-25 05:45:55 0000 -------
Created an attachment (id=36112) [details]
Patch for libSDL

Can you please try this patch and confirm whether it solves the issue?
Thanks...

------- Comment #4 From Rutger Hendriks 2004-07-25 07:39:54 0000 -------
Tried it, works like a charm.
I see libcaca is indeed masked, thanx for that also.

------- Comment #5 From Danny van Dyk (RETIRED) 2004-10-12 09:26:10 0000 -------
FIXED. Patches are in CVS for some time already.

------- Comment #6 From Nanouck 2005-01-02 15:13:34 0000 -------
Hi,

Will this bug be corrected in the next ebuild?
When someone is interested I have  modified the media-libs/libsdl-1.2.8 ebuild, I'll post my media-libs/libsdl-1.2.8-r1 ebuild

It compiles fine. Instructions:
* create  mkdir /usr/local/portage/media-libs/libsdl/
* move ebuild in this new directory, mv libsdl-1.2.8-r1.ebuild /usr/local/portage/media-libs/libsdl/
* copied 1.2.8 files:  cp /usr/portage/media-libs/libsdl/files/1.2.8-* /usr/local/portage/media-libs/libsdl/files/
* ebuild /usr/local/portage/media-libs/libsdl/libsdl-1.2.8-r1.ebuild digest
* emerge libsdl

OK

------- Comment #7 From Nanouck 2005-01-02 15:20:21 0000 -------
Created an attachment (id=47409) [details]
new  ebuild including patch named 1.2.8-26headers.patch

do not forget to rename libSDL-1.2.7-26headers.patch in 1.2.8-26headers.patch
and copy it in /usr/local/portage/media-libs/libsdl/files/

------- Comment #8 From Danny van Dyk (RETIRED) 2005-01-03 14:48:26 0000 -------
This BUG has already been marked as RESOLVED - FIXED. Do you still experience
this BUG ? If yes, please reopen and give us detailed information about your
bug.