Bug 693029 - cannot build sane-backends in current fedora due to v4l header conflict
Summary: cannot build sane-backends in current fedora due to v4l header conflict
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: sane-backends
Version: 14
Hardware: i686
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Nils Philippsen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-04-02 05:23 UTC by John Heidemann
Modified: 2011-04-12 21:30 UTC (History)
1 user (show)

Fixed In Version: sane-backends-1.0.22-1.fc14
Clone Of:
Environment:
Last Closed: 2011-04-12 21:30:52 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
patch to deconflict v4l headers (1.32 KB, patch)
2011-04-02 05:28 UTC, John Heidemann
no flags Details | Diff

Description John Heidemann 2011-04-02 05:23:07 UTC
Description of problem:

sane-backends-1.0.21-6.fc14.src.rpm
doesn't build due to a conflict between an internal and a system v4l header.


Version-Release number of selected component (if applicable):
sane-backends-1.0.21-6.fc14.src.rpm
libv4l-devel-0.8.3-2.fc14.i686

How reproducible:
every time


Steps to Reproduce:
1. rpm install sane-backends-1.0.21-6.fc14.src.rpm
2. rpmbuild -ba SPECS/sane-backends.spec
3. weap
  
Actual results:

/bin/sh ../libtool --silent  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../include/sane -I/usr/local/include -I. -I. -I../include -I../include -DLIBDIR="/usr/lib/sane"   -DBACKEND_NAME=v4l -D_REENTRANT -DPATH_SANE_CONFIG_DIR=/etc/sane.d 	  -DPATH_SANE_DATA_DIR=/usr/share 	  -DPATH_SANE_LOCK_DIR=/var/lock/sane 	  -DV_MAJOR=1 -DV_MINOR=0  -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -fno-strict-aliasing -W -c -o libv4l_la-v4l.lo `test -f 'v4l.c' || echo './'`v4l.c
In file included from /usr/include/libv4l1.h:29:0,
                 from v4l.c:89:
/usr/include/libv4l1-videodev.h:23:8: error: redefinition of 'struct video_capability'
v4l.h:50:8: note: originally defined here
/usr/include/libv4l1-videodev.h:36:8: error: redefinition of 'struct video_channel'
v4l.h:122:8: note: originally defined here
/usr/include/libv4l1-videodev.h:72:8: error: redefinition of 'struct video_picture'
v4l.h:62:8: note: originally defined here
/usr/include/libv4l1-videodev.h:130:8: error: redefinition of 'struct video_window'
v4l.h:91:8: note: originally defined here
/usr/include/libv4l1-videodev.h:153:8: error: redefinition of 'struct video_mmap'
v4l.h:115:8: note: originally defined here
/usr/include/libv4l1-videodev.h:160:8: error: redefinition of 'struct video_mbuf'
v4l.h:108:8: note: originally defined here
make[2]: *** [libv4l_la-v4l.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
umax_pp_low.c: In function 'sanei_umax_pp_startScan':
umax_pp_low.c:10985:7: warning: 'dcRed' may be used uninitialized in this function
umax_pp_low.c:10985:23: warning: 'dcBlue' may be used uninitialized in this function
make[2]: Leaving directory `/home/johnh/rpmbuild/BUILD/sane-backends-1.0.21/backend'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/johnh/rpmbuild/BUILD/sane-backends-1.0.21/backend'
make: *** [all-recursive] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.rO4GEb (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.rO4GEb (%build)


Expected results:

no compile errors and a working rpm in RPMS/*

Additional info:

I have a patch to work around the bug.

Comment 1 John Heidemann 2011-04-02 05:28:00 UTC
Created attachment 489544 [details]
patch to deconflict v4l headers

The attached patch comments out enough of the component's v4l.h to make it build without error.

I did NOT verify that the v4l driver actually works.
(See Ubuntu discussion about disabling v4l in sane:
https://bugs.launchpad.net/ubuntu/+source/sane-backends/+bug/87312
about which I would agree).

The attached patch was actually made against sane-backends-1.0.22,
but it should apply on 1.0.21.

Of course, you're encouraged to roll forward to 1.0.22 so you can also support 
the Canon LiDE 210 scanner, if you want.

Comment 2 Fedora Update System 2011-04-04 10:14:30 UTC
sane-backends-1.0.22-1.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/sane-backends-1.0.22-1.fc14

Comment 3 Fedora Update System 2011-04-12 21:30:34 UTC
sane-backends-1.0.22-1.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.