*** libssl_iostream_openssl.so is not portable! libtool: link: x86_64-pc-linux-gnu-gcc -std=gnu99 -march=native -O2 -pipe -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -Wl,--as-needed -Wl,-O1 -Wl,--as-needed -o .libs/test-http-client test-http-client.o -Wl,--export-dynamic ./.libs/libhttp.a ../lib-dns/.libs/libdns.a ../lib-ssl-iostream/.libs/libssl_iostream.a ../lib-master/.libs/libmaster.a ../lib-settings/.libs/libsettings.a ../lib-test/.libs/libtest.a ../lib/.libs/liblib.a -ldl ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so -Wl,-rpath -Wl,/usr/lib64/dovecot ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so: undefined reference to `OPENSSL_cleanup' collect2: error: ld returned 1 exit status make[3]: *** [Makefile:738: test-http-client] Error 1 make[3]: Leaving directory '/var/tmp/portage/net-mail/dovecot-2.2.27/work/dovecot-2.2.27/src/lib-http' $ cat emerge-info.txt ----------------------------------------------------------------- This is an unstable amd64 chroot image (named amd64-plasma-libressl-unstable_20161204-160545) at a hardened host acting as a tinderbox. ----------------------------------------------------------------- USE flags in make.conf: USE=" -openssl -gnutls libressl pax_kernel xtpax -cdinstall -oci8 -bindist ssp alsa avcodec cdb dbus drmkms gnomecanvas gtk2 kvm mysql mysqli ogg pcre16 plotutils png -pulseaudio python -rendering smartcard -snmp sqlite tcl tls vlc vpx -wav zenmap ziffy -qt4 -qt5 -consolekit" ----------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-5.4.0 * llvm-config --version: 3.9.0 Available Python interpreters, in order of preference: [1] python3.4 [2] python2.7 (fallback) java-config: ----------------------------------------------------------------- Portage 2.3.3 (python 3.4.5-final-0, default/linux/amd64/13.0/desktop/plasma, gcc-5.4.0, glibc-2.23-r3, 4.8.12-hardened x86_64) ================================================================= System Settings ================================================================= System uname: Linux-4.8.12-hardened-x86_64-Intel-R-_Core-TM-_i7-3930K_CPU_@_3.20GHz-with-gentoo-2.3 KiB Mem: 65285560 total, 23703052 free KiB Swap: 67108860 total, 67108860 free Timestamp of repository gentoo: Tue, 06 Dec 2016 19:49:24 +0000 sh bash 4.4_p5-r1 ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1 app-shells/bash: 4.4_p5-r1::gentoo dev-lang/perl: 5.24.1_rc4::gentoo dev-lang/python: 2.7.12::gentoo, 3.4.5::gentoo dev-util/cmake: 3.7.1::gentoo dev-util/pkgconfig: 0.29.1::gentoo sys-apps/baselayout: 2.3::gentoo sys-apps/openrc: 0.22.4::gentoo sys-apps/sandbox: 2.10-r2::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r2::gentoo sys-devel/automake: 1.11.6-r2::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r2::gentoo sys-devel/binutils: 2.25.1-r1::gentoo, 2.27::gentoo sys-devel/gcc: 5.4.0::gentoo sys-devel/gcc-config: 1.8-r1::gentoo sys-devel/libtool: 2.4.6-r2::gentoo sys-devel/make: 4.2.1::gentoo sys-kernel/linux-headers: 4.8::gentoo (virtual/os-headers) sys-libs/glibc: 2.23-r3::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: 1 tinderbox location: /tmp/tb/data/portage masters: gentoo priority: 2 local location: /usr/local/portage masters: gentoo priority: 99 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /var/yp/Makefile" 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/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/var/tmp/distfiles" EMERGE_DEFAULT_OPTS="--verbose --verbose-conflicts --color=n --nospinner --tree --quiet-build" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync network-sandbox parallel-fetch preserve-libs protect-owned sandbox sfperms strict test-fail-continue unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo rsync://mirror.netcologne.de/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gor.bytemark.co.uk/gentoo/ rsync://ftp.snt.utwente.nl/gentoo" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" 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 a52 aac acl acpi alsa amd64 avcodec berkdb bluetooth branding bzip2 cairo cdb cdda cdr cli cracklib crypt cups cxx dbus declarative dri drmkms dts dvd dvdr emboss encode exif fam firefox flac fortran gdbm gif glamor gnomecanvas gpm gtk gtk2 iconv ipv6 jpeg kde kipi kvm lcms ldap libnotify libressl mad mmx mmxext mng modules mp3 mp4 mpeg multilib mysql mysqli ncurses nls nptl ogg opengl openmp pam pango pax_kernel pcre pcre16 pdf phonon plasma plotutils png policykit ppds python qml qt3support readline sdl seccomp semantic-desktop session smartcard spell sqlite sse sse2 ssl ssp startup-notification svg tcl tcpd tiff tls truetype udev udisks unicode upower usb vlc vorbis vpx widgets wxwidgets x264 xattr xcb xcomposite xinerama xml xscreensaver xtpax xv xvid zenmap ziffy zlib" ABI_X86="32 64" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" CURL_SSL="libressl" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" L10N="as bo ky sa si sid ug" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="intel i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Created attachment 455320 [details] config.log
Created attachment 455322 [details] emerge-history.txt
Created attachment 455324 [details] environment
Created attachment 455326 [details] etc.portage.tbz2
Created attachment 455328 [details] net-mail:dovecot-2.2.27:20161206-222142.log
Related to 599024?
No. In #599024, link fails because libssl_iostream_openssl.la does not exist. In this bug, link fails because libssl_iostream_openssl.so does not contain the symbol OPENSSL_cleanup, which does not exist in libressl.
Try this patch: --- a/src/lib-ssl-iostream/dovecot-openssl-common.c +++ b/src/lib-ssl-iostream/dovecot-openssl-common.c @@ -101,7 +101,7 @@ ERR_remove_thread_state(NULL); #endif ERR_free_strings(); -#if OPENSSL_VERSION_NUMBER >= 0x10100000L +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) OPENSSL_cleanup(); #endif
Ha. Yes, that does work, and it does not result in the segfault that that call is there to prevent. I have sent a pull request upstream. See https://github.com/dovecot/core/commit/b4884ca2e67bb794786419d9e7b6140842b03bcc for the reason why that line is in there. See https://github.com/dovecot/core/pull/30 for the pull request.
Please add this to bug #561854 as blocker.
This is fixed in all ebuilds in the tree.