Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 908869 - media-libs/openpgl-0.5.0 failed to emerge - cannot convert ‘__m128i’
Summary: media-libs/openpgl-0.5.0 failed to emerge - cannot convert ‘__m128i’
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: ARM64 Linux
: Normal normal
Assignee: Sebastian Parborg
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2023-06-20 12:06 UTC by Leonid Kopylov
Modified: 2023-07-16 18:46 UTC (History)
1 user (show)

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


Attachments
build.log (build.log,288.71 KB, text/plain)
2023-06-20 12:06 UTC, Leonid Kopylov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Leonid Kopylov 2023-06-20 12:06:37 UTC
# emerge --info '=media-libs/openpgl-0.5.0::gentoo'
Portage 3.0.48.1 (python 3.12.0-beta-2, default/linux/arm64/17.0/desktop/gnome/systemd/merged-usr, gcc-13, glibc-2.37-r3, 6.3.8-gentoo-arm64 aarch64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.3.8-gentoo-arm64-aarch64-with-glibc2.37
KiB Mem:    32817680 total,  14757920 free
KiB Swap:    8388604 total,   8388348 free
Timestamp of repository gentoo: Sun, 18 Jun 2023 06:00:01 +0000
Head commit of repository gentoo: d5087e7429fec725f00bb4356bbc1b167bc53651
sh bash 5.2_p15-r3
ld GNU ld (Gentoo 2.40 p5) 2.40.0
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.2_p15-r3::gentoo
dev-java/java-config:      2.3.1-r1::gentoo
dev-lang/perl:             5.36.1-r2::gentoo
dev-lang/python:           3.10.12::gentoo, 3.11.4::gentoo, 3.12.0_beta2::gentoo
dev-lang/rust:             1.69.0-r1::gentoo
dev-util/cmake:            3.26.4-r1::gentoo
dev-util/meson:            1.1.1::gentoo
sys-apps/baselayout:       2.13-r1::gentoo
sys-apps/sandbox:          2.31::gentoo
sys-apps/systemd:          253.5::gentoo
sys-devel/autoconf:        2.71-r6::gentoo
sys-devel/automake:        1.16.5-r1::gentoo
sys-devel/binutils:        2.40-r5::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           15.0.7-r3::gentoo, 16.0.6::gentoo
sys-devel/gcc:             12.3.1_p20230526::gentoo, 13.1.1_p20230527::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/libtool:         2.4.7-r1::gentoo
sys-devel/llvm:            14.0.6-r4::gentoo, 15.0.7-r3::gentoo, 16.0.6::gentoo
sys-devel/make:            4.4.1-r1::gentoo
sys-kernel/linux-headers:  6.3::gentoo (virtual/os-headers)
sys-libs/glibc:            2.37-r3::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://server.kopylovs.net/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-max-age: 24
    sync-rsync-extra-opts:
    sync-rsync-verify-jobs: 1

ACCEPT_KEYWORDS="arm64 ~arm64"
ACCEPT_LICENSE="* -@EULA Vivaldi"
CBUILD="aarch64-unknown-linux-gnu"
CFLAGS="-march=armv8-a+crc+lse+rcpc+rdma+dotprod+aes+fp16fml+sb+ssbs+flagm+pauth -O2 -pipe -fomit-frame-pointer"
CHOST="aarch64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php8.2/ext-active/ /etc/php/cgi-php8.2/ext-active/ /etc/php/cli-php8.2/ext-active/ /etc/php/fpm-php8.2/ext-active/ /etc/php/phpdbg-php8.2/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=armv8-a+crc+lse+rcpc+rdma+dotprod+aes+fp16fml+sb+ssbs+flagm+pauth -O2 -pipe -fomit-frame-pointer"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE 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=armv8-a+crc+lse+rcpc+rdma+dotprod+aes+fp16fml+sb+ssbs+flagm+pauth -O2 -pipe -fomit-frame-pointer"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict strict-keepdir unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync warn-on-large-env xattr"
FFLAGS="-march=armv8-a+crc+lse+rcpc+rdma+dotprod+aes+fp16fml+sb+ssbs+flagm+pauth -O2 -pipe -fomit-frame-pointer"
GENTOO_MIRRORS="https://mirror.isoc.org.il/pub/gentoo/ https://mirror.eu.oneandone.net/linux/distributions/gentoo/gentoo/"
LANG="en_US.utf8"
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
MAKEOPTS="-j6"
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"
SHELL="/bin/bash"
USE="X a52 aac accessibility acl acpi alsa arm64 audit bash-completion berkdb bidi bluetooth branding brotli btrfs bzip2 cairo cdda cdr cgi cli colord crypt cryptsetup cups curl dbus designer device-mapper doc dri dts dvdr eds emacs encode evdev evo examples exif experimental ffmpeg flac fortran fuse gamepad gdbm gif git gmp gnome gnome-keyring gnome-online-accounts gnutls go gpg gpm gstreamer gtk gtk-doc gui heif hscolour html http ibus iconv icu idn introspection iodbc ipv6 jack java jemalloc joystick jpeg json kde kerberos keyring lcms ldap libnotify libtirpc lua lvm lz4 lzma lzo mad man mbedtls mng mp3 mp4 mpeg multimedia mysql nas nautilus ncurses netlink network networkmanager nfs nls nptl nss odbc offensive ogg opengl openmp openssl pam pango pcap pcre pdf perl pkcs11 plasma plugins png policykit postgres ppds pulseaudio python qml qt5 readline redis samba sasl screencast sdl seccomp semantic-desktop snmp sound source speech spell sqlite ssl startup-notification svg symlink systemd tcl tcpd telemetry test-rust threads tiff tk tools tracker truetype udev udisks unicode unwind upnp upower usb utils v4l vala vim-syntax vnc vorbis vulkan wayland webengine webkit webp wxwidgets x264 xattr xcb xft xinerama xml xv xvid yaml zeroconf zip zlib zstd" ADA_TARGET="gnat_2021" 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 stage" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_ARM="edsp thumb vfp vfpv3 vfpv4 vfp-d32 aes sha1 sha2 crc32 v4 v5 v6 v7 v8 thumb2" 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" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="evdev joystick libinput" KERNEL="linux" L10N="en en-US he ru" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher" 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_11" PYTHON_TARGETS="python3_11 python3_10 python3_12" RUBY_TARGETS="ruby30 ruby31 ruby32" VIDEO_CARDS="virgl" 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, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS



# emerge -pqv '=media-libs/openpgl-0.5.0::gentoo'
[ebuild  N    ] media-libs/openpgl-0.5.0  USE="-debug" CPU_FLAGS_ARM="neon"
Comment 1 Leonid Kopylov 2023-06-20 12:06:48 UTC
Created attachment 864300 [details]
build.log
Comment 2 Sebastian Parborg 2023-06-20 16:58:20 UTC
Hmm didn't we run into a similar issue in the past with one of the other NEON packages used by Blender Leonid?

Perhaps I'm miss remembering, but this feels familiar.
Comment 3 Leonid Kopylov 2023-06-20 17:03:39 UTC
https://bugs.gentoo.org/906049

yes, but this is something new, i had to reinstall the whole system, and got:

!!! The ebuild selected to satisfy "media-libs/openpgl" has unmet requirements.
- media-libs/openpgl-0.5.0::gentoo USE="-debug" CPU_FLAGS_ARM="(-neon)"

  The following REQUIRED_USE flag constraints are unsatisfied:
    any-of ( cpu_flags_arm_neon cpu_flags_x86_sse4_2 cpu_flags_x86_avx2 cpu_flags_x86_avx512dq )



so i had to unmask neon for this ebuild, but it fails to build with it
Comment 4 Sebastian Parborg 2023-06-21 09:19:57 UTC
Hmm, I wasn't referring to that bug.

I think I was remembering this one: https://github.com/OpenPathGuidingLibrary/openpgl/issues/6

As you can see the reporter there has the same error messages as you in the build log. Can you see if add the magic CXXFLAG works for you as well?

If it does, we can probably patch the ebuild to include this flag when building with NEON.
Comment 5 Leonid Kopylov 2023-06-21 17:25:34 UTC
yes, adding -flax-vector-conversions helped.

So all those bugs about the same:

https://bugs.gentoo.org/889372
https://bugs.gentoo.org/908870

and same for media-gfx/blender - for that specific issue i didn't opened bug, but all those packages has same issue and solution on arm64:

media-libs/openimageio
media-libs/openpgl
media-libs/osl
media-gfx/blender
Comment 6 Sebastian Parborg 2023-06-23 11:13:03 UTC
I only think the openpgl package has an explicit neon flag.
Did you force on any x86 flags?
Comment 7 Leonid Kopylov 2023-06-23 11:16:54 UTC
(In reply to Sebastian Parborg from comment #6)
> I only think the openpgl package has an explicit neon flag.
> Did you force on any x86 flags?

on Intel i didn't have to unmask anything:

# emerge openpgl -pvq
[ebuild   R   ] media-libs/openpgl-0.5.0  USE="-debug" CPU_FLAGS_X86="avx2 sse4_2 -avx512dq"
Comment 8 Sebastian Parborg 2023-06-23 13:41:16 UTC
I'm not asking about compiling on the intel cpus. I'm asking about your ARM CPU.
You said that you needed "-flax-vector-conversions" to be able to compile:

media-libs/openimageio
media-libs/openpgl
media-libs/osl
media-gfx/blender

However as far as I can tell only openpgl should need that flag as it is the only package where you can enable NEON.

That seems weird to me as I would think only openpgl would need this flag.
Comment 9 Leonid Kopylov 2023-06-23 13:46:43 UTC
(In reply to Sebastian Parborg from comment #8)
> I'm not asking about compiling on the intel cpus. I'm asking about your ARM
> CPU.
> You said that you needed "-flax-vector-conversions" to be able to compile:
> 
> media-libs/openimageio
> media-libs/openpgl
> media-libs/osl
> media-gfx/blender
> 
> However as far as I can tell only openpgl should need that flag as it is the
> only package where you can enable NEON.
> 
> That seems weird to me as I would think only openpgl would need this flag.

yes, you can see build.log on 2 of those packages in bugs above
Comment 10 Leonid Kopylov 2023-06-23 13:48:48 UTC
(In reply to Sebastian Parborg from comment #6)
> I only think the openpgl package has an explicit neon flag.
> Did you force on any x86 flags?

Now i understood your question :-)

# emerge media-libs/openpgl -pvq
[ebuild   R   ] media-libs/openpgl-0.5.0  USE="-debug" CPU_FLAGS_ARM="neon"

there is no option to enable any x86 flag on arm. neon is the only one here
Comment 11 Sebastian Parborg 2023-06-25 15:30:03 UTC
Just to give you an update.
I'm sadly a bit busy right now. But I'll try to get around to this when Blender 3.6 is released (in 2-3 days).

Thank you for providing all these reports and making the arm64 packages better in the process.
Comment 12 Sebastian Parborg 2023-07-03 09:15:13 UTC
I have create a pull request here that hopefully fixes this:
https://github.com/gentoo/gentoo/pull/31722

Thank you so much for you persistence and testing of the arm64 platform.
I really appreciate it! :)
Comment 13 Larry the Git Cow gentoo-dev 2023-07-16 18:46:36 UTC
The bug has been closed via the following commit(s):

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

commit c6b28aa3314bef445a8144cb01bc3cbad4d59f00
Author:     Sebastian Parborg <darkdefende@gmail.com>
AuthorDate: 2023-07-02 22:47:03 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-07-16 18:42:15 +0000

    media-libs/openpgl: Fix compiling with arm64 NEON
    
    Closes: https://bugs.gentoo.org/908869
    Signed-off-by: Sebastian Parborg <darkdefende@gmail.com>
    Signed-off-by: Sam James <sam@gentoo.org>

 media-libs/openpgl/openpgl-0.5.0.ebuild | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)