Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 586016 - =media-libs/libv4l-1.10.0 does not build against media-libs/libjpeg-turbo-1.5.0
Summary: =media-libs/libv4l-1.10.0 does not build against media-libs/libjpeg-turbo-1.5.0
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Alexandre Rostovtsev (RETIRED)
URL:
Whiteboard:
Keywords:
: 587772 588978 589076 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-06-15 12:48 UTC by Oleh
Modified: 2016-07-18 14:29 UTC (History)
5 users (show)

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


Attachments
build.log (build.log,43.48 KB, text/plain)
2016-06-15 12:49 UTC, Oleh
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Oleh 2016-06-15 12:48:44 UTC
As in summary.

Reproducible: Always

Steps to Reproduce:
1. emerge =media-libs/libjpeg-turbo-1.5.0
2. emerge =media-libs/libv4l-1.10.0
3. notice failure.
4. downgrade to =media-libs/libjpeg-turbo-1.4.2
5. emerge media-libs/libv4l successful
Actual Results:  
In file included from /var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0/lib/libv4lconvert/jpeg.c:28:0:
/var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0/lib/libv4lconvert/jpeg_memsrcdest.h:6:1: error: conflicting types for 'jpeg_mem_src'
 jpeg_mem_src (j_decompress_ptr cinfo, unsigned char * buffer,
 ^
In file included from /var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0/lib/libv4lconvert/libv4lconvert-priv.h:31:0,
                 from /var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0/lib/libv4lconvert/jpeg.c:26:
/usr/include/jpeglib.h:923:14: note: previous declaration of 'jpeg_mem_src' was here
 EXTERN(void) jpeg_mem_src (j_decompress_ptr cinfo,
              ^
Makefile:875: recipe for target 'libv4lconvert_la-jpeg.lo' failed
make[1]: *** [libv4lconvert_la-jpeg.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
libtool: compile:  x86_64-pc-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I/var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0/lib/libv4lconvert -I../.. -fvisibility=hidden -I/var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0/lib/include -Wall -Wpointer-arith -D_GNU_SOURCE -I/var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0/include -march=westmere -O2 -pipe -c /var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0/lib/libv4lconvert/jpeg_memsrcdest.c  -fPIC -DPIC -o .libs/libv4lconvert_la-jpeg_memsrcdest.o
In file included from /var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0/lib/libv4lconvert/jl2005bcd.c:36:0:
/var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0/lib/libv4lconvert/jpeg_memsrcdest.h:6:1: error: conflicting types for 'jpeg_mem_src'
 jpeg_mem_src (j_decompress_ptr cinfo, unsigned char * buffer,
 ^
In file included from /var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0/lib/libv4lconvert/libv4lconvert-priv.h:31:0,
                 from /var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0/lib/libv4lconvert/jl2005bcd.c:35:
/usr/include/jpeglib.h:923:14: note: previous declaration of 'jpeg_mem_src' was here
 EXTERN(void) jpeg_mem_src (j_decompress_ptr cinfo,
              ^
Makefile:882: recipe for target 'libv4lconvert_la-jl2005bcd.lo' failed
make[1]: *** [libv4lconvert_la-jl2005bcd.lo] Error 1
In file included from /var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0/lib/libv4lconvert/jpeg_memsrcdest.c:30:0:
/var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0/lib/libv4lconvert/jpeg_memsrcdest.h:6:1: error: conflicting types for 'jpeg_mem_src'
 jpeg_mem_src (j_decompress_ptr cinfo, unsigned char * buffer,
 ^
In file included from /var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0/lib/libv4lconvert/jpeg_memsrcdest.c:28:0:
/usr/include/jpeglib.h:923:14: note: previous declaration of 'jpeg_mem_src' was here
 EXTERN(void) jpeg_mem_src (j_decompress_ptr cinfo,
              ^
/var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0/lib/libv4lconvert/jpeg_memsrcdest.c:151:1: error: conflicting types for 'jpeg_mem_src'
 jpeg_mem_src (j_decompress_ptr cinfo, unsigned char * buffer,
 ^
In file included from /var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0/lib/libv4lconvert/jpeg_memsrcdest.c:28:0:
/usr/include/jpeglib.h:923:14: note: previous declaration of 'jpeg_mem_src' was here
 EXTERN(void) jpeg_mem_src (j_decompress_ptr cinfo,
              ^
Makefile:931: recipe for target 'libv4lconvert_la-jpeg_memsrcdest.lo' failed
make[1]: *** [libv4lconvert_la-jpeg_memsrcdest.lo] Error 1
make[1]: Leaving directory '/var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0-abi_x86_64.amd64/lib/libv4lconvert'
Makefile:453: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
make: Leaving directory '/var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0-abi_x86_64.amd64/lib'
 * ERROR: media-libs/libv4l-1.10.0::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=media-libs/libv4l-1.10.0::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=media-libs/libv4l-1.10.0::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/media-libs/libv4l-1.10.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-libs/libv4l-1.10.0/temp/environment'.
 * Working directory: '/var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0-abi_x86_64.amd64'
 * S: '/var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0'
Comment 1 Oleh 2016-06-15 12:49:17 UTC
Created attachment 437642 [details]
build.log
Comment 2 Felix Janda 2016-06-15 18:06:35 UTC
https://git.linuxtv.org/v4l-utils.git/commit/?id=0b33f4c87cb26644ea662455acbc1649858b151f

fixed the similar bug for libjpeg (no turbo). Probably something like
the following patch should fix this bug:

--- a/lib/libv4lconvert/jpeg_memsrcdest.h
+++ b/lib/libv4lconvert/jpeg_memsrcdest.h
@@ -1,6 +1,6 @@
 #include <jpeglib.h>
 
-#if JPEG_LIB_VERSION < 80
+#if JPEG_LIB_VERSION < 80 && !defined(MEM_SRCDST_SUPPORTED)
 
 void
 jpeg_mem_src (j_decompress_ptr cinfo, unsigned char * buffer,
Comment 3 Oleh 2016-06-16 03:40:47 UTC
this patch does not fix build failure.
Comment 4 Oleh 2016-06-16 04:57:39 UTC
ok, patch mentioned is not complete. Here is the link for complete upstream patch:
https://git.linuxtv.org/v4l-utils.git/patch/?id=699d8b803eea2e36d84b5aaa695db47b7718063e

This fixes the problem.
Comment 5 Oleh 2016-06-16 04:59:03 UTC
please, apply asap. libv4l is in kde merge list, so i cannot install kde because of this failure.
Comment 6 Mika 2016-06-17 08:26:03 UTC
Hi, 

Same problem here and patch in #4 is working, here the way to apply it:
-Save the patch.
#ebuild /usr/portage/media-libs/libv4l/libv4l-1.10.0.ebuild unpack
#cd /var/tmp/portage/media-libs/libv4l-1.10.0/work/v4l-utils-1.10.0
#patch -p1 < /home/mika/Download/v4l-libjpegturbo.patch
#ebuild /usr/portage/media-libs/libv4l/libv4l-1.10.0.ebuild compile
#ebuild /usr/portage/media-libs/libv4l/libv4l-1.10.0.ebuild install
#ebuild /usr/portage/media-libs/libv4l/libv4l-1.10.0.ebuild merge

It worked fine for me.
Comment 7 Alexandre Rostovtsev (RETIRED) gentoo-dev 2016-06-17 13:41:07 UTC
Fixed by bumping to libv4l-1.10.1, thanks for reporting!


https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d09adc753c935f487ee8fd5b8dea566dc6e95465

    media-libs/libv4l: bump to 1.10.1 and eapi6-ify (bug #586016)
    
    Fixes incompatibility with libjpeg-turbo-1.5.0, reported by
    Oleg and others in bug #586016.
Comment 8 Alexandre Rostovtsev (RETIRED) gentoo-dev 2016-07-08 21:41:31 UTC
*** Bug 587772 has been marked as a duplicate of this bug. ***
Comment 9 Coacher 2016-07-17 13:26:04 UTC
*** Bug 588978 has been marked as a duplicate of this bug. ***
Comment 10 Coacher 2016-07-18 14:26:43 UTC
*** Bug 589076 has been marked as a duplicate of this bug. ***
Comment 11 Coacher 2016-07-18 14:29:50 UTC
(In reply to Alexandre Rostovtsev from comment #7)
Please consider changing the status of this bug to IN_PROGRESS.
This way users hopefully won't create duplicates again and again.