Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 878445 - net-libs/pjproject-2.12.1-r2: +webrtc fails in x86
Summary: net-libs/pjproject-2.12.1-r2: +webrtc fails in x86
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Jaco Kroon
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-10-27 07:58 UTC by Joonas Niilola
Modified: 2023-06-07 11:30 UTC (History)
1 user (show)

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


Attachments
pjproject-2.12.1-r2:20221027-075354.log (pjproject-2.12.1-r2:20221027-075354.log,298.44 KB, text/plain)
2022-10-27 07:59 UTC, Joonas Niilola
Details
pjproject-2.13-r1:20230516-060111.log (pjproject-2.13-r1:20230516-060111.log,248.38 KB, text/plain)
2023-05-16 06:29 UTC, Joonas Niilola
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joonas Niilola gentoo-dev 2022-10-27 07:58:37 UTC
Portage 3.0.38.1 (python 3.10.8-final-0, default/linux/x86/17.0, gcc-11.3.0, glibc-2.35-r8, 6.0.0-pf2 i686)
=================================================================
System uname: Linux-6.0.0-pf2-i686-AMD_Ryzen_9_5950X_16-Core_Processor-with-glibc2.35
KiB Mem:    65749924 total,    768212 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Thu, 27 Oct 2022 07:31:50 +0000
Head commit of repository gentoo: 09f9d7445085e51c5c4180b2529f4a7bf464a747

sh bash 5.1_p16-r1
ld GNU ld (Gentoo 2.38 p4) 2.38
app-misc/pax-utils:        1.3.5::gentoo
app-shells/bash:           5.1_p16-r1::gentoo
dev-lang/perl:             5.34.1-r3::gentoo
dev-lang/python:           3.10.8::gentoo
dev-util/cmake:            3.24.2::gentoo
dev-util/meson:            0.63.2-r1::gentoo
sys-apps/baselayout:       2.8::gentoo
sys-apps/openrc:           0.45.2-r1::gentoo
sys-apps/sandbox:          2.29::gentoo
sys-devel/autoconf:        2.71-r1::gentoo
sys-devel/automake:        1.16.5::gentoo
sys-devel/binutils:        2.38-r2::gentoo
sys-devel/binutils-config: 5.4.1::gentoo
sys-devel/gcc:             11.3.0::gentoo
sys-devel/gcc-config:      2.8::gentoo
sys-devel/libtool:         2.4.7::gentoo
sys-devel/make:            4.3::gentoo
sys-kernel/linux-headers:  5.15-r3::gentoo (virtual/os-headers)
sys-libs/glibc:            2.35-r8::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/gentoo
    priority: -1000

ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=i686 -O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=i686 -O2 -pipe"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--autounmask=y --autounmask-continue --autounmask-use=y --autounmask-write --binpkg-changed-deps=y --buildpkg-exclude virtual/* --buildpkg-exclude acct-* --buildpkg-exclude sys-kernel/* --complete-graph --nospinner --jobs=12 --usepkg"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-march=i686 -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch parallel-install pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=i686 -O2 -pipe"
GENTOO_MIRRORS="https://distfiles.gentoo.org"
LANG="C.UTF8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS=" en en_US en-US fi sv "
MAKEOPTS="-j32"
PKGDIR="/var/cache/binpkgs"
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="acl bzip2 cli crypt dbus dri elogind fortran gdbm iconv ipv6 libglvnd libtirpc ncurses nptl openmp openrc pam pcre readline seccomp split-usr ssl test-rust udev unicode x86 xattr zlib" ABI_X86="32" ADA_TARGET="gnat_2020" 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="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" L10N="en en_US en-US fi sv" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LLVM_TARGETS="AMDGPU BPF" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_10" PYTHON_TARGETS="python3_10" RUBY_TARGETS="ruby27" USERLAND="GNU" VIDEO_CARDS="amdgpu radeonsi" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LEX, LFLAGS, LIBTOOL, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SHELL, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 1 Joonas Niilola gentoo-dev 2022-10-27 07:59:03 UTC
Created attachment 825605 [details]
pjproject-2.12.1-r2:20221027-075354.log
Comment 2 Joonas Niilola gentoo-dev 2022-10-27 07:59:27 UTC
[ERROR] >>> Not all runs were successful.
atom: =net-libs/pjproject-2.12.1-r2, USE flags: '-alsa -amr -epoll -ffmpeg -g711 -g722 g7221 -g729 gsm -ilbc -l16 libyuv -openh264 -opus -portaudio resample sdl -silk speex -ssl static-libs -v4l2 vpx webrtc'
atom: =net-libs/pjproject-2.12.1-r2, USE flags: '-alsa -amr -epoll ffmpeg -g711 g722 -g7221 g729 -gsm -ilbc l16 libyuv -openh264 -opus portaudio -resample sdl -silk -speex ssl static-libs v4l2 vpx webrtc'
atom: =net-libs/pjproject-2.12.1-r2, USE flags: 'alsa amr -epoll ffmpeg g711 -g722 g7221 g729 -gsm -ilbc -l16 -libyuv openh264 opus -portaudio resample -sdl -silk -speex ssl -static-libs -v4l2 vpx webrtc'
atom: =net-libs/pjproject-2.12.1-r2, USE flags: '-alsa amr -epoll -ffmpeg g711 g722 g7221 -g729 -gsm -ilbc -l16 libyuv openh264 -opus portaudio -resample -sdl silk -speex ssl -static-libs -v4l2 -vpx webrtc'
atom: =net-libs/pjproject-2.12.1-r2, USE flags: '-alsa -amr -epoll ffmpeg g711 g722 -g7221 -g729 gsm ilbc l16 -libyuv openh264 -opus portaudio resample -sdl -silk speex ssl static-libs v4l2 vpx webrtc'
atom: =net-libs/pjproject-2.12.1-r2, USE flags: 'alsa amr epoll ffmpeg g711 g722 g7221 -g729 gsm ilbc -l16 -libyuv openh264 opus portaudio resample sdl -silk speex ssl -static-libs v4l2 vpx webrtc'
Comment 3 Jaco Kroon 2022-12-04 22:17:59 UTC
Hi Joonas,

Would you mind testing pjproject 2.13 for this?

https://github.com/gentoo/gentoo/pull/28541

Kind Regards,
Jaco
Comment 4 George Diamantopoulos 2022-12-16 15:29:27 UTC
2.13 doesn't seem to build for me, more information at https://bugs.gentoo.org/886151
Comment 5 Joonas Niilola gentoo-dev 2022-12-31 07:32:19 UTC
(In reply to Jaco Kroon from comment #3)
> Hi Joonas,
> 
> Would you mind testing pjproject 2.13 for this?
> 
> https://github.com/gentoo/gentoo/pull/28541
> 
> Kind Regards,
> Jaco

Hey,

sorry for the late reply. I'm currently on vacation away from home (digging through unread bug mails...)

I'll put this on high priority of my TODO when returning home!
Comment 6 Joonas Niilola gentoo-dev 2023-01-08 08:18:04 UTC
And can now confirm with 2.13 +webrtc works on x86.

 * QA Notice: Files built without respecting LDFLAGS have been detected
 *  Please include the following list of files in your report:
 * /usr/lib/libwebrtc.so.2
Comment 7 Jaco Kroon 2023-05-16 06:26:56 UTC
Copied from bug 906057

(In reply to Joonas Niilola from comment #5)
> I'm tempted to package.use.mask webrtc on x86 until it's fixed again. Let me
> know if that's okay.

I was honestly thinking the same thing over the weekend.  Part of what makes me not want to look at this is because we're only seeing this in testing and it's not required for asterisk (which is the only reason I'm packaging this, others might have other uses for this, but then it wouldn't be just you and me and George picking this up).

Shall we just do that?
Comment 8 Jaco Kroon 2023-05-16 06:27:59 UTC
Perhaps it's a race condition ... ie, sometimes it'll work, and sometimes not, so missing dependency?
Comment 9 Joonas Niilola gentoo-dev 2023-05-16 06:29:41 UTC
Created attachment 861782 [details]
pjproject-2.13-r1:20230516-060111.log
Comment 10 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-05-16 06:30:03 UTC
We can try setting ac_webrtc_instset=generic when we don't have SSE2 on x86.
Comment 11 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-05-16 06:30:24 UTC
(In reply to Jaco Kroon from comment #8)
> Perhaps it's a race condition ... ie, sometimes it'll work, and sometimes
> not, so missing dependency?

You need -march=i686 + x86 for this, not -march=native on x86 or similar, or it'll work.
Comment 12 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-05-16 06:30:34 UTC
(specifically: you need a -march for x86 which definitely doesn't have SSE2.)
Comment 13 Larry the Git Cow gentoo-dev 2023-05-16 06:33:48 UTC
The bug has been referenced in the following commit(s):

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

commit c398106f9d5a5573c48fae36ac85ccd9dda6291e
Author:     Joonas Niilola <juippis@gentoo.org>
AuthorDate: 2023-05-16 06:31:10 +0000
Commit:     Joonas Niilola <juippis@gentoo.org>
CommitDate: 2023-05-16 06:33:44 +0000

    profiles/arch/x86: mask net-libs/pjproject[webrtc] on x86
    
    Bug: https://bugs.gentoo.org/878445
    Signed-off-by: Joonas Niilola <juippis@gentoo.org>

 profiles/arch/x86/package.use.mask | 4 ++++
 1 file changed, 4 insertions(+)
Comment 14 Joonas Niilola gentoo-dev 2023-05-16 06:34:50 UTC
I guess my CFLAGS are correct though for testing?
Comment 15 Jaco Kroon 2023-05-16 09:41:21 UTC
(In reply to Sam James from comment #10)
> We can try setting ac_webrtc_instset=generic when we don't have SSE2 on x86.

OK, so I just tested USE=webrtc on amd64 with -march=native, that definitely works.  I can extract an i686 stage3 to test x86 easily enough.  The actual CPU will still be an "Intel(R) Core(TM) i7-8706G" which doesn't have SSE2 (SSE3, SSE4_1,2 yes).

I guess the question is how do we know when to set ac_webrtc_instset=generic and when we can leave it alone?  Or do we just go hammer-style and always set it for x86?

At the same time I can try and address this (which also affects amd64):

 * QA Notice: Files built without respecting LDFLAGS have been detected
 *  Please include the following list of files in your report:
 * /usr/lib64/libwebrtc.so.2(In reply to Larry the Git Cow from comment #13)

(In reply to Joonas Niilola from comment #13)
> The bug has been referenced in the following commit(s):
> 
> https://gitweb.gentoo.org/repo/gentoo.git/commit/
> ?id=c398106f9d5a5573c48fae36ac85ccd9dda6291e

Thanks.
Comment 16 Joonas Niilola gentoo-dev 2023-05-16 16:26:02 UTC
(In reply to Jaco Kroon from comment #15)
> 
> I guess the question is how do we know when to set ac_webrtc_instset=generic
> and when we can leave it alone?  

I guess you could use cpu_flags_x86_sse2 but if I understand the problem correctly, I should have SSE2 and it's not working for me.


> Or do we just go hammer-style and always
> set it for x86?

Sounds good to me but let's hear sam first...
Comment 17 Jaco Kroon 2023-06-07 11:28:47 UTC
ping @ Sam :)
Comment 18 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-06-07 11:30:54 UTC
Oops!

I think you can safely gimp x86 (not amd64) and force =generic there.