Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 650104 - media-gfx/exiv2 with net-misc/curl[brotli] - ld: /usr/lib/libcurl.so.4: undefined reference to `BrotliDecoderCreateInstance'
Summary: media-gfx/exiv2 with net-misc/curl[brotli] - ld: /usr/lib/libcurl.so.4: undef...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Anthony Basile
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2018-03-10 13:29 UTC by Conrad Kostecki
Modified: 2018-10-25 13:44 UTC (History)
3 users (show)

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


Attachments
build.log (build.log,28.87 KB, text/plain)
2018-03-10 13:29 UTC, Conrad Kostecki
Details
build.log (build.log,137.91 KB, text/plain)
2018-03-10 14:20 UTC, Conrad Kostecki
Details
fixed app-arch/brotli ebuild (file_650104.txt,1.70 KB, text/plain)
2018-09-28 05:11 UTC, Vadim A. Misbakh-Soloviov (mva)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Conrad Kostecki gentoo-dev 2018-03-10 13:29:36 UTC
[100%] Linking CXX executable ../bin/conntest
cd /var/tmp/portage/media-gfx/exiv2-0.26_p20171104-r1/work/exiv2-0.26_p20171104-abi_x86_32.x86/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/conntest.dir/link.txt --verbose=1
/usr/bin/x86_64-pc-linux-gnu-g++ -m32  -march=native -mfpmath=sse,387 -mtune=intel -O3 -fomit-frame-pointer -malign-data=abi -mtls-dialect=gnu2 -pipe -fvisibility-inlines-hidden  -Wl,-O1 -Wl,--as-needed -Wl,--sort-common -Wl,-z,now -rdynamic CMakeFiles/conntest.dir/__/samples/conntest.cpp.o  -o ../bin/conntest -Wl,-rpath,/var/tmp/portage/media-gfx/exiv2-0.26_p20171104-r1/work/exiv2-0.26_p20171104-abi_x86_32.x86/lib ../lib/libexiv2.so.26.0.0 -lcurl -lssh
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../libcurl.so: undefined reference to `BrotliDecoderCreateInstance'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../libcurl.so: undefined reference to `BrotliDecoderVersion'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../libcurl.so: undefined reference to `BrotliDecoderDestroyInstance'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../libcurl.so: undefined reference to `BrotliDecoderDecompressStream'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../libcurl.so: undefined reference to `BrotliDecoderGetErrorCode'
collect2: error: ld returned 1 exit status
make[2]: *** [src/CMakeFiles/conntest.dir/build.make:98: bin/conntest] Error 1
make[2]: Leaving directory '/var/tmp/portage/media-gfx/exiv2-0.26_p20171104-r1/work/exiv2-0.26_p20171104-abi_x86_32.x86'
make[1]: *** [CMakeFiles/Makefile2:236: src/CMakeFiles/conntest.dir/all] Error 2
make[1]: Leaving directory '/var/tmp/portage/media-gfx/exiv2-0.26_p20171104-r1/work/exiv2-0.26_p20171104-abi_x86_32.x86'
make: *** [Makefile:130: all] Error 2
 * ERROR: media-gfx/exiv2-0.26_p20171104-r1::gentoo failed (compile phase):
 *   emake failed
 *
 * If you need support, post the output of `emerge --info '=media-gfx/exiv2-0.26_p20171104-r1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=media-gfx/exiv2-0.26_p20171104-r1::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/media-gfx/exiv2-0.26_p20171104-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-gfx/exiv2-0.26_p20171104-r1/temp/environment'.
 * Working directory: '/var/tmp/portage/media-gfx/exiv2-0.26_p20171104-r1/work/exiv2-0.26_p20171104-abi_x86_32.x86'
 * S: '/var/tmp/portage/media-gfx/exiv2-0.26_p20171104-r1/work/exiv2-0.26_p20171104'
Comment 1 Conrad Kostecki gentoo-dev 2018-03-10 13:29:57 UTC
Created attachment 523282 [details]
build.log
Comment 2 Conrad Kostecki gentoo-dev 2018-03-10 13:30:11 UTC
Portage 2.3.24 (python 3.6.4-final-0, default/linux/amd64/17.1, gcc-7.3.0, glibc-2.26-r6, 4.15.4-gentoo x86_64)
=================================================================
System uname: Linux-4.15.4-gentoo-x86_64-Intel-R-_Core-TM-_i7_CPU_X_990_@_3.47GHz-with-gentoo-2.4.1
KiB Swap:   25690108 total,  23690104 free
Timestamp of repository gentoo: Sat, 10 Mar 2018 01:45:01 +0000
Head commit of repository gentoo: 878fd2fa53e6a0e739300c99fef9b2965f7967d1
sh bash 4.4_p19
ld GNU ld (Gentoo 2.30 p1) 2.30.0
distcc 3.2rc1 x86_64-pc-linux-gnu [disabled]
ccache version 3.3.4 [enabled]
app-shells/bash:          4.4_p19::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.26.1-r2::gentoo
dev-lang/python:          2.7.14-r1::gentoo, 3.5.4-r1::gentoo, 3.6.4::gentoo
dev-util/ccache:          3.3.4-r1::gentoo
dev-util/cmake:           3.10.2::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1-r2::gentoo
sys-apps/openrc:          0.35.2::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.11.6-r3::gentoo, 1.15.1-r2::gentoo, 1.16-r1::gentoo
sys-devel/binutils:       2.30::gentoo
sys-devel/gcc:            7.3.0::gentoo
sys-devel/gcc-config:     1.9.1::gentoo
sys-devel/libtool:        2.4.6-r4::gentoo
sys-devel/make:           4.2.1-r2::gentoo
sys-kernel/linux-headers: 4.15::gentoo (virtual/os-headers)
sys-libs/glibc:           2.26-r6::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.de.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts: --exclude-from=/etc/portage/rsync_excludes
    sync-rsync-verify-metamanifest: yes

bl4ckb0x
    location: /usr/local/portage
    masters: gentoo

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -mfpmath=sse,387 -mtune=intel -O3 -fomit-frame-pointer -malign-data=abi -mtls-dialect=gnu2 -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/php/apache2-php7.2/ext-active/ /etc/php/cgi-php7.2/ext-active/ /etc/php/cli-php7.2/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo"
CXXFLAGS="-march=native -mfpmath=sse,387 -mtune=intel -O3 -fomit-frame-pointer -malign-data=abi -mtls-dialect=gnu2 -pipe -fvisibility-inlines-hidden"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--autounmask=n --quiet-build=n --with-bdeps=y"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs ccache config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch protect-owned sandbox sfperms strict strict-keepdir unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirror.netcologne.de/gentoo/"
INSTALL_MASK="/etc/systemd/* /etc/xinetd.d/* /usr/lib/systemd/system/*"
LANG="de_DE.UTF-8"
LC_ALL="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--sort-common -Wl,-z,now"
LINGUAS="de de_DE"
MAKEOPTS="-j13 -l12"
PKGDIR="/usr/portage/packages"
PORTAGE_BUNZIP2_COMMAND="pbunzip2"
PORTAGE_BZIP2_COMMAND="pbzip2"
PORTAGE_COMPRESS="xz"
PORTAGE_COMPRESS_FLAGS="-9e"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X aalib acl alsa amd64 avahi bcmath berkdb bzip2 cairo caps cddb cdinstall cjk cracklib crypt ctype curl cvs cxx dbus dedicated dga djvu encode exif fbcon ffmpeg fftw flac flite fontconfig ftp gd gif git gmp gnutls gphoto2 gpm graphviz gsm gstreamer iconv icu idn imagemagick imlib inotify introspection ipv6 java javascript jbig jit joystick jpeg jpeg2k lcms ldap libcaca libnotify libsamplerate lm_sensors lzma lzo maildir mbox mhash mikmod mmap mng modplug mp3 mysql mysqli ncurses nls nntp nptl nsplugin offensive ogg openal opencl openexr opengl openmp orc oss pam pcre pdf perl pie png posix postproc postscript pulseaudio python qt4 qt5 raw readline rtmp samba scanner sdl session simplexml slang sndfile sockets sound speex spell sqlite ssl subversion suid svg symlink syslog tcpd theora threads tiff timidity truetype udev unicode upnp usb v4l vaapi vcd vdpau vhosts vim-syntax vnc vorbis wavpack webkit webp wmf x264 xattr xcb xface xml xmlrpc xmp xmpp xpm xscreensaver xv xvid zeroconf zlib zsh-completion" ABI_X86="32 64" COLLECTD_PLUGINS="cgroups conntrack contextswitch cpu cpufreq cpusleep df disk dns entropy ethstat exec filecount hddtemp hugepages interface ipc iptables irq java load memory mysql netlink nfs nginx numa openvpn ping postgresql processes protocols rrdcached sensors serial smart swap syslog tcpconns thermal turbostat unixsock uptime users" CPU_FLAGS_X86="aes mmx mmxext sse sse2 sse3 ssse3 sse4_1 sse4_2" CURL_SSL="openssl" ELIBC="glibc" GRUB_PLATFORMS="pc" INPUT_DEVICES="libinput" KERNEL="linux" L10N="de de_DE" LLVM_TARGETS="AMDGPU" NGINX_MODULES_HTTP="access auth_basic autoindex brotli browser charset fancyindex fastcgi geo geoip gunzip gzip headers_more limit_conn proxy realip referer rewrite sticky stub_status upstream_keepalive vhost_traffic_status" NGINX_MODULES_STREAM="access geo geoip limit_conn realip return ssl_preread" PHP_TARGETS="php7-2" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby24 ruby25" USERLAND="GNU" VIDEO_CARDS="amdgpu radeon"
Unset:  CC, CPPFLAGS, CTARGET, CXX
Comment 3 Felix Janda 2018-03-10 14:19:01 UTC
I think you attached the wrong build.log.
Comment 4 Conrad Kostecki gentoo-dev 2018-03-10 14:20:39 UTC
Created attachment 523284 [details]
build.log

whooops ;-) Sorry!
Comment 5 Andreas Sturmlechner gentoo-dev 2018-03-10 15:49:57 UTC
Try rebuild brotli.
Comment 6 Conrad Kostecki gentoo-dev 2018-03-10 15:56:29 UTC
(In reply to Andreas Sturmlechner from comment #5)
> Try rebuild brotli.

Seems not to help. I've rebuild frist app-arch/brotli, then net-misc/curl and finally media-gfx/exiv2. Still same problem.
Comment 7 Felix Janda 2018-03-10 16:16:39 UTC
I think it is more of a bug in CMake's FindCurl: It doesn't use
pkg-config or curl-config to find out what libs are required when
linking with libcurl.
Comment 8 Jeremy Stent 2018-09-21 23:38:19 UTC
This appears to be a bug with either app-arch/brotli or net-misc/curl.  On multilib app-arch/brotli only installs a 64 bit copy.  Somehow net-misc/curl compiles both 64 bit and 32 bit copies to reference a libbrotlidec, even though there is not a 32 bit copy.  When media-gfx/exiv2 (or media-libs/libquvi-0.9.4-r1 - cf bug 666238) tries to build the 32 bit copy it cannot find the 32 bit libbrotlidec to link against.
This will be fixed if app-arch/brotli would compile and install a 32 bit copy (tested with a hacked ebuild), but I am not good enough at ebuilds to make a brotli that does multilib and python.
Comment 9 Andreas Sturmlechner gentoo-dev 2018-09-22 03:25:30 UTC
Re-assigning.
Comment 10 Vadim A. Misbakh-Soloviov (mva) gentoo-dev 2018-09-28 05:11:23 UTC
Created attachment 548098 [details]
fixed app-arch/brotli ebuild

Here is the fixed broti ebuild, which makes curl "happy" ;)
Comment 11 Andreas Sturmlechner gentoo-dev 2018-09-28 10:29:39 UTC
@mva: thanks, please attach a unified diff over the ebuild you are changing instead of full ebuild, so that your changes can be easily reviewed in bugzilla.
Comment 12 Larry the Git Cow gentoo-dev 2018-09-28 15:44:10 UTC
The bug has been referenced in the following commit(s):

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

commit ff7b873431bf91717129e0646e923fe60fee1ab6
Author:     Craig Andrews <candrews@gentoo.org>
AuthorDate: 2018-09-28 15:37:14 +0000
Commit:     Craig Andrews <candrews@gentoo.org>
CommitDate: 2018-09-28 15:37:14 +0000

    app-arch/brotli: make multilib
    
    Bug: https://bugs.gentoo.org/650104
    Package-Manager: Portage-2.3.50, Repoman-2.3.11

 app-arch/brotli/brotli-1.0.6-r1.ebuild | 78 ++++++++++++++++++++++++++++++++++
 app-arch/brotli/brotli-9999.ebuild     | 26 +++++++++---
 2 files changed, 97 insertions(+), 7 deletions(-)
Comment 13 Craig Andrews gentoo-dev 2018-09-28 15:44:47 UTC
blueness,

In net-misc/curl, can you please update the dependency on brolti to be mutlilib?
brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )

That will resolve this issue.

Thanks!
Comment 14 Larry the Git Cow gentoo-dev 2018-10-25 13:44:06 UTC
The bug has been closed via the following commit(s):

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

commit 3261f5fdb0b28279641716cabf589ff7fb9d77d2
Author:     Craig Andrews <candrews@gentoo.org>
AuthorDate: 2018-10-25 13:43:33 +0000
Commit:     Craig Andrews <candrews@gentoo.org>
CommitDate: 2018-10-25 13:43:33 +0000

    net-misc/curl: make brotli dependency multilib
    
    Closes: https://bugs.gentoo.org/650104
    Signed-off-by: Craig Andrews <candrews@gentoo.org>
    Package-Manager: Portage-2.3.51, Repoman-2.3.11

 net-misc/curl/curl-7.61.1-r1.ebuild | 247 ++++++++++++++++++++++++++++++++++++
 1 file changed, 247 insertions(+)