Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 622140 - net-dns/unbound-1.6.2::gentoo failed (configure phase):configure: error: The sodium library was not found. Please install sodium!
Summary: net-dns/unbound-1.6.2::gentoo failed (configure phase):configure: error: The ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Marc Schiffbauer
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-06-18 14:47 UTC by Conrad Kostecki
Modified: 2018-03-04 08:04 UTC (History)
6 users (show)

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


Attachments
build.log (file_622140.txt,418 bytes, text/plain)
2017-06-19 21:18 UTC, Conrad Kostecki
Details
build.log (build.log,18.18 KB, application/octet-stream)
2017-06-19 21:21 UTC, Conrad Kostecki
Details
libsodium-1.0.12.ebuild (libsodium-1.0.12.ebuild,1.09 KB, text/plain)
2017-06-21 14:30 UTC, Conrad Kostecki
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Conrad Kostecki gentoo-dev 2017-06-18 14:47:03 UTC
checking for arc4random... no
checking for arc4random_uniform... no
checking for getentropy... no
checking for SHA512_Update... yes
checking for sys/sysctl.h... yes
checking for getauxval... yes
checking for library containing clock_gettime... (cached) none required
checking for ctime_r... yes
checking for strsep... yes
checking for library containing sodium_init... no
configure: error: The sodium library was not found. Please install sodium!

!!! Please attach the following file when seeking support:
!!! /var/tmp/portage/net-dns/unbound-1.6.2/work/unbound-1.6.2-abi_x86_32.x86/config.log
 * ERROR: net-dns/unbound-1.6.2::gentoo failed (configure phase):
 *   econf failed
 *
 * Call stack:
 *               ebuild.sh, line  115:  Called src_configure
 *             environment, line 4181:  Called multilib-minimal_src_configure
 *             environment, line 2545:  Called multilib_foreach_abi 'multilib-minimal_abi_src_configure'
 *             environment, line 2759:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *             environment, line 2475:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *             environment, line 2473:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure'
 *             environment, line  446:  Called multilib-minimal_abi_src_configure
 *             environment, line 2539:  Called multilib_src_configure
 *             environment, line 2971:  Called econf '--disable-debug' '--enable-gost' '--enable-dnscrypt' '--disable-dnstap' '--enable-ecdsa' '--disable-static' '--disable-systemd' '--without-pythonmodule' '--without-pyunbound' '--with-pthreads' '--disable-flto' '--disable-rpath' '--with-libevent=/usr' '--with-pidfile=/var/run/unbound.pid' '--with-rootkey-file=/etc/dnssec/root-anchors.txt' '--with-ssl=/usr' '--with-libexpat=/usr'
 *        phase-helpers.sh, line  665:  Called __helpers_die 'econf failed'
 *   isolated-functions.sh, line  117:  Called die
 * The specific snippet of code:
 *              die "$@"
 *
 * If you need support, post the output of `emerge --info '=net-dns/unbound-1.6.2::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=net-dns/unbound-1.6.2::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/net-dns/unbound-1.6.2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/net-dns/unbound-1.6.2/temp/environment'.
 * Working directory: '/var/tmp/portage/net-dns/unbound-1.6.2/work/unbound-1.6.2-abi_x86_32.x86'
 * S: '/var/tmp/portage/net-dns/unbound-1.6.2/work/unbound-1.6.2'



Sodium is installed:
[I] dev-libs/libsodium
     Verfügbare Versionen:   1.0.11(0/18) (~)1.0.12(0/18) {+asm minimal static-libs +urandom CPU_FLAGS_X86="aes sse4_1"}
     Installierte Versionen: 1.0.12(16:28:13 18.06.2017)(-asm -minimal -static-libs -urandom CPU_FLAGS_X86="aes sse4_1")
     Startseite:             https://github.com/jedisct1/libsodium
     Beschreibung:           A portable fork of NaCl, a higher-level cryptographic library

re-emerging dev-libs/libsodium did not help
Comment 1 Conrad Kostecki gentoo-dev 2017-06-18 14:47:16 UTC
Portage 2.3.6 (python 3.6.1-final-0, default/linux/amd64/13.0, gcc-6.3.0, glibc-2.24-r2, 4.11.4-gentoo x86_64)
=================================================================
System uname: Linux-4.11.4-gentoo-x86_64-Intel-R-_Core-TM-_i7_CPU_X_990_@_3.47GHz-with-gentoo-2.4.1
KiB Swap:    5242876 total,   5242876 free
Timestamp of repository gentoo: Sun, 18 Jun 2017 13:15:01 +0000
sh bash 4.4_p12
ld GNU ld (Gentoo 2.28 p1.2) 2.28
ccache version 3.3.4 [enabled]
app-shells/bash:          4.4_p12::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.1-r2::gentoo
dev-lang/python:          2.7.13::gentoo, 3.4.6::gentoo, 3.5.3::gentoo, 3.6.1-r1::gentoo
dev-util/ccache:          3.3.4::gentoo
dev-util/cmake:           3.8.2::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1::gentoo
sys-apps/openrc:          0.27.2::gentoo
sys-apps/sandbox:         2.10-r4::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r3::gentoo
sys-devel/automake:       1.13.4-r1::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.28-r2::gentoo
sys-devel/gcc:            6.3.0::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r4::gentoo
sys-devel/make:           4.2.1-r1::gentoo
sys-kernel/linux-headers: 4.10::gentoo (virtual/os-headers)
sys-libs/glibc:           2.24-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://excelsior.bl4ckb0x.de/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts: --exclude-from=/etc/portage/rsync_excludes

soyuz
    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/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 merge-sync news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://ftp.halifax.rwth-aachen.de/gentoo/"
INSTALL_MASK="/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"
MAKEOPTS="-j3 -l2"
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 aac acl alsa amd64 berkdb bzip2 cairo caps cddb cdinstall cjk cracklib crypt curl cvs cxx dbus dedicated encode ffmpeg flac flite fontconfig ftp gd gif git gmp gnutls gpm iconv icu idn imlib introspection ipv6 javascript jbig jit joystick jpeg jpeg2k lcms libcaca libsamplerate lm_sensors lzma lzo maildir mbox mikmod mime modplug mp3 ncurses netgroups nls nntp nptl offensive ogg openal opencl opengl openmp orc oss pam pcre pdf perl png postproc postscript pulseaudio python readline slang sndfile sound speex spell sqlite ssl subversion suid svg symlink tcpd theora threads tiff truetype udev unicode usb vaapi vdpau vim-syntax vorbis wavpack webp x264 xattr xcb xml xpm xv xvid zlib zsh-completion" ABI_X86="32 64" COLLECTD_PLUGINS="cgroups conntrack contextswitch cpu df disk dns entropy filecount hugepages interface ipc irq load memory netlink network ping processes protocols sensors serial swap syslog tcpconns thermal 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" LINGUAS="de de_DE" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 python3_4 python3_5 python3_6" USERLAND="GNU" VIDEO_CARDS="vmware"
USE_PYTHON="2.7 3.4 3.5 3.6"
Unset:  CC, CPPFLAGS, CTARGET, CXX
Comment 2 Marc Schiffbauer gentoo-dev 2017-06-19 20:31:24 UTC
Sorry, I cannot reproduce this here. You did not even set USE=dnscrypt, right?

For me unbound builds fine with or without libsodium with USE=-dnscrypt and it builds fine with USE=dnscrypt and libsodium installed in the same way than you have it.

I can only trigger that error with having libsodium deinstalled and forcing unbond to build without dependencies (--nodeps) *and* USE=dnscrypt.

Does this error persist?
Comment 3 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-06-19 21:10:21 UTC
@Conrad, please attach the full build log, and config.log as the nice message asked you to.

@Marc, I suspect it might be related to USE='-asm -urandom'. AFAICS those are on by default, so I guess it might cause some weird build.
Comment 4 Marc Schiffbauer gentoo-dev 2017-06-19 21:14:59 UTC
@Michal: I forgot to mention that I already tried the same non default USE flags for libsodium as that was my first guess as well. But it was all ok here.
Comment 5 Conrad Kostecki gentoo-dev 2017-06-19 21:18:40 UTC
Created attachment 477294 [details]
build.log
Comment 6 Conrad Kostecki gentoo-dev 2017-06-19 21:19:04 UTC
Hi Michał,
i've attached my complete build log.

My USE flags are:

net-dns/unbound-1.6.2::gentoo [1.6.0::gentoo] USE="dnscrypt%* ecdsa gost python threads -debug -dnstap -libressl (-selinux) -static-libs -systemd% {-test}" ABI_X86="32 (64) (-x32)" PYTHON_TARGETS="python2_7" 5.253 KiB

dev-libs/libsodium-1.0.12:0/18::gentoo  USE="asm urandom -minimal -static-libs" CPU_FLAGS_X86="aes sse4_1" 0 KiB

Conrad
Comment 7 Conrad Kostecki gentoo-dev 2017-06-19 21:21:05 UTC
Created attachment 477296 [details]
build.log
Comment 8 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-06-19 21:23:05 UTC
Ok, my second guess would be that someone made unbound multilib without making libsodium multilib, and then didn't add MULTILIB_USEDEP on libsodium to pretend it's not a problem.
Comment 9 Conrad Kostecki gentoo-dev 2017-06-21 14:30:42 UTC
(In reply to Michał Górny from comment #8)
> Ok, my second guess would be that someone made unbound multilib without
> making libsodium multilib, and then didn't add MULTILIB_USEDEP on libsodium
> to pretend it's not a problem.

Yeah, it seems, you nailed it.

When I do update my local libsodium eBuild to support multilib, unbound compiles fine.

Btw, my modified eBuild for libsodium says:
 * QA Notice: Unrecognized configure options:
 *
 *      --enable-sse4_1
 *      --enable-aesni
 *      --enable-sse4_1
 *      --enable-aesni
 *      --enable-sse4_1
 *      --enable-aesni
 *      --enable-sse4_1
 *      --enable-aesni

Conrad
Comment 10 Conrad Kostecki gentoo-dev 2017-06-21 14:30:56 UTC
Created attachment 477516 [details]
libsodium-1.0.12.ebuild
Comment 11 Marc Schiffbauer gentoo-dev 2017-06-21 23:00:18 UTC
Thanks Conrad.

Now I wonder if I really only missed adding MULTILIB_USEDEP. When I add this, repoman bails out with lots of fatal errors...

net-dns/unbound/unbound-1.6.3.ebuild: DEPEND: ~amd64(default/linux/amd64/13.0)
[     'dev-libs/libsodium[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]']
...

@Michal: Do we rellay need to make libsodium ebuild multilib aware like Conrad did to finally fix this? TIA
Comment 12 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-06-22 06:05:09 UTC
Marc, the question is: does the shared library use libsodium, or just the program? Multilib usedeps only need to be used for the dependencies of stuff that is actually multilib.
Comment 13 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-07-16 07:13:27 UTC
I've reverted the following 'fix':

commit e753e991e44d203baf68f367c6ab17612aef1a1d
Author:     Marc Schiffbauer <mschiff@gentoo.org>
AuthorDate: Sat Jul 15 23:25:25 2017
Commit:     Marc Schiffbauer <mschiff@gentoo.org>
CommitDate: Sat Jul 15 23:27:04 2017

    net-dns/unbound: fix libsodium dep


As I've already told you, this dependency is invalid against non-multilib dependency. The only result this 'fix' could have is making the users with multilib & dnscrypt enabled hit a brick wall of unsatisfiable dependency. But with our brick wall protection in place, it only caused a detected depgraph breakage and prevented everyone from syncing.

You would've known that if you used repoman. Since your previous commits were repoman-enabled, I have a suspicion you avoided repoman in order to workaround the report.
Comment 14 Marc Schiffbauer gentoo-dev 2017-07-16 20:33:15 UTC
Hi Michał,

thanks for reverting, my fault. I had stashed that change I thought I had forgotten to commit it... and then I missinterpreted the repoman output.

So to get to your question:

libunbound links against libsodium... but if it actually *uses* it... I donet know. Or does this answer it?
Comment 15 Andrew John Hughes 2017-09-06 07:17:42 UTC
Still hitting this same issue. libsodium needs to be made multilib and the dependency in unbound needs MULTILIB_USEDEP so it will pull in the 32-bit version.

With those changes, unbound will configure, compile and install. The unbound library does link against libsodium:

# ldd ../../image/usr/lib32/libunbound.so.2.5.3 
	linux-gate.so.1 (0xf771a000)
	libssl.so.1.1 => /usr/lib32/libssl.so.1.1 (0xf7554000)
	libsodium.so.18 => /usr/lib32/libsodium.so.18 (0xf74bc000)
	libprotobuf-c.so.1 => /usr/lib32/libprotobuf-c.so.1 (0xf74b2000)
	libfstrm.so.0 => /usr/lib32/libfstrm.so.0 (0xf74a6000)
	libevent-2.1.so.6 => /usr/lib32/libevent-2.1.so.6 (0xf744a000)
	libcrypto.so.1.1 => /usr/lib32/libcrypto.so.1.1 (0xf71f9000)
	libsystemd.so.0 => /usr/lib32/libsystemd.so.0 (0xf7150000)
	libpthread.so.0 => /lib32/libpthread.so.0 (0xf7134000)
	libc.so.6 => /lib32/libc.so.6 (0xf6f81000)
	libz.so.1 => /usr/lib32/libz.so.1 (0xf6f68000)
	libdl.so.2 => /lib32/libdl.so.2 (0xf6f61000)
	libcap.so.2 => /usr/lib32/libcap.so.2 (0xf6f5a000)
	librt.so.1 => /lib32/librt.so.1 (0xf6f51000)
	liblzma.so.5 => /usr/lib32/liblzma.so.5 (0xf6f25000)
	liblz4.so.1 => /usr/lib32/liblz4.so.1 (0xf6f12000)
	libgcrypt.so.20 => /usr/lib32/libgcrypt.so.20 (0xf6e38000)
	/lib/ld-linux.so.2 (0x565fc000)
	libgpg-error.so.0 => /usr/lib32/libgpg-error.so.0 (0xf6e20000)

# ldd ../../image/usr/lib64/libunbound.so.2.5.3 
	linux-vdso.so.1 (0x00007ffed669f000)
	libssl.so.1.1 => /usr/lib64/libssl.so.1.1 (0x00007f8b2ef57000)
	libsodium.so.18 => /usr/lib64/libsodium.so.18 (0x00007f8b2ece7000)
	libprotobuf-c.so.1 => /usr/lib64/libprotobuf-c.so.1 (0x00007f8b2eadd000)
	libfstrm.so.0 => /usr/lib64/libfstrm.so.0 (0x00007f8b2e8d1000)
	libevent-2.1.so.6 => /usr/lib64/libevent-2.1.so.6 (0x00007f8b2e67f000)
	libcrypto.so.1.1 => /usr/lib64/libcrypto.so.1.1 (0x00007f8b2e20a000)
	libsystemd.so.0 => /usr/lib64/libsystemd.so.0 (0x00007f8b2df75000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f8b2dd58000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f8b2d9bd000)
	libz.so.1 => /lib64/libz.so.1 (0x00007f8b2d7a6000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f8b2d5a2000)
	libcap.so.2 => /lib64/libcap.so.2 (0x00007f8b2d39a000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f8b2d192000)
	liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f8b2cf6c000)
	liblz4.so.1 => /usr/lib64/liblz4.so.1 (0x00007f8b2cd5a000)
	libgcrypt.so.20 => /usr/lib64/libgcrypt.so.20 (0x00007f8b2ca40000)
	/lib64/ld-linux-x86-64.so.2 (0x00005638f0588000)
	libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0 (0x00007f8b2c82b000)
Comment 16 Conrad Kostecki gentoo-dev 2017-09-26 09:40:18 UTC
So, new version, same problem ;-)

Any news on making libsodium multilib?
Comment 17 Conrad Kostecki gentoo-dev 2018-02-09 13:46:05 UTC
*bump*

I am still using my local libsodium with multilib enabled, which fixed this for me..
Comment 18 Larry the Git Cow gentoo-dev 2018-03-04 08:04:26 UTC
The bug has been closed via the following commit(s):

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

commit ade0980cf5912477c6172223d6ff9b679b0da700
Author:     Conrad Kostecki <ck+gentoo@bl4ckb0x.de>
AuthorDate: 2018-03-03 22:07:03 +0000
Commit:     Michał Górny <mgorny@gentoo.org>
CommitDate: 2018-03-04 07:54:52 +0000

    dev-libs/libsodium: add multilib support
    
    Closes: https://bugs.gentoo.org/622140
    Closes: https://github.com/gentoo/gentoo/pull/7310

 dev-libs/libsodium/libsodium-1.0.16-r1.ebuild | 46 +++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)