Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 827918 - dev-libs/userspace-rcu - Recent versions causing revdep build failures on ARM + MIPS
Summary: dev-libs/userspace-rcu - Recent versions causing revdep build failures on ARM...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: ARM Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL: https://github.com/gluster/glusterfs/...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-11-30 21:45 UTC by James Le Cuirot
Modified: 2022-09-25 23:11 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description James Le Cuirot gentoo-dev 2021-11-30 21:45:10 UTC
Admittedly I don't really understand what this is about, but xfsprogs failed to build when updating my ARM system. Apparently this is specific to ARM and MIPS, and has something to do with dev-libs/userspace-rcu. I have userspace-rcu 0.13.0 installed.

/bin/sh ../libtool --quiet --tag=CC --mode=link armv7a-unknown-linux-gnueabihf-gcc -Wl,-O1 -Wl,--as-needed -Wl,-O1 -Wl,--as-needed -rpath /lib -version-info 1:3:0 -Wl,--version-script,libhandle.sym -o libhandle.la handle.lo jdm.lo 
/usr/lib/gcc/armv7a-unknown-linux-gnueabihf/11.2.0/../../../../armv7a-unknown-linux-gnueabihf/bin/ld: ../libxfs/.libs/libxfs.a(xfs_alloc.o): in function `libxfs_alloc_read_agf.part.0.isra.0':
xfs_alloc.c:(.text+0xbfc): undefined reference to `_uatomic_link_error'
/usr/lib/gcc/armv7a-unknown-linux-gnueabihf/11.2.0/../../../../armv7a-unknown-linux-gnueabihf/bin/ld: ../libxfs/.libs/libxfs.a(xfs_alloc_btree.o): in function `xfs_allocbt_free_block':
xfs_alloc_btree.c:(.text+0x5cc): undefined reference to `_uatomic_link_error'
/usr/lib/gcc/armv7a-unknown-linux-gnueabihf/11.2.0/../../../../armv7a-unknown-linux-gnueabihf/bin/ld: ../libxfs/.libs/libxfs.a(xfs_alloc_btree.o): in function `xfs_allocbt_alloc_block':
xfs_alloc_btree.c:(.text+0x634): undefined reference to `_uatomic_link_error'
collect2: error: ld returned 1 exit status
distcc[10192] ERROR: compile (null) on localhost failed
gmake[2]: *** [../include/buildrules:65: xfs_mdrestore] Error 1
gmake[1]: *** [include/buildrules:35: mdrestore] Error 2
gmake[1]: *** Waiting for unfinished jobs....

Setting CPPFLAGS="-DUATOMIC_NO_LINK_ERROR" works around it. glusterfs is also affected. https://github.com/gluster/glusterfs/issues/2979 has further information on the issue.

----

Portage 3.0.28 (python 3.9.9-final-0, default/linux/arm/17.0/armv7a, gcc-11.2.0, glibc-2.34-r2, 5.15.5-00011-g094ddf25878e armv7l)
=================================================================
System uname: Linux-5.15.5-00011-g094ddf25878e-armv7l-ARMv7_Processor_rev_10_-v7l-with-glibc2.34
KiB Mem:     2062492 total,    554404 free
KiB Swap:    2097148 total,   2076588 free
Head commit of repository gentoo: 0fb1858b551ad69127463f27fb4b30a649b0500c
                                                                                                                                                                                                                                    
sh bash 5.1_p12
ld GNU ld (Gentoo 2.36.1 p3) 2.36.1
distcc 3.4 armv7a-unknown-linux-gnueabihf [disabled]                                                                                                                                                                                
app-shells/bash:          5.1_p12::gentoo                                                                                                                                                                                           
dev-java/java-config:     2.3.1::gentoo                                                                                                                                                                                             
dev-lang/perl:            5.34.0-r5::gentoo                                                                                                                                                                                         
dev-lang/python:          3.9.9::gentoo, 3.10.0_p1::gentoo                                                                                                                                                                          
dev-util/cmake:           3.22.0::gentoo                                                                                                                                                                                            
sys-apps/baselayout:      2.8::gentoo                                                                                                                                                                                               
sys-apps/openrc:          0.44.8::gentoo                                                                                                                                                                                            
sys-apps/sandbox:         2.29::gentoo                                                                                                                                                                                              
sys-devel/autoconf:       2.69-r5::gentoo, 2.71-r1::gentoo                                                                                                                                                                          
sys-devel/automake:       1.13.4-r2::gentoo, 1.15.1-r2::gentoo, 1.16.5::gentoo                                                                                                                                                      
sys-devel/binutils:       2.36.1-r1::gentoo, 2.37_p1-r1::gentoo                                                                                                                                                                     
sys-devel/gcc:            11.2.0::gentoo                                                                                                                                                                                            
sys-devel/gcc-config:     2.5-r1::gentoo                                                                                                                                                                                            
sys-devel/libtool:        2.4.6-r6::gentoo                                                                                                                                                                                          
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.15::gentoo (virtual/os-headers)                                                                                                                                                                         
sys-libs/glibc:           2.34-r2::gentoo
Repositories:     

gentoo
    location: /usr/portage
    sync-type: git
    sync-uri: git+ssh://git@git.gentoo.org/repo/gentoo.git
    priority: -1000

vivaldi
    location: /home/chewi/Projects/vivaldi-overlay
    masters: gentoo
    priority: 1001

ACCEPT_KEYWORDS="arm ~arm"
ACCEPT_LICENSE="*"
CBUILD="armv7a-unknown-linux-gnueabihf"
CFLAGS="-mcpu=cortex-a9 -mfpu=neon -O3 -pipe"
CHOST="armv7a-unknown-linux-gnueabihf"
CONFIG_PROTECT="/etc /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-php7.4/ext-active/ /etc/php/apache2-php8.0/ext-active/ /etc/php/cgi-php7.4/ext-active/ /etc/php/cgi-php8.0/ext-active/ /etc/php/cli-php7.4/ext-active/ /etc/php/cli-php8.0/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-mcpu=cortex-a9 -mfpu=neon -O3 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--ask-enter-invalid --quiet-build=n --nospinner"
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 -pipe -march=armv7-a"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs 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 sign strict strict-keepdir unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe -march=armv7-a"
GENTOO_MIRRORS="https://mirror.bytemark.co.uk/gentoo https://gentoo.osuosl.org"
LANG="en_GB.UTF-8"
LC_ALL="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en en_GB"
MAKEOPTS="-j4"
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="S3TC X509 a52 aac aalib aften alaw amr arm armvfp asf async audiofile autoipd barcode bash-completion blender-game bluetooth bluray bmp bogofilter boost branding bzip2 cairo caps cegui chardet cleartype cli community console crypt cscope css ctype curl dbus device-mapper dhcp dri dts dv dvb dvd dvdnav dvdr egl elogind emf emoticon enca encode exceptions exif faad fam fat fbcon fbdev fftw filter firefox flac fluidsynth fmod fontconfig ftp fuse g3dvl g722 g729 gallium gbm gdbm gdu gentoo-dev geos gif git gles gles1 gles2 glut gmp gnutls grammar gsl gsm gstreamer gudev hash hddtemp headless-awt hires-icons hog http http2 hwdb icon iconv icu id3 id3tag ilbc image imagemagick imlib ipv6 ithreads jabber joystick jpeg keymap kms kvm ladspa libffi libglvnd libkms libnotify libvisual lights live lj lm_sensors lvm lzo m17n-lib mad maildir matroska mbox mbrola md5sum midi minizip mmap mod modplug mp3 mp4 mpeg mplayer music mvl ncurses neon network nfs nfsidmap nfsv3 nfsv4 nfsv41 nocd nptl ntfs ntfsprogs offensive ogg openal opengl openmp openssl openvg openxml opus pam pcre pg-intdatetime pipewire png pnm posix ppds pulseaudio qmax qt3support quicktime rar readline realtime rtc rtsp scanner scrobbler sdl sdl-image sdl-sound sdlaudio seccomp secure-delete sha512 simplexml skins smp sndfile soap sockets sound soundex sounds soundtouch speex spell split-usr ssl startup-notification stemmer stream sysvipc taglib textures tftp tga theora thesaurus threads thumbnail thunar timidity tordns transparent-proxy truetype udev uk_rt ulaw unicode unzip usb userlocales vcd vhosts videos vispatch vnc vorbis vpx wav wayland web webgl webkit webm webp wifi win32 wma x264 xattr xml xmms2 xosd xsl xvid zip 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" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_ARM="edsp neon thumb vfp vfpv3 vfp-d32 v4 v5 v6 v7 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" INPUT_DEVICES="evdev" KERNEL="linux" L10N="en-GB" 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" NGINX_MODULES_HTTP="access auth_basic autoindex fastcgi geoip gzip proxy rewrite ssi" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9" QEMU_SOFTMMU_TARGETS="arm" QEMU_USER_TARGETS="arm" RUBY_TARGETS="ruby26 ruby27" USERLAND="GNU" VIDEO_CARDS="kmsro imx vivante" 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:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RUSTFLAGS
Comment 1 Joshua Kinard gentoo-dev 2021-12-01 23:05:02 UTC
Confirmed on big-endian mips64 for xfsprogs.  Seems the fault is in xfsprogs itself and not in userspace-rcu.  

I am testing a patch off of the linux-xfs mailing list[1] that should fix the xfsprogs case.  It might serve as a guide for any other packages having similar issues.

1. https://www.spinics.net/lists/linux-xfs/msg57311.html
Comment 2 Joshua Kinard gentoo-dev 2021-12-01 23:49:22 UTC
(In reply to Joshua Kinard from comment #1)
> Confirmed on big-endian mips64 for xfsprogs.  Seems the fault is in xfsprogs
> itself and not in userspace-rcu.  
> 
> I am testing a patch off of the linux-xfs mailing list[1] that should fix
> the xfsprogs case.  It might serve as a guide for any other packages having
> similar issues.
> 
> 1. https://www.spinics.net/lists/linux-xfs/msg57311.html

Patch fixes the issue for MIPS for xfsprogs.  Should also fix the issue on ARM as well.

Do we want a new bug specific for xfsprogs and link it to this bug?
Comment 3 Joshua Kinard gentoo-dev 2021-12-02 15:52:07 UTC
(In reply to Joshua Kinard from comment #2)
> (In reply to Joshua Kinard from comment #1)
> > Confirmed on big-endian mips64 for xfsprogs.  Seems the fault is in xfsprogs
> > itself and not in userspace-rcu.  
> > 
> > I am testing a patch off of the linux-xfs mailing list[1] that should fix
> > the xfsprogs case.  It might serve as a guide for any other packages having
> > similar issues.
> > 
> > 1. https://www.spinics.net/lists/linux-xfs/msg57311.html
> 
> Patch fixes the issue for MIPS for xfsprogs.  Should also fix the issue on
> ARM as well.
> 
> Do we want a new bug specific for xfsprogs and link it to this bug?

So it doesn't appear to fix the issue for MIPS, at least not completely.  Causes a new build error:

In file included from linux.c:7:
linux.c: In function 'platform_check_mount':
linux.c:59:64: error: '_PATH_MOUNTED' undeclared (first use in this function); did you mean 'PROC_MOUNTED'?
   59 |  strcpy(mounts, (!access(PROC_MOUNTED, R_OK)) ? PROC_MOUNTED : MOUNTED);
      |                                                                ^~~~~~~
linux.c:59:64: note: each undeclared identifier is reported only once for each function it appears in
gmake[2]: *** [../include/buildrules:75: linux.lo] Error 1
gmake[2]: *** Waiting for unfinished jobs....
In file included from ../include/xfs/linux.h:23,
                 from ../include/xfs.h:9,
                 from ../libfrog/projects.h:10,
                 from ../include/input.h:12,
                 from paths.c:16:
paths.c: In function 'fs_table_initialise_mounts':
paths.c:380:16: error: '_PATH_MOUNTED' undeclared (first use in this function)
  380 |    mtab_file = MOUNTED;
      |                ^~~~~~~
paths.c:380:16: note: each undeclared identifier is reported only once for each function it appears in
gmake[2]: *** [../include/buildrules:75: paths.lo] Error 1
gmake[1]: *** [include/buildrules:36: libfrog] Error 2
make: *** [Makefile:92: default] Error 2

This appears to be a musl-related error, but I am building against glibc, so probably something wrong with the includes in the patch.  I'll keep looking for a solution that compiles on MIPS and passes runtime testing.
Comment 4 James Le Cuirot gentoo-dev 2022-09-25 23:11:35 UTC
I can't reproduce this any more with any current version of xfsprogs or userspace-rcu. matoro said they couldn't reproduce it either. I guess it's fixed now. I'll assume this is also fixed for MIPS, but please reopen if that's not the case.