output/libwebrtc-x86_64-pc-linux-gnu/common_audio/signal_processing/complex_fft.o: In function `WebRtcSpl_ComplexFFT': complex_fft.c:(.text+0x0): multiple definition of `WebRtcSpl_ComplexFFT' output/libwebrtc-x86_64-pc-linux-gnu/common_audio/signal_processing/complex_fft.o:complex_fft.c:(.text+0x0): first defined here output/libwebrtc-x86_64-pc-linux-gnu/common_audio/signal_processing/complex_fft.o: In function `WebRtcSpl_ComplexIFFT': complex_fft.c:(.text+0x320): multiple definition of `WebRtcSpl_ComplexIFFT' ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.0-no-multilib_libressl_20180529-190822 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-7.3.0 * Available Python interpreters, in order of preference: [1] python3.5 [2] python2.7 (fallback) emerge -qpv net-libs/pjproject [ebuild N ] net-libs/pjproject-2.7.2 USE="ipv6 libressl ssl webrtc -alsa -amr -debug -doc -epoll -examples -ffmpeg -g711 -g722 -g7221 -gsm -ilbc -l16 -libyuv -openh264 -opus -oss -portaudio -resample -sdl -silk -speex -static-libs -v4l2"
Created attachment 534336 [details] emerge-info.txt
Created attachment 534338 [details] emerge-history.txt
Created attachment 534340 [details] environment
Created attachment 534342 [details] etc.portage.tbz2
Created attachment 534344 [details] logs.tbz2
Created attachment 534346 [details] net-libs:pjproject-2.7.2:20180531-204459.log
Created attachment 534348 [details] temp.tbz2
It looks as ac_webrtc_instset (used in third_party/build/os-auto.mak.in) is an empty string but needs to be a string containing "sse2" (x86_64, gcc 7.3). Manually patching this lets the build succeeed.
ping?
The cause of the problem is in the configure option --enable-libwebrtc This helps me: --- a/net-libs/pjproject/pjproject-2.7.2.ebuild +++ b/net-libs/pjproject/pjproject-2.7.2.ebuild @@ -85,7 +85,7 @@ $(use_enable silk) \ $(use_enable opus) \ $(use_enable ssl) \ - $(use_enable webrtc libwebrtc) \ + $(usex webrtc '' --disable-libwebrtc) \ "${myconf[@]}" }
Another brilliant example of how to write a configure script ... same illogical logic as with --{enable,disable}-ssl ... I can confirm that by NOT passing --enable-libwebrtc the code that enables libwebrtc is being run ... essentially some (perhaps all) of their --enable,disable-FEATURE logic looks something like: if --{enable,disable}-FEATURE has been given: if it's disable: disable the feature else do nothing (which typically means, leave it broken) else enable it And in general the alternate path is non-deterministic, meaning if the deps are met it will be enabled, else disabled anyway. I've applied the provided fix from Andrey to the in process 2.9 ebuild ... but I honestly don't like it. If they accept the patches for --{enable,disable}-ssl I'll revisit this one as well.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=90d194bc8a80a478c91f5196da9eac770a755ca2 commit 90d194bc8a80a478c91f5196da9eac770a755ca2 Author: Jaco Kroon <jaco@uls.co.za> AuthorDate: 2019-11-18 09:45:56 +0000 Commit: Joonas Niilola <juippis@gentoo.org> CommitDate: 2019-11-30 07:48:56 +0000 net-libs/pjproject: Bump to 2.9. Drop libressl patches (upstream). Rebase configure for --enable-ssl. Pull in asterisk config_site.h file. Remove blocked on mediastreamer-bcg729 (bcg729 and mediastreamer-bcg729 are the actual blockers and marked as such already). Use ${ED} instead of ${D} on install Correctly rm static libs if USE=-static-libs Set the PJMEDIA_HAS_VIDEO #define as per https://bugs.gentoo.org/652196 Update package.use.mask for ppc to mask g729 for pjproject since net-libs/bcg729 isn't available (yet) on ppc. Closes: https://bugs.gentoo.org/609702 Closes: https://bugs.gentoo.org/618352 Closes: https://bugs.gentoo.org/652196 Closes: https://bugs.gentoo.org/650312 Closes: https://bugs.gentoo.org/653482 Closes: https://bugs.gentoo.org/657014 Closes: https://bugs.gentoo.org/686796 Package-Manager: Portage-2.3.76, Repoman-2.3.16 Signed-off-by: Jaco Kroon <jaco@uls.co.za> Closes: https://github.com/gentoo/gentoo/pull/13712 Signed-off-by: Joonas Niilola <juippis@gentoo.org> net-libs/pjproject/Manifest | 1 + .../pjproject/files/pjproject-2.9-config_site.h | 74 +++++++++++++ .../pjproject/files/pjproject-2.9-ssl-enable.patch | 100 +++++++++++++++++ net-libs/pjproject/metadata.xml | 3 +- net-libs/pjproject/pjproject-2.9.ebuild | 120 +++++++++++++++++++++ .../linux/powerpc/ppc32/17.0/package.use.mask | 3 + .../ppc64/17.0/32bit-userland/package.use.mask | 3 + 7 files changed, 303 insertions(+), 1 deletion(-)