/bin/sh ../../libtool --tag=CC --mode=link x86_64-pc-linux-gnu-gcc -I../.. -D_REENTRANT -I/usr/include/SDL2 -O2 -pipe -march=native -Wall -lSDL2_image -lSDL2 -lm -ldl -lrt -Wl,-O1 -Wl,--as-needed -o sdlcam sdlcam-sdlcam.o ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la libtool: link: x86_64-pc-linux-gnu-gcc -I../.. -D_REENTRANT -I/usr/include/SDL2 -O2 -pipe -march=native -Wall -Wl,-O1 -Wl,--as-needed -o .libs/sdlcam sdlcam-sdlcam.o -lSDL2_image -lSDL2 -lm -ldl -lrt ../../lib/libv4l2/.libs/libv4l2.so ../../lib/libv4lconvert/.libs/libv4lconvert.so /usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: sdlcam-sdlcam.o: undefined reference to symbol 'jpeg_set_quality@@LIBJPEG_6.2' /usr/lib64/libjpeg.so.62: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make[3]: *** [Makefile:558: sdlcam] Error 1 ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.0-desktop-plasma_libressl_20180106-201622 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-7.2.0 * Available Python interpreters, in order of preference: [1] python3.5 [2] python3.6 (fallback) [3] python2.7 (fallback) [4] pypy3 (fallback) [5] pypy (fallback) Available Ruby profiles: [1] ruby22 (with Rubygems) * java-config: The following VMs are available for generation-2: *) IcedTea JDK 3.6.0 [icedtea-bin-8] Available Java Virtual Machines: [1] icedtea-bin-8 system-vm emerge -qpv media-tv/v4l-utils [ebuild N ] media-tv/v4l-utils-1.12.5 USE="qt5"
Created attachment 514642 [details] emerge-info.txt
Created attachment 514644 [details] emerge-history.txt
Created attachment 514646 [details] environment
Created attachment 514648 [details] etc.portage.tbz2
Created attachment 514650 [details] logs.tbz2
Created attachment 514652 [details] media-tv:v4l-utils-1.14.1:20180113-141538.log
Created attachment 514654 [details] temp.tbz2
Created attachment 514814 [details, diff] Patch contrib/test/Makefile.am Sent upstream. Patching contrib/test/Makefile.am, obviously needs an eautoreconf to use in ebuild.
I'm missing an -ljpeg here for linking the sdlcam binary in contrib/test...
Its been a month when patch is available. Any reason it is not in the tree yet? Besides, why do we force disabling jpeg while building v4l-utils? It builds just fine with that library. Shouldn't users have jpeg flag available instead?
Portage now also says following after installation: * QA Notice: new icons were found installed but GTK+ icon cache * has not been updated: * /usr/share/icons/hicolor/24x24/apps/qv4l2.png * /usr/share/icons/hicolor/16x16/apps/qv4l2.png * /usr/share/icons/hicolor/64x64/apps/qv4l2.png * /usr/share/icons/hicolor/scalable/apps/qv4l2.svg * /usr/share/icons/hicolor/32x32/apps/qv4l2.png * Please make sure to call gnome2_icon_cache_update() * in pkg_postinst() and pkg_postrm() phases of appropriate pkgs. so slight addition to the end of the ebuild would be welcomed: pkg_postinst() { gnome2_icon_cache_update() } pkg_postrm() { gnome2_icon_cache_update() }
I added the patch in comment 8, but it just gives me the exact same error again. Are there some extra steps necessary for applying this patch? (yes, I checked that user patches were applied) /usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: sdlcam-sdlcam.o: undefined reference to symbol 'jpeg_set_quality@@LIBJPEG_6.2' /usr/lib64/libjpeg.so.62: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status
(In reply to Andrew Ammerlaan from comment #12) > I added the patch in comment 8, but it just gives me the exact same error > again. Are there some extra steps necessary for applying this patch? > (yes, I checked that user patches were applied) > > /usr/lib/gcc/x86_64-pc-linux-gnu/7.2.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: sdlcam-sdlcam.o: undefined reference to symbol > 'jpeg_set_quality@@LIBJPEG_6.2' > /usr/lib64/libjpeg.so.62: error adding symbols: DSO missing from command line > collect2: error: ld returned 1 exit status I think comment 8 patch is not enough on its own. See comment 9: -ljpeg is also required while linking - where you are experiencing difficulties.
It is necessary to create a new ebuild. As noted in comment 8 eautoreconf (and therefore inherit autotools) is needed, e.g.: src_prepare() { default eautoreconf } Patch is now marked accepted in patchwork: https://patchwork.linuxtv.org/patch/46467/ but not yet committed.
Thank you, that worked. Sorry to bother you guys with this, I did not know what this eautoreconf referenced in comment 8 was, I do now :)
This exact bug is still existent with gcc-7.3.0-r1. when we can expect a solution? :-)
Not the same symbol, but really looks like the same problem libtool: link: x86_64-pc-linux-gnu-gcc -I../.. -D_REENTRANT -I/usr/include/SDL2 -march=native -pipe -O2 -Wl,-O1 -Wl,--as-needed -o .libs/sdlcam sdlcam-sdlcam.o -lSDL2_image -lSDL2 -lm -ldl -lrt ../../lib/libv4l2/.libs/libv4l2.so ../../lib/libv4lconvert/.libs/libv4lconvert.so /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: sdlcam-sdlcam.o: undefined reference to symbol 'jpeg_set_defaults@@LIBJPEG_6.2' /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libjpeg.so.62: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make[3]: *** [Makefile:558: sdlcam] Error 1 I'm using sys-devel/gcc-7.3.0-r3 and media-libs/libjpeg-turbo-2.0.0
Even applying the patch for Makefile.am and patching the ebuild for autoreconf, and it's still not working. Where should this -ljpeg be added ? Can someone fix this ebuild, please.. ?
1.12.5 is ok. Please remove, hard-mask or whatever the 1.14 ebuild, that will help anyone trying to emerge this package.
for me it worked fine after removing "--without-jpeg \" from the econf.
1.16.3-r1 works for me. It has --with-jpeg instead of --without-jpeg and also has xdg_icon_cache_update for postinst and postrm.
*** Bug 656522 has been marked as a duplicate of this bug. ***
I don't think this is an issue, at least as of 1.20. We always pass --with-jpeg and the upstream Makefile only builds sdlcam when libjpeg is present now.