Compile: net-misc/rsync-3.2.0-r1::gentoo with my musl(!) system got an error. Reproducible: Always Steps to Reproduce: 1. Compile net-misc/rsync-3.2.0-r1::gentoo with musl overlay Actual Results: ./simd-checksum-x86_64.cpp: In function 'uint32_t get_checksum1_cpp(char*, int32_t)': ./simd-checksum-x86_64.cpp:88:52: error: multiversioning needs ifunc which is not supported on this target 88 | __attribute__ ((target("default"))) MVSTATIC int32 get_checksum1_avx2_64(schar* buf, int32 len, int32 i, uint32* ps1, uint32* ps2) { return i; } | ^~~~~~~~~~~~~~~~~~~~~ ./simd-checksum-x86_64.cpp:474:1: error: use of multiversioned function without a default 474 | } | ^ make: *** [Makefile:135: simd-checksum-x86_64.o] Error 1 make: *** Waiting for unfinished jobs.... * ERROR: net-misc/rsync-3.2.0-r1::gentoo failed (compile phase): * emake failed emerge --info Portage 2.3.99 (python 3.7.7-final-0, default/linux/amd64/17.0/musl/hardened, gcc-9.3.0, musl-1.1.24, 5.4.38-gentoo-apu2.0 x86_64) ================================================================= System uname: Linux-5.4.38-gentoo-apu2.0-x86_64-AMD_GX-412TC_SOC-with-gentoo-2.6 KiB Mem: 4086224 total, 368376 free KiB Swap: 8388600 total, 8380920 free Timestamp of repository gentoo: Fri, 26 Jun 2020 07:45:01 +0000 Head commit of repository gentoo: d84fa1a557c16ff9546d346ecf3a808065f444cd Head commit of repository musl: 1b5491c62fdc41d39444c6ab66e8398198b26946 sh bash 5.0_p17 ld GNU ld (Gentoo 2.33.1 p2) 2.33.1 app-shells/bash: 5.0_p17::gentoo dev-lang/perl: 5.30.3::gentoo dev-lang/python: 2.7.18::gentoo, 3.6.10-r2::gentoo, 3.7.7-r2::gentoo, 3.8.2-r2::gentoo dev-util/cmake: 3.16.5::gentoo sys-apps/baselayout: 2.6-r1::gentoo sys-apps/openrc: 0.42.1::gentoo sys-apps/sandbox: 2.18::gentoo sys-devel/autoconf: 2.69-r4::gentoo sys-devel/automake: 1.16.1-r1::gentoo sys-devel/binutils: 2.33.1-r1::musl sys-devel/gcc: 9.2.0-r3::musl, 9.3.0::musl sys-devel/gcc-config: 2.2.1::gentoo sys-devel/libtool: 2.4.6-r6::gentoo sys-devel/make: 4.2.1-r4::gentoo sys-kernel/linux-headers: 5.4-r1::gentoo (virtual/os-headers) sys-libs/musl: 1.1.24::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: rsync sync-uri: rsync://rsync.de.gentoo.org/gentoo-portage priority: -1000 sync-rsync-verify-metamanifest: yes sync-rsync-verify-max-age: 24 sync-rsync-extra-opts: --bwlimit=2048 --info=progress2 sync-rsync-verify-jobs: 3 localrepo location: /var/db/repos/localrepo masters: gentoo musl location: /var/db/repos/layman/musl sync-type: git sync-uri: git://anongit.gentoo.org/git/proj/musl.git masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="@FREE" CBUILD="x86_64-gentoo-linux-musl" CFLAGS="-O2 -march=native -mtune=native -pipe" CHOST="x86_64-gentoo-linux-musl" CONFIG_PROTECT="/etc /etc/stunnel/stunnel.conf /usr/share/gnupg/qualified.txt /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.3/ext-active/ /etc/php/cgi-php7.3/ext-active/ /etc/php/cli-php7.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CPPFLAGS="-O2 -march=native -mtune=native -pipe" CXXFLAGS="-O2 -march=native -mtune=native -pipe" DISTDIR="/var/cache/distfiles" ENV_UNSET="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 -march=native -mtune=native -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg candy cgroup config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync network-sandbox news parallel-fetch 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="-O2 -march=native -mtune=native -pipe" GENTOO_MIRRORS="ftp://ftp.fau.de/gentoo/ ftp://mirror.netcologne.de/gentoo/" INSTALL_MASK="charset.alias locale.alias" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j2 -l3" PKGDIR="/var/cache/binpkgs" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_EXTRA_OPTS="--bwlimit=2048 --info=progress2" 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 amd64 bzip2 crypt hardened iconv ipv6 libtirpc native-cflags ncurses nls nptl pam pcre pie readline savedconfig seccomp sha512 split-usr ssl ssp static-libs unicode xattr xtpax zlib" ABI_X86="64" ADA_TARGET="gnat_2018" 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 brotli fcgid http2 proxy proxy_fcgi proxy_http2 rewrite wsgi" APACHE2_MPMS="event" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" CURL_SSL="gnutls" ELIBC="musl" 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="pc" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="ncurses text" PHP_TARGETS="php7-3" POSTGRES_TARGETS="postgres11" PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python3_6 python3_7" RUBY_TARGETS="ruby25" USERLAND="GNU" Unset: CC, CTARGET, CXX, EMERGE_DEFAULT_OPTS, LANG, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS + system use musl library + Kernel is one step behind the actual version + setup net-misc/rsync::gentoo in /etc/portage/package.mask is the solution for me. Currently using: net-misc/rsync-3.1.3::musl
Not sure whether this should be in [Overlays] - the ebuild is from the main repo.
(In reply to Jeroen Roovers from comment #1) > Not sure whether this should be in [Overlays] - the ebuild is from the main > repo. Historically yes, we have dealt with this kind of problem in the musl overlay, but blueness and musl team are gradually working to reduce the size of the overlay as time moves forward; to ease maintainability, and as upstreams are merging musl compatibility into their own projects. I believe rsync was on my list of projects to verify the 'progress' of this migration, but often maintainers within Gentoo have been pro-active to merge any patches that do not otherwise affect their packages under eg. glibc et al. We don't / haven't had a separate overlay for eg. uclibc and its successor, so if it is possible to keep packages tidy, especially if we work closely with upstreams we can minimise the patches that Gentoo carries long-term. At this stage, please continue to assign bugs to musl@ but also CC the original maintainer and we can work together to improve the overall situation. TIA!
Okay, please don't hit me. I think the information about musl was important too. I have only one Gentoo System, this use musl and not the default glibc in example. Maybe someone with glibc can make a test?
(In reply to Lloyd from comment #3) > Okay, please don't hit me. I think the information about musl was important > too. I have only one Gentoo System, this use musl and not the default glibc > in example. > Maybe someone with glibc can make a test? Not a criticism, I'm not sure Jer was unfamiliar with musl issues, per his comment (#c1) above. I'll check in with base-system@ and see what we can come up with. TL;DR thanks for bringing the bug/issue back into the foreground! :)
Has been fixed in musl overlay, the next release will have the updated g++/clang++ patch included.