Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 590252 - media-sound/pulseaudio and media-libs/rubberband requires sci-libs/fftw to build with -fPIC
Summary: media-sound/pulseaudio and media-libs/rubberband requires sci-libs/fftw to bu...
Status: RESOLVED DUPLICATE of bug 590310
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-08-02 02:05 UTC by Drunkard Zhang
Modified: 2016-08-02 15:59 UTC (History)
4 users (show)

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


Attachments
full build log of media-libs/rubberband (rubberband-build.log,12.86 KB, text/plain)
2016-08-02 02:07 UTC, Drunkard Zhang
Details
full build log of media-sound/pulseaudio (pulseaudio-build.log.gz,31.75 KB, application/gzip)
2016-08-02 02:08 UTC, Drunkard Zhang
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Drunkard Zhang 2016-08-02 02:05:16 UTC
After updated to sci-libs/fftw-3.3.5, media-sound/pulseaudio and media-libs/rubberband failed to rebuild (there's preserved libs), 

Reproducible: Always

Steps to Reproduce:
1. upgrade to sci-libs/fftw-3.3.5
2. emerge -1avq media-libs/rubberband media-sound/pulseaudio
3.
Actual Results:  
Last failure messages looks like:

/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libfftw3f.a(apiplan.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/lib64/libfftw3f.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status


emerge --info sci-libs/fftw
Portage 2.3.0 (python 3.4.5-final-0, default/linux/amd64/13.0/desktop/gnome/systemd, gcc-5.4.0, glibc-2.22-r4, 4.7.0-rc7+ x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.7.0-rc7+-x86_64-Intel-R-_Core-TM-_i7-6700HQ_CPU_@_2.60GHz-with-gentoo-2.2
KiB Mem:    24589416 total,    390904 free
KiB Swap:    8388604 total,   8363696 free
sh bash 4.3_p46
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
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.12::gentoo, 3.4.5::gentoo, 3.5.2::gentoo
dev-util/cmake:           3.6.1::gentoo
dev-util/pkgconfig:       0.29.1::gentoo
sys-apps/baselayout:      2.2-r1::gentoo
sys-apps/openrc:          0.21.3::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.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.22-r4::gentoo
Repositories:

anyc
    location: /var/lib/layman/anyc
    masters: gentoo
    priority: 50

betagarden
    location: /var/lib/layman/betagarden
    masters: gentoo
    priority: 50

drunkard
    location: /var/lib/layman/drunkard
    masters: gentoo
    priority: 50

gnome
    location: /var/lib/layman/gnome
    masters: gentoo
    priority: 50

gentoo
    location: /usr/portage
    sync-type: git
    sync-uri: git://anongit.gentoo.org/repo/gentoo.git
    priority: 9999

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=haswell -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/gnupg/qualified.txt /var/bind"
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"
CXXFLAGS="-O2 -march=haswell -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks downgrade-backup ebuild-locks fixlafiles merge-sync news nodoc noinfo parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirrors.aliyun.com/gentoo/ http://mirrors.sohu.com/gentoo/ http://mirrors.163.com/gentoo/ http://mirrors.kernel.org/gentoo/ "
LANG="en_US.utf8"
LC_ALL="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j10"
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 aalib accessibility acl acpi aio alsa amd64 amr ao ap apm audit bash-completion berkdb bluetooth bluray branding bzip2 cairo caps cdda cjk cleartype cli colord cracklib crypt cups cxx dbus dga djvu dri dri3 drm dts dvd dvdr eds egl emboss encode epoll evo exif fam ffmpeg firefox flac fontconfig fortran gallium gconf gdbm gegl geoip gif gimp glamor gles gles2 gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk gtk3 hidpi iconv icu idn imagemagick inotify introspection ipv6 jack jpeg jpeg2k kdbus kms lcms libass libbluray libinput libnotify libsamplerate libsecret lz4 lzma lzo mad minizip mmap mmx mmxext mng modules mp3 mp4 mpeg mpi mtp multilib natspec nautilus ncurses networkmanager nls nptl ogg openal opencc opencl openexr opengl openmp opus pam pango pcre pdf png policykit postgres postscript ppds pulseaudio raw readline realtime sdl seccomp session sftp smp sse sse2 ssh ssl startup-notification svg systemd theora threads tiff tracker truetype udev udisks unicode upower usb usbredir v4l v4l2 vaapi vdpau vim-syntax vorbis vpx wayland webp wifi wxwidgets x264 xattr xcb xinerama xkb xml xmp xpm xrandr xv xvid xvmc 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 avx2 fma mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" CURL_SSL="gnutls" 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" GRUB_PLATFORMS="efi-64 pc" INPUT_DEVICES="evdev keyboard mouse synaptics" KERNEL="linux" L10N="zh zh-CN zh-HK zh-TW zh_CN zh_HK zh_TW en ru de bo ug" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="zh zh-CN zh-HK zh-TW zh_CN zh_HK zh_TW en ru de bo ug" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby23" USERLAND="GNU" VIDEO_CARDS="nouveau i915 i965 intel 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"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

=================================================================
                        Package Settings
=================================================================

sci-libs/fftw-3.3.5::gentoo was built with the following:
USE="fortran mpi openmp quad threads (-altivec) -doc -static-libs -test (-zbus)" ABI_X86="64 -32 -x32" CPU_FLAGS_X86="avx avx2 sse sse2 -fma3 -fma4"
Comment 1 Drunkard Zhang 2016-08-02 02:07:26 UTC
Created attachment 442222 [details]
full build log of media-libs/rubberband
Comment 2 Drunkard Zhang 2016-08-02 02:08:28 UTC
Created attachment 442224 [details]
full build log of media-sound/pulseaudio
Comment 3 Wes 2016-08-02 02:33:38 UTC
This problem is far more widespread than just media-sound/pulseaudio and media-libs/rubberband, I'm seeing this same error with octave, blender, and others
Comment 4 Viktor Yu. Kovalskii 2016-08-02 04:48:54 UTC
Upstream issue:

https://github.com/FFTW/fftw3/issues/51
Comment 5 Wes 2016-08-02 04:52:12 UTC
(In reply to Viktor Yu. Kovalskii from comment #4)
> Upstream issue:
> 
> https://github.com/FFTW/fftw3/issues/51

Not really an upstream issue if portage isn't passing the right commandline to ./configure
Comment 6 Christian Bricart 2016-08-02 07:12:39 UTC
I can confirm adding --enable-shared to econf fixes the issue
Comment 7 Jouni Kosonen 2016-08-02 07:21:47 UTC
(In reply to Wes from comment #5)
> Not really an upstream issue if portage isn't passing the right commandline
> to ./configure

From the fftw build log it looks like this is indeed the case:

checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes

FWIW, I just added these two lines in a local copy of the ebuild while waiting for an official fix:

--- a/sci-libs/fftw/fftw-3.3.5.ebuild
+++ b/sci-libs/fftw/fftw-3.3.5.ebuild
@@ -88,6 +88,8 @@ multilib_src_configure() {
                $(use_enable zbus mips-zbus-timer)
                $(use_enable threads)
                $(use_enable openmp)
+               $(use_enable static-libs static)
+               $(use_enable !static-libs shared)
        )
        case "${MULTIBUILD_ID}" in
                single-*)
Comment 8 Wes 2016-08-02 07:27:34 UTC
(In reply to Jouni Kosonen from comment #7)
> +               $(use_enable static-libs static)
> +               $(use_enable !static-libs shared)

There are circumstances where you might want both, they're not mutually exclusive.
Shared for normal host system use and static available when compiling+linking a binary for an embedded system comes to mind.
(just fyi, in case the maintainer sees this an decides to implement it)
Comment 9 David Seifert gentoo-dev 2016-08-02 15:25:24 UTC
Sorry for breaking fftw, I forgot --enable-shared when porting from autotools-utils.eclass. Let me know if the -r1 fixes it (and I'm pretty sure it should).

commit 594dbc365403131e810db4c6980c533c97a6bb87
Author: David Seifert <soap@gentoo.org>
Date:   Tue Aug 2 10:10:41 2016 +0200

    sci-libs/fftw: Fix missing .so files due to incomplete autotools-utils.eclass porting
    
    * Also reintroduce USE="neon" flag
    
    Package-Manager: portage-2.3.0
Comment 10 Wes 2016-08-02 15:36:24 UTC
Thanks!
Comment 11 Christoph Junghans (RETIRED) gentoo-dev 2016-08-02 15:59:15 UTC

*** This bug has been marked as a duplicate of bug 590310 ***