Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 588768 - media-libs/opusfile-0.8[libressl] : ./.../ undefined reference to `BIO_meth_set_puts'
Summary: media-libs/opusfile-0.8[libressl] : ./.../ undefined reference ...
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: No maintainer - Look at if you want to take care of it
Keywords: PATCH
Depends on:
Blocks: libressl-support
  Show dependency tree
Reported: 2016-07-13 17:26 UTC by Toralf Förster
Modified: 2018-11-03 08:18 UTC (History)
6 users (show)

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

emerge-history.txt (emerge-history.txt,498.42 KB, text/plain)
2016-07-13 17:26 UTC, Toralf Förster
environment (environment,19.74 KB, text/plain)
2016-07-13 17:27 UTC, Toralf Förster
media-libs:opusfile-0.8:20160713-165223.log (media-libs:opusfile-0.8:20160713-165223.log,17.41 KB, text/plain)
2016-07-13 17:27 UTC, Toralf Förster
opusfile-0.8-libressl.patch (opusfile-0.8-libressl.patch,2.66 KB, patch)
2016-07-18 20:22 UTC, Johannes Hirte
Details | Diff
alternative patch (opusfile-0.8-libressl.patch,2.66 KB, patch)
2017-02-27 13:14 UTC, Michelangelo Scopelliti
Details | Diff
patch for opusfile-0.9 (opusfile-0.9-libressl.patch,3.95 KB, patch)
2017-11-02 13:57 UTC, Michelangelo Scopelliti
Details | Diff
opusfile-0.11 build.log (build-opusfile-0.11.log,23.48 KB, text/plain)
2018-09-25 14:01 UTC, Stefan Strogin

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2016-07-13 17:26:51 UTC
/bin/sh ./libtool  --tag=CC   --mode=link x86_64-pc-linux-gnu-gcc -I./include -I/usr/include/opus -march=native -O2 -pipe -std=c89 -pedantic -Wall -Wextra -Wno-parentheses -Wno-long-long -fvisibility=hidden  -Wl,-O1 -Wl,--as-needed -o examples/opusfile_example examples/opusfile_example.o 
libtool: link: x86_64-pc-linux-gnu-gcc -I./include -I/usr/include/opus -march=native -O2 -pipe -std=c89 -pedantic -Wall -Wextra -Wno-parentheses -Wno-long-long -fvisibility=hidden -Wl,-O1 -Wl,--as-needed -o examples/.libs/opusfile_example examples/opusfile_example.o  ./.libs/ /var/tmp/portage/media-libs/opusfile-0.8/work/opusfile-0.8/.libs/ -lssl -lcrypto ./.libs/libopus
./.libs/ undefined reference to `BIO_meth_set_puts'

$ cat emerge-info.txt

  This is an unstable amd64 chroot image (named amd64-hardened-unstable_20160629-224721) at a hardened host acting as a tinderbox.


  make.conf: USE="-openssl libressl pax_kernel xtpax -cdinstall -oci8 -bindist btrfs cairo consolekit -emacs fluidsynth freetds -git jadetex -lapack libvirtd llvm -minimal -mng mpeg -mpeg3 mssql mta multimedia obj objc odbc openexr pdo php -policykit pulseaudio scripts scrypt -server snmp source sslv2 swscale system-icu szip tcl tools truetype -vaapi vim vorbis widgets -wxwidgets X xa xslt xvmc xz zip"


Portage 2.3.0 (python 3.4.4-final-0, hardened/linux/amd64, gcc-5.4.0, glibc-2.23-r2, 4.6.4-hardened x86_64)
System uname: Linux-4.6.4-hardened-x86_64-Intel-R-_Core-TM-_i7-3770_CPU_@_3.40GHz-with-gentoo-2.2
KiB Mem:    16155840 total,   2716624 free
KiB Swap:   16777212 total,  16641836 free
Timestamp of repository gentoo: Wed, 13 Jul 2016 16:02:51 +0000
sh bash 4.3_p46
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
distcc 3.2rc1 x86_64-pc-linux-gnu [disabled]
ccache version 3.2.5 [disabled]
app-shells/bash:          4.3_p46::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.0-r1::gentoo
dev-lang/python:          2.7.11-r2::gentoo, 3.4.4::gentoo, 3.5.1-r3::gentoo
dev-util/ccache:          3.2.5::gentoo
dev-util/cmake:           3.6.0::gentoo
dev-util/pkgconfig:       0.29.1::gentoo
sys-apps/baselayout:      2.2-r1::gentoo
sys-apps/openrc:          0.21.2::gentoo
sys-apps/sandbox:         2.10-r2::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r2::gentoo
sys-devel/automake:       1.9.6-r4::gentoo, 1.10.3-r2::gentoo, 1.11.6-r2::gentoo, 1.12.6-r1::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo, 2.26.1::gentoo
sys-devel/gcc:            4.9.3::gentoo, 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.6::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r2::gentoo

    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://
    priority: 1

    location: /usr/local/portage
    masters: gentoo
    priority: 2

ACCEPT_KEYWORDS="amd64 ~amd64"
CFLAGS="-march=native -O2 -pipe"
CONFIG_PROTECT="/etc /etc/grs/systems.conf /etc/omega.conf /etc/stunnel/stunnel.conf /opt/openfire/resources/security/ /usr/lib64/tomoyo/conf /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/qpsmtpd/plugins /usr/share/themes/oxygen-gtk/gtk-2.0 /var/lib/hsqldb /var/yp/Makefile"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/games/angband/gamedata/ /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"
EMERGE_DEFAULT_OPTS="--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=" rsync:// rsync://"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
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"
USE="X acl amd64 berkdb btrfs bzip2 cairo cli consolekit cracklib crypt cxx dri fluidsynth freetds gdbm hardened iconv ipv6 jadetex justify libressl libvirtd llvm mmx mmxext modules mpeg mssql mta multilib multimedia ncurses nls nptl obj objc odbc openexr openmp pam pax_kernel pcre pdo php pie pulseaudio readline scripts scrypt seccomp session snmp source sse sse2 ssl sslv2 ssp swscale system-icu szip tcl tcpd tools truetype unicode urandom vim vorbis widgets xa xattr xslt xtpax xvmc xz zip zlib" ABI_X86="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" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" 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"
Comment 1 Toralf Förster gentoo-dev 2016-07-13 17:26:58 UTC
Created attachment 440598 [details]
Comment 2 Toralf Förster gentoo-dev 2016-07-13 17:27:01 UTC
Created attachment 440600 [details]
Comment 3 Toralf Förster gentoo-dev 2016-07-13 17:27:03 UTC
Created attachment 440602 [details]
Comment 4 Johannes Hirte 2016-07-18 20:21:57 UTC
This is because the following commit:

commit 13a6a454c3c017d06ba185a9a2b7b3433310f8ca
Author: Timothy B. Terriberry <>
Date:   Wed Jul 6 09:36:16 2016 -0700

    Add support for OpenSSL 1.1.x.
    The API and ABI is not backwards-compatible.
    This is based on the prerelease version 1.1.0-pre5.
    It should continue to work with older versions of OpenSSL.
    Thanks to Ron Lee and the Debian project for reporting the build
     errors and testing the patch.

There are some "if OPENSSL_VERSION_NUMBER<0x10100000L" statements that break build with libressl. Following patch should fix this.
Comment 5 Johannes Hirte 2016-07-18 20:22:51 UTC
Created attachment 441042 [details, diff]
Comment 6 Andreas Sturmlechner gentoo-dev 2016-11-21 09:54:26 UTC
Sounds like this should not block gcc-5 then, at least I can build opusfile[-libressl] just fine with GCC-5.4.0.
Comment 7 Joe Kappus 2017-01-09 21:57:43 UTC
Note, patch is not enough to cover entire build with libressl. If http USE is enabled, will break in http.c...
Comment 8 Michelangelo Scopelliti 2017-02-27 13:14:51 UTC
Created attachment 465380 [details, diff]
alternative patch

I'm not able to build with the current patch.
I've tried this other one, simply switching '<=' with '>='.

Not sure it is right, but building went fine.
Comment 9 jospezial 2017-05-27 20:22:52 UTC
with libressl-2.5.1 only the patch from #c8 works.
Comment 10 Michelangelo Scopelliti 2017-11-02 13:57:31 UTC
Created attachment 501702 [details, diff]
patch for opusfile-0.9

new patch for the 0.9 version. With this patch I was able to compile against libressl-2.6.2
Comment 11 Michelangelo Scopelliti 2017-11-23 12:36:04 UTC
(In reply to Michelangelo Scopelliti from comment #10)
> Created attachment 501702 [details, diff] [details, diff]
> patch for opusfile-0.9
> new patch for the 0.9 version. With this patch I was able to compile against
> libressl-2.6.2

The same patch works for opusfile-0.10 and libressl-2.6.3
Comment 12 Daniel Kenzelmann 2018-01-17 08:05:58 UTC
Any chance to include that patch in the portage tree?
Comment 13 Toffanin 2018-02-28 11:01:47 UTC
Daniel Kenzelmann, I took the liberty to push Scopelliti's patch to the libressl overlay:

You can temporarily emerge opusfile-0.10 from that repository:
$ layman -a libressl
$ emerge -1av media-libs/opusfile::libressl
Comment 14 Jason Oliveira 2018-04-19 16:31:11 UTC
This definitely needs to be in the portage tree, for those of us using libressl with no overlays.
Comment 15 Stefan Strogin gentoo-dev 2018-09-25 14:01:19 UTC
Created attachment 547868 [details]
opusfile-0.11 build.log

Still remains in 0.11
Comment 16 Stefan Strogin gentoo-dev 2018-09-27 02:01:36 UTC
Have created an issue in the upstream:
And a patch:
Comment 17 Stefan Strogin gentoo-dev 2018-10-02 00:01:16 UTC
Fixed upstream:;a=commitdiff;h=d59a17ec1e58
Comment 18 Larry the Git Cow gentoo-dev 2018-11-03 08:18:55 UTC
The bug has been closed via the following commit(s):

commit 98e54164b037b4503834159711595bfa4eb4d76c
Author:     Stefan Strogin <>
AuthorDate: 2018-11-01 15:31:53 +0000
Commit:     Michał Górny <>
CommitDate: 2018-11-03 08:17:24 +0000

    media-libs/opusfile: add LibreSSL support
    Package-Manager: Portage-2.3.51, Repoman-2.3.11
    Signed-off-by: Stefan Strogin <>
    Signed-off-by: Michał Górny <>

 .../opusfile/files/opusfile-0.11-libressl.patch    | 142 +++++++++++++++++++++
 media-libs/opusfile/opusfile-0.11.ebuild           |   4 +-
 2 files changed, 145 insertions(+), 1 deletion(-)