Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 437464 - media-gfx/sane-backends-1.0.23 cannot be installed with SANE_BACKENDS="kvs40xx" [needs pthreads]
Summary: media-gfx/sane-backends-1.0.23 cannot be installed with SANE_BACKENDS="kvs40x...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Patrick Kursawe (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-10-07 00:42 UTC by Chris Slycord
Modified: 2012-10-10 18:05 UTC (History)
14 users (show)

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


Attachments
sane-backends-1.0.23.ebuild.patch (sane-backends-1.0.23.ebuild.patch,1.75 KB, patch)
2012-10-08 15:12 UTC, Andrew Savchenko
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Slycord 2012-10-07 00:42:30 UTC
configure: Manually selected backends:   abaton agfafocus apple artec artec_eplus48u as6e avision bh canon canon630u canon_dr canon_pp cardscan coolscan coolscan2 coolscan3 dc25 dc210 dc240 dell1600n_net dmc epjitsu epson epson2 fujitsu genesys gt68xx hp hp3500 hp3900 hp4200 hp5400 hp5590 hpsj5s hpljm1005 hs2p ibm kodak kodakaio kvs1025 kvs20xx kvs40xx leo lexmark ma1509 magicolor matsushita microtek microtek2 mustek mustek_pp mustek_usb nec net niash p5 pie pixma plustek plustek_pp qcam ricoh rts8891 s9036 sceptre sharp sm3600 sm3840 snapscan sp15c st400 stv680 tamarack teco1 teco2 teco3 test u12 umax umax_pp umax1220u xerox_mfp
*** kvs40xx backend requires pthread library - aborting

To have this backend installed, --enable-pthread must be sent to configure.
Might have to include a pthread USE flag for this?

Reproducible: Always

Steps to Reproduce:
1. Set SANE_BACKENDS="kvs40xx"
2. emerge =media-gfx/sanebackends-1.0.23
3.
Actual Results:  
Fails to configure; complains that pthread isn't enabled

Expected Results:  
Configure/install
Comment 1 Chris Slycord 2012-10-07 00:43:35 UTC
Portage 2.2.0_alpha135 (default/linux/x86/10.0, gcc-4.6.3, glibc-2.15-r3, 3.6.0-gentoo i686)
=================================================================
                        System Settings
=================================================================
System uname: Linux-3.6.0-gentoo-i686-Intel-R-_Core-TM-2_CPU_6420_@_2.13GHz-with-gentoo-2.2
Timestamp of tree: Sat, 06 Oct 2012 23:15:01 +0000
distcc 3.1 i686-pc-linux-gnu [disabled]
ccache version 3.1.8 [enabled]
app-shells/bash:          4.2_p37
dev-java/java-config:     2.1.12
dev-lang/python:          2.7.3-r2, 3.2.3-r1
dev-util/ccache:          3.1.8
dev-util/cmake:           2.8.9-r1
dev-util/pkgconfig:       0.27.1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.10.5
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.4
sys-devel/binutils:       2.22.90
sys-devel/gcc:            4.6.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.6 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo mv sabayon dev-zero local_portage
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -D_FORTIFY_SOURCE=2 -march=core2 -mcx16 -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=4096 -mtune=core2 -mmmx -msse -msse2 -msse3 -mssse3 -pipe -fomit-frame-pointer -mno-tls-direct-seg-refs"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="${EPREFIX}/etc/gconf /etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -D_FORTIFY_SOURCE=2 -march=core2 -mcx16 -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=4096 -mtune=core2 -mmmx -msse -msse2 -msse3 -mssse3 -pipe -fomit-frame-pointer -mno-tls-direct-seg-refs"
DISTDIR="/home/ftp/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps y --keep-going"
FCFLAGS="-O2 -march=i686 -pipe"
FEATURES="assume-digests binpkg-logs ccache config-protect-if-modified distlocks ebuild-locks fixlafiles news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch usersandbox"
FFLAGS="-O2 -march=i686 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en en_US es es_LA es_MX ja ko zh_CN zh_TW zh"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/mv /var/lib/layman/sabayon /var/lib/layman/dev-zero /usr/local/portage"
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
USE="X aac acl acpi alsa bash-completion berkdb bluray bzip2 cairo cdda cddb cdr cjk cli clutter consolekit corefonts cracklib crypt css cups cxx dbus dri dvd dvdread eds ffmpeg flac fontconfig fortran gdbm gif gmp gnome gnome-keyring gpm gstreamer gtk iconv icu ipv6 jpeg jpeg2k lcms libnotify lm_sensors lzma mmx modules mp3 msn mudflap nautilus ncurses nls nptl nsplugin ogg opengl openmp pam pcre png policykit pppd pulseaudio qemu-ifup qt3support readline session sse sse2 sse3 ssl ssse3 svg tcpd theora threads tiff truetype udev unicode vaapi vdpau vorbis win32codecs x264 x86 xml xvid xvmc zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer nlpsolver pdfimport" LINGUAS="en en_US es es_LA es_MX ja ko zh_CN zh_TW zh" NETBEANS_MODULES="apisupport cnd dlight enterprise ergonomics groovy java javacard javafx mobility php profiler websvccommon" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="nouveau nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 2 Juergen Rose 2012-10-07 06:31:42 UTC
Same issue here.
Comment 3 Kamen Dokov 2012-10-08 15:02:45 UTC
Same on x86-64 here ;)
Comment 4 Andrew Savchenko gentoo-dev 2012-10-08 15:12:03 UTC
Created attachment 326014 [details, diff]
sane-backends-1.0.23.ebuild.patch

The following patch solves this issue. It adds threads USE flag which is required for mustek_usb2 and kvs40xx plugins. They are not enabled by default, since pthreads support is not default on Linux. But it allows users to enable them if they neew them. As a side effect mustek_usb2 is available now too.

There is nothing wrong with pthreads support. It will be less efficient than default fork, but works fine otherwise. However, I can't test mustek_usb2 and kvs40xx plugins themselves due to lack of required hardware. But they compiles fine.
Comment 5 Patrick Kursawe (RETIRED) gentoo-dev 2012-10-08 16:25:08 UTC
The patch looks fine, I just don't get one thing:
What is this part:
+	elif [ ${backend} = mustek_usb2 ] ; then
+		IUSE="${IUSE} sane_backends_mustek_usb2"
+	elif [ ${backend} = kvs40xx ] ; then
+		IUSE="${IUSE} sane_backends_kvs40xx"
supposed to do differently from 
	else
 		IUSE="${IUSE} +sane_backends_${backend}"

Did you first disable it by default, then remove the "-"?
Comment 6 Andrew Savchenko gentoo-dev 2012-10-08 16:42:32 UTC
I want neither enable nor disable them by default and let users to choose.
Just added them to IUSE flags.
Comment 7 Patrick Kursawe (RETIRED) gentoo-dev 2012-10-08 16:55:42 UTC
OK, then it's already handled by the else branch, or am I missing something?
Comment 8 Patrick Kursawe (RETIRED) gentoo-dev 2012-10-08 17:21:52 UTC
Patched version in CVS. Thanks!
Comment 9 Jimis Hol 2012-10-09 18:37:34 UTC
Todai I see

gentoo-laptop-g62 jimishol # emerge --info
Portage 2.1.11.25 (default/linux/amd64/10.0/desktop/gnome, gcc-4.6.3, glibc-2.15-r3, 3.5.4-gentoo x86_64)
=================================================================
System uname: Linux-3.5.4-gentoo-x86_64-Intel-R-_Core-TM-_i5_CPU_M_460_@_2.53GHz-with-gentoo-2.2
Timestamp of tree: Tue, 09 Oct 2012 18:00:01 +0000
app-shells/bash:          4.2_p37
dev-java/java-config:     2.1.12
dev-lang/python:          2.7.3-r2, 3.2.3-r1
dev-util/cmake:           2.8.9-r1
dev-util/pkgconfig:       0.27.1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.10.5
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.4
sys-devel/binutils:       2.22.90
sys-devel/gcc:            4.6.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.6 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA Broadcom AdobeFlash-10.3"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://ftp.cc.uoc.gr/mirrors/linux/gentoo/ ftp://ftp.cc.uoc.gr/mirrors/linux/gentoo/"
LANG="el_GR.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed "
LINGUAS="el"
MAKEOPTS="-j4 -l3.95"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 aperfmperf apic arat arch_perfmon berkdb branding bts bzip2 cairo cdda cdr clflush cli cmov colord consolekit constant_tsc cracklib crypt cups cx16 cx8 cxx dbus de dri ds_cpl dtes64 dts dvd dvdr eds emboss encode ept est evo exif fam firefox flac flexpriority fortran fpu fxsr gdbm gif gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk ht iconv ida java jpeg lahf_lm lcms ldap libnotify lm mad mca mce mmx mng modules monitor mp3 mp4 mpeg msn msr mtrr mudflap multilib nautilus ncurses networkmanager nls nonstop_tsc nopl nptl nx ogg opengl openmp pae pam pango pat pbe pcre pdcm pdf pebs pge png pni policykit popcnt ppds pppd pse pse36 pulseaudio qt3support rdtscp readline rep_good sdl sep session socialweb spell ss sse sse2 sse4_1 sse4_2 ssl ssse3 startup-notification svg syscall tcpd tiff tm tm2 tpr_shadow truetype tsc udev udisks unicode upower usb v4l v4l2 vme vmx vnmi vorbis vpid wxwidgets x264 xcb xml xtopology xtpr xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev synaptics joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="el" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="radeon intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

gentoo-laptop-g62 jimishol # emerge -pv media-gfx/sane-backends

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

Calculating dependencies /

!!! Problem resolving dependencies for media-gfx/sane-backends
... done!

!!! The ebuild selected to satisfy "media-gfx/sane-backends" has unmet requirements.
- media-gfx/sane-backends-1.0.23::gentoo USE="(multilib) usb v4l -avahi -doc -gphoto2 -ipv6 -threads -xinetd" SANE_BACKENDS="abaton agfafocus apple artec artec_eplus48u as6e avision bh canon canon630u canon_dr canon_pp cardscan coolscan coolscan2 coolscan3 dc210 dc240 dc25 dell1600n_net dmc epjitsu epson epson2 fujitsu genesys gt68xx hp hp3500 hp3900 hp4200 hp5400 hp5590 hpljm1005 hpsj5s hs2p (ibm) kodak kodakaio kvs1025 kvs20xx kvs40xx leo lexmark ma1509 magicolor matsushita microtek microtek2 mustek mustek_pp mustek_usb mustek_usb2 nec net niash p5 pie pixma plustek plustek_pp qcam ricoh rts8891 s9036 sceptre sharp sm3600 sm3840 snapscan sp15c st400 stv680 tamarack teco1 teco2 teco3 test u12 umax umax1220u umax_pp xerox_mfp -pnm"

  The following REQUIRED_USE flag constraints are unsatisfied:
    sane_backends_mustek_usb2? ( threads ) sane_backends_kvs40xx? ( threads )

In order to compile I adden in portage.use a line of  "=media-gfx/sane-backends-1.0.23 -sane_backends_kvs40xx -sane_backends_mustek_usb2"
Comment 10 Patrick Kursawe (RETIRED) gentoo-dev 2012-10-10 18:05:18 UTC
This is exactly the intended behavior. Either add "threads" to USE, or disable the backends that need them.