media-gfx/sane-backends-1.0.19-r1 currently fails for me. i686-pc-linux-gnu-gcc -c -O2 -mtune=native -march=native -pipe -mfpmath=sse -fomit-frame-pointer -W -Wall -DHAVE_CONFIG_H -I. -I. -I../include -I../include -DNDEBUG -D_REENTRANT -I/usr/include/gphoto2 -I/usr/include/libexif -DPATH_SANE_CONFIG_DIR=/etc/sane.d -DPATH_SANE_DATA_DIR=/usr/share -DPATH_SANE_LOCK_DIR=/var/lib/lock/sane -DV_MAJOR=1 -DV_MINOR=0 -DBACKEND_NAME=fujitsu -DLIBDIR=/usr/lib/sane fujitsu.c -fPIC -DPIC -o .libs/fujitsu.o fujitsu.c: In function 'init_ms': fujitsu.c:1236: error: lvalue required as left operand of assignment fujitsu.c:1394: error: lvalue required as left operand of assignment make[1]: *** [fujitsu.lo] Error 1 make[1]: Leaving directory `/gentoo/tmp/portage/media-gfx/sane-backends-1.0.19-r1/work/sane-backends-1.0.19/backend' make: *** [all-recursive] Error 1 * * ERROR: media-gfx/sane-backends-1.0.19-r1 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 2091: Called die * The specific snippet of code: * emake || die; * The die message: * (no error message) * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/log/portage/media-gfx:sane-backends-1.0.19-r1:20080406-181611.log'. * The ebuild environment file is located at '/gentoo/tmp/portage/media-gfx/sane-backends-1.0.19-r1/temp/environment'. *
Created attachment 148894 [details] emerge --info
Created attachment 148896 [details] emerge log
I was able to get it to merge by setting the SANE_BACKENDS variable and not selecting fujitsu. Perhaps SANE_BACKENDS should be elevated to a USE_EXPAND variable. That way the options would show up under "emerge -pv sane-backends" like VIDEO_CARD and INPUT_DEVICES for x11-base/xorg-server. I believe that you could then use the selection of certain devices to bring in their dependencies.
Confirmed, fujitsu.c is broken but the code only fails to compile when -DNDEBUG is in your CFLAGS. Added a small patch and reported upstream. Thanks for the hint. About the USE_EXPAND stuff, I will try to keep it in mind but my time is rather limited right now.
(In reply to comment #4) > Confirmed, fujitsu.c is broken but the code only fails to compile when -DNDEBUG > is in your CFLAGS. [...] Just to make sure you are aware of it: -DNDEBUG does not improve speed or size very much and cripples debugging features. Use it only if you know what you are doing.
(In reply to comment #5) > (In reply to comment #4) > > Confirmed, fujitsu.c is broken but the code only fails to compile when -DNDEBUG > > is in your CFLAGS. > [...] > > Just to make sure you are aware of it: -DNDEBUG does not improve speed or size > very much and cripples debugging features. Use it only if you know what you are > doing. > It was set as a workaround for X asserting (I believe that it was in libxcb; it's been a while so don't quote me.) in programs that weren't quite ready for xcb. I'll remove it for now and see if any issues crop up. Although programs should still build with it set, even if they cause demons to fly out of my nose later. Thanks for the fix, Erik