Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 830914 - x11-misc/xscreensaver-6.02 fails on arm64
Summary: x11-misc/xscreensaver-6.02 fails on arm64
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: ARM64 Linux
: Normal normal (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2022-01-10 11:22 UTC by Xavier Miller
Modified: 2022-03-02 02:19 UTC (History)
2 users (show)

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


Attachments
build log (build.log,305.23 KB, text/x-log)
2022-01-10 11:22 UTC, Xavier Miller
Details
Proposed patch to add -flax-vector-conversions to compiler flags (lax_vector_conversions.patch,454 bytes, patch)
2022-01-10 16:10 UTC, stephen.smith3141
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Xavier Miller 2022-01-10 11:22:01 UTC
Created attachment 761771 [details]
build log

/usr/include/gdk-pixbuf-2.0 -I/usr/include/atk-1.0 -pthread -I/usr/include/libxml2  -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi/include -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -pthread  -I/usr/include/freetype2 -I/usr/include/ha
rfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/uuid  -DSTANDALONE -DHAVE_CONFIG_H  -O2 -pipe -fomit-frame-pointer -mlittle-endian -mabi=lp64 -march=armv8-a+crypto+crc -mtune=cortex-a72.cortex-a53 -I/usr/include marbling.c                                                                   
marbling.c: In function ‘fade’:                                                                                                                                                                                                                                                                                              
marbling.c:181:5: note: use ‘-flax-vector-conversions’ to permit conversions between vectors with differing element types or numbers of subparts                                                                                                                                                                             
  181 |     vqdmulhq_s16(t2, 10 * t - vqdmulhq_s16(t2, (uint16_t)(15 * F) - t * 6)) <<                                                                                                                                                                                                                                       
      |     ^~~~~~~~~~~~                                                                                                                                                                                                                                                                                                     
marbling.c:181:44: error: incompatible type for argument 1 of ‘vqdmulhq_s16’                                                                                                                                                                                                                                                 
  181 |     vqdmulhq_s16(t2, 10 * t - vqdmulhq_s16(t2, (uint16_t)(15 * F) - t * 6)) <<                                                                                                                                                                                                                                       
      |                                            ^~                                                                                                                                                                                                                                                                        
      |                                            |                                                                                                                                                                                                                                                                         
      |                                            v_uhi {aka uint16x8_t}                                                                                                                                                                                                                                                    
In file included from marbling.c:78:                                                                                                                                                                                                                                                                                         
/usr/lib/gcc/aarch64-unknown-linux-gnu/11.2.1/include/arm_neon.h:3020:25: note: expected ‘int16x8_t’ but argument is of type ‘v_uhi’ {aka ‘uint16x8_t’}                                                                                                                                                                      
 3020 | vqdmulhq_s16 (int16x8_t __a, int16x8_t __b)                                                                                                                                                                                                                                                                          
      |               ~~~~~~~~~~^~~                                                                                                                                                                                                                                                                                          
marbling.c:181:67: error: incompatible type for argument 2 of ‘vqdmulhq_s16’                                                                                                                                                                                                                                                 
  181 |     vqdmulhq_s16(t2, 10 * t - vqdmulhq_s16(t2, (uint16_t)(15 * F) - t * 6)) <<                                                                        
      |                                                ~~~~~~~~~~~~~~~~~~~^~~~~~~                                                                             
      |                                                                   |                                                                                   
      |                                                                   v_uhi 
{aka uint16x8_t}                                                              


emerge --info '=x11-misc/xscreensaver-6.02::gentoo'
Portage 3.0.30 (python 3.9.9-final-0, default/linux/arm64/17.0, gcc-11.2.1, glibc-2.34-r4, 5.15.13-gentoo aarch64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-5.15.13-gentoo-aarch64-with-glibc2.34
KiB Mem:     3930208 total,    390076 free
KiB Swap:   16777212 total,  16771836 free
Timestamp of repository gentoo: Mon, 10 Jan 2022 04:36:51 +0000
Head commit of repository gentoo: 1537083cb3e3e4e0c9c5c674584d0b62d2293bba

Head commit of repository audio-overlay: 6a99adb585566300b6c6a47c8253add4ee31b9f2

Head commit of repository local: 046b5f6bac2919338754c17c7e4dd8c47286a956

sh bash 5.1_p16
ld GNU ld (Gentoo 2.37_p1 p1) 2.37
app-misc/pax-utils:        1.3.3::gentoo
app-shells/bash:           5.1_p16::gentoo
dev-java/java-config:      2.3.1::gentoo
dev-lang/perl:             5.34.0-r6::gentoo
dev-lang/python:           2.7.18_p13::gentoo, 3.9.9-r1::gentoo, 3.10.1-r3::gentoo
dev-lang/rust:             1.57.0::gentoo
dev-util/cmake:            3.22.1::gentoo
dev-util/meson:            0.60.3::gentoo
sys-apps/baselayout:       2.8::gentoo
sys-apps/openrc:           0.44.10::gentoo
sys-apps/sandbox:          2.29::gentoo
sys-devel/autoconf:        2.13-r1::gentoo, 2.71-r1::gentoo
sys-devel/automake:        1.16.5::gentoo
sys-devel/binutils:        2.37_p1-r1::gentoo
sys-devel/binutils-config: 5.4::gentoo
sys-devel/clang:           13.0.0::gentoo
sys-devel/gcc:             11.2.1_p20211127::gentoo
sys-devel/gcc-config:      2.5-r1::gentoo
sys-devel/libtool:         2.4.6-r6::gentoo
sys-devel/lld:             13.0.0::gentoo
sys-devel/llvm:            13.0.0::gentoo
sys-devel/make:            4.3::gentoo
sys-kernel/linux-headers:  5.15-r3::gentoo (virtual/os-headers)
sys-libs/glibc:            2.34-r4::gentoo
Repositories:

gentoo
    location: /var/portage/repos/gentoo
    sync-type: git
    sync-uri: git://anongit.gentoo.org/repo/sync/gentoo.git
    priority: -1000

audio-overlay
    location: /var/portage/repos/audio-overlay
    sync-type: git
    sync-uri: https://github.com/gentoo-audio/audio-overlay.git
    masters: gentoo

local
    location: /usr/local/portage
    sync-type: git
    sync-uri: /data/nas/xavier/git_repos/local_overlay.git/
    masters: gentoo

crossdev
    location: /data/nas/xavier/portage/pinebook-pro/var/db/repos/crossdev
    masters: gentoo
    priority: 10

ACCEPT_KEYWORDS="arm64 ~arm64"
ACCEPT_LICENSE="@FREE as-is freedist"
CBUILD="aarch64-unknown-linux-gnu"
CFLAGS="-O2 -pipe -fomit-frame-pointer -mlittle-endian -mabi=lp64 -march=armv8-a+crypto+crc -mtune=cortex-a72.cortex-a53"
CHOST="aarch64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /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/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -fomit-frame-pointer -mlittle-endian -mabi=lp64 -march=armv8-a+crypto+crc -mtune=cortex-a72.cortex-a53"
DISTDIR="/var/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps y --quiet-build=n --buildpkg"
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"
FCFLAGS="-O2"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg buildpkg-live candy config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch preserve-libs protect-owned qa-unresolved-soname-deps sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersync xattr"
FFLAGS="-O2"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="fr_BE.utf8"
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--hash-style=gnu -Wl,--as-needed"
MAKEOPTS="-j7 -l7"
PKGDIR="/var/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"
SHELL="/bin/bash"
USE="X a52 aac acpi alsa apng arm64 bluetooth branding bzip2 cairo cli crypt cryptsetup css cups dbus display-manager dlna dri dssi dts dvb elogind exif flac gif glamor gles2 gnome-keyring gpm gtk gudev gui iconv joystick jpeg lcms libcanberra libglvnd libinput libnotify libsamplerate libtirpc mad matroska mng mp3 mpeg mtp natspec ncurses network nls nptl ocr ogg openal opengl openmp openssl opus osc pam pango pcre pdf png pnm policykit printsupport qt5 readline sane sddm sdl seccomp sna sndfile snmp spell split-usr sqlite ssl startup-notification svg system-bootstrap system-llvm threads tiff truetype udev udisks unicode upnp upower usb uxa vorbis wmf wps x264 xattr xcb xinerama xml xosd xv xvid zlib" 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_ARM="edsp thumb thumb2 v4 v5 v6 v7 v8 vfp vfp-d32 vfpv3 vfpv4" 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="libinput" KERNEL="linux" L10N="fr nl en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9" RUBY_TARGETS="ruby26 ruby27" USERLAND="GNU" VIDEO_CARDS="panfrost" 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, 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
Comment 1 stephen.smith3141 2022-01-10 16:09:24 UTC
I found this as well, on a Raspberry Pi 4, compiling with GCC 11.2.1_p20211127.

Adding -flax-vector-conversions to the compiler flags allows this to compile, and the marbling screenhack then runs and looks plausibly like jwz's description of it.

Attached is a patch to configure.ac to cause the necessary change.
Comment 2 stephen.smith3141 2022-01-10 16:10:53 UTC
Created attachment 761786 [details, diff]
Proposed patch to add -flax-vector-conversions to compiler flags
Comment 3 Stephan Hartmann (RETIRED) gentoo-dev 2022-01-10 17:13:42 UTC
You can also cast correctly.
Comment 4 Jonas Stein gentoo-dev 2022-01-10 22:51:14 UTC
I informed upstream via https://www.jwz.org/xscreensaver/bugs.html about this ticket. I think it should be fixed in the source, not in the flags and the patch should go upstream.
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-01-22 19:39:13 UTC
(In reply to Jonas Stein from comment #4)
> I informed upstream via https://www.jwz.org/xscreensaver/bugs.html about
> this ticket. I think it should be fixed in the source, not in the flags and
> the patch should go upstream.

Heard anything?
Comment 6 Larry the Git Cow gentoo-dev 2022-01-22 19:46:15 UTC
The bug has been referenced in the following commit(s):

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

commit 1a86ad873900dafd61e4b61ab8055cbaf8c5b5e0
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2022-01-22 19:45:54 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-01-22 19:46:09 +0000

    profiles/arch/arm64: mask xscreensaver-6.02
    
    Fails to build on arm64.
    
    Bug: https://bugs.gentoo.org/830914
    Signed-off-by: Sam James <sam@gentoo.org>

 profiles/arch/arm64/package.mask | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
Comment 7 Xavier Miller 2022-01-24 08:30:08 UTC
xscreensaver-6.02-r1 is bumped. Please mask it too ;-)
Comment 8 Larry the Git Cow gentoo-dev 2022-02-06 10:35:20 UTC
The bug has been referenced in the following commit(s):

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

commit a80bb8c12fbb1a5ce51ab42c311fa0eea9f5dda1
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2022-02-06 10:34:52 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-02-06 10:35:04 +0000

    profiles/arch/arm64: update xscreensaver mask
    
    Bug: https://bugs.gentoo.org/830914
    Signed-off-by: Sam James <sam@gentoo.org>

 profiles/arch/arm64/package.mask | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Comment 9 Larry the Git Cow gentoo-dev 2022-03-02 02:19:36 UTC
The bug has been closed via the following commit(s):

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

commit b887ea634405c3eb4c1b1eafca48da5c3b220c5b
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2022-03-02 00:07:04 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-03-02 02:19:06 +0000

    x11-misc/xscreensaver: add 6.03
    
    Closes: https://bugs.gentoo.org/830914
    Signed-off-by: Sam James <sam@gentoo.org>

 x11-misc/xscreensaver/Manifest                 |   1 +
 x11-misc/xscreensaver/xscreensaver-6.03.ebuild | 246 +++++++++++++++++++++++++
 2 files changed, 247 insertions(+)