Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 551038 - sys-devel/gcc-4.9.2 - install-xattr: setxattr() failed: Operation not supported
Summary: sys-devel/gcc-4.9.2 - install-xattr: setxattr() failed: Operation not supported
Status: RESOLVED DUPLICATE of bug 550654
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Anthony Basile
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-06-03 06:36 UTC by Dennis Schridde
Modified: 2015-06-06 08:24 UTC (History)
1 user (show)

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


Attachments
build.log (xz-compressed) (build.log.xz,264.57 KB, application/x-xz)
2015-06-03 06:36 UTC, Dennis Schridde
Details
strace -f install-xattr testfile /var/tmp/portage/ (strace.install-xattr.log,9.45 KB, text/x-log)
2015-06-04 23:31 UTC, Dennis Schridde
Details
strace -f install-xattr testfile /var/tmp/portage/ (strace.install-xattr.log,9.20 KB, text/x-log)
2015-06-05 05:22 UTC, Dennis Schridde
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dennis Schridde 2015-06-03 06:36:32 UTC
Created attachment 404494 [details]
build.log (xz-compressed)

When merging sys-devel/gcc-4.9.2 into the system, installation aborts with following error:
install-xattr: setxattr() failed: Operation not supported

# emerge --info sys-devel/gcc
Portage 2.2.20 (python 3.4.3-final-0, default/linux/amd64/13.0/desktop/plasma/systemd, gcc-4.9.2, glibc-2.20-r2, 4.0.4-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.0.4-gentoo-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_5000+-with-gentoo-2.2
KiB Mem:     6097496 total,     64692 free
KiB Swap:    7813116 total,   7548852 free
Timestamp of repository gentoo: Tue, 02 Jun 2015 17:45:01 +0000
sh bash 4.3_p39
ld GNU ld (Gentoo 2.25 p1.2) 2.25
ccache version 3.2.2 [disabled]
app-shells/bash:          4.3_p39::gentoo
dev-java/java-config:     2.2.0::gentoo
dev-lang/perl:            5.20.2-r1::gentoo
dev-lang/python:          2.7.10::gentoo, 3.3.5-r1::gentoo, 3.4.3::gentoo
dev-util/ccache:          3.2.2::gentoo
dev-util/cmake:           3.2.2::gentoo
dev-util/pkgconfig:       0.28-r3::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.16.3::gentoo
sys-apps/sandbox:         2.6-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r1::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.12.6::gentoo, 1.13.4::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25-r1::gentoo
sys-devel/gcc:            4.9.2::gentoo
sys-devel/gcc-config:     1.8::gentoo
sys-devel/libtool:        2.4.6-r1::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.0::gentoo (virtual/os-headers)
sys-libs/glibc:           2.20-r2::gentoo
Repositories:

gentoo
    location: /var/cache/portage/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.de.gentoo.org/gentoo-portage
    priority: -1000

kde
    location: /var/lib/layman/kde
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/kde.git
    masters: gentoo
    priority: 50

sage-on-gentoo
    location: /var/lib/layman/sage-on-gentoo
    sync-type: laymansync
    sync-uri: git://github.com/cschwan/sage-on-gentoo.git
    masters: gentoo
    priority: 50

local
    location: /var/cache/portage/local
    masters: gentoo
    priority: 100

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-pipe -O2 -march=athlon64-sse3"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0 /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-pipe -O2 -march=athlon64-sse3"
DISTDIR="/var/cache/portage/distfiles"
EMERGE_DEFAULT_OPTS="--keep-going --nospinner"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs buildsyspkg compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ http://distfiles.gentoo.org"
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"
MAKEOPTS="-j2"
PKGDIR="/var/cache/portage/packages"
PORTAGE_COMPRESS="xz"
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"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac aacplus aacs acl acpi alsa amd64 avahi bash-completion bdplus berkdb bluetooth bluray branding bzip2 cairo caps cdda cddb cdio cdr celt cjk cli cracklib crypt cups cxx dbus declarative dirac dri dts dvb dvd dvdr egl emboss encode exif fam fax ffmpeg firefox flac fortran gdbm gif glamor gles gles2 gmp gpm gstreamer gtk ibus iconv ipv6 jpeg jpeg2k kde kipi ladspa latex lcms ldap libnotify libsecret lua_target_lua5-2 lv2 lz4 lzma lzo mad mmx mmxext mng modemmanager modplug modules mp3 mp4 mpeg mplayer mtp multilib mysql ncurses networkmanager nls nptl ogg openal opencl openexr opengl openmax openmp opus pam pango pch pcre pdf phonon plasma png policykit ppds pulseaudio qml qt3support qt4 qt5 readline rtmp samba scanner schroedinger sctp sdl semantic-desktop session speex spell sse sse2 ssl startup-notification subversion svg systemd tcpd theora threads tiff truetype udev udisks unicode upnp upower usb v4l vaapi vdpau vorbis vpx wavpack wayland webp widgets x264 x265 xattr xcb xcomposite xinerama xml xscreensaver xv xvid xz zeroconf zlib" ABI_X86="64" ALSA_CARDS="hda-intel" 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="stage words flow sheets" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="3dnow 3dnowext mmx mmxext sse sse2 sse3" DRACUT_MODULES="btrfs systemd" ELIBC="glibc" ENLIGHTENMENT_MODULES="*" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de en en_GB ar fa" LIRC_DEVICES="devinput" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3 python3_4" RUBY_TARGETS="ruby22" USERLAND="GNU" VIDEO_CARDS="radeon r600" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
USE_PYTHON="2.7 3.3 3.4"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

sys-devel/gcc-4.9.2::gentoo was built with the following:
USE="cilk cxx fortran go graphite (multilib) nls nptl openmp (policykit) sanitize (-altivec) (-awt) -doc (-fixed-point) -gcj (-hardened) (-libssp) (-multislot) -nopie -nossp -objc -objc++ -objc-gc -regression-test -vanilla" ABI_X86="64"
Comment 1 Dennis Schridde 2015-06-03 06:38:37 UTC
$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=3012736k,nr_inodes=753184,mode=755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,noatime)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/bfqio type cgroup (rw,nosuid,nodev,noexec,relatime,bfqio)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
/dev/sda3 on / type btrfs (rw,nodev,noatime,compress=lzo,space_cache,autodefrag)
/dev/sda5 on /usr type btrfs (rw,nodev,noatime,compress=lzo,space_cache,autodefrag)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=29,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
none on /tmp type tmpfs (rw,nosuid,nodev,relatime,size=1048576k)
/dev/sda2 on /boot type vfat (rw,nosuid,nodev,noexec,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
/dev/sda7 on /var type btrfs (rw,nosuid,nodev,noexec,noatime,compress=lzo,space_cache,autodefrag)
/dev/sda6 on /opt type btrfs (rw,nodev,noatime,compress=lzo,space_cache,autodefrag)
tmpfs on /var/run type tmpfs (rw,nosuid,nodev,mode=755)
none on /var/tmp/portage type tmpfs (rw,nosuid,nodev,relatime,size=4194304k,mode=1770,uid=250,gid=250)
/dev/sda10 on /home type btrfs (rw,nosuid,nodev,noatime,compress=lzo,space_cache,autodefrag)
tmpfs on /run/user/142 type tmpfs (rw,nosuid,nodev,relatime,size=609752k,mode=700,uid=142,gid=978)
tmpfs on /var/run/user/142 type tmpfs (rw,nosuid,nodev,relatime,size=609752k,mode=700,uid=142,gid=978)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=609752k,mode=700,uid=1000,gid=1000)
tmpfs on /var/run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=609752k,mode=700,uid=1000,gid=1000)
/dev/sda8 on /var/cache/portage type btrfs (rw,nosuid,nodev,noexec,noatime,compress=lzo,space_cache,autodefrag)
/var/cache/portage/gentoo.sqfs on /var/cache/portage/gentoo type squashfs (ro,nosuid,nodev,noexec,noatime)
Comment 2 Dennis Schridde 2015-06-03 06:41:54 UTC
$ echo $PWD
/root
$ touch testfile
$ setfattr -n "user.testAttr" -v "attribute value" testfile
$ getfattr -n "user.testAttr" testfile
# file: testfile
user.testAttr="attribute value"
Comment 3 Jason Zaman gentoo-dev 2015-06-03 13:52:00 UTC
Can you run getfattr on the last file before the error?

getfattr -d -m. /var/tmp/portage/sys-devel/gcc-4.9.2/image/usr/libexec/gcc/x86_64-pc-linux-gnu/4.9.2/plugin/gengtype

if there is nothing obvious maybe try all the files in that dir?
Comment 4 Dennis Schridde 2015-06-03 17:42:22 UTC
$ ll /var/tmp/portage/sys-devel/gcc-4.9.2/image/usr/libexec/gcc/x86_64-pc-linux-gnu/4.9.2/plugin/
total 180
-rwxr-xr-x 1 root root 184256 Jun  3 19:26 gengtype

According to the docs, -m- outputs all attributes:
$ getfattr -d -m- /var/tmp/portage/sys-devel/gcc-4.9.2/image/usr/libexec/gcc/x86_64-pc-linux-gnu/4.9.2/plugin/gengtype
<no output>

I executed the command you mentioned, too:
$ getfattr -d -m. /var/tmp/portage/sys-devel/gcc-4.9.2/image/usr/libexec/gcc/x86_64-pc-linux-gnu/4.9.2/plugin/gengtype
<no output>
Comment 5 Anthony Basile gentoo-dev 2015-06-04 10:52:28 UTC
(In reply to Dennis Schridde from comment #1)
> $ mount
> none on /var/tmp/portage type tmpfs
> (rw,nosuid,nodev,relatime,size=4194304k,mode=1770,uid=250,gid=250)

(In reply to Dennis Schridde from comment #2)
> $ echo $PWD
> /root
> $ touch testfile
> $ setfattr -n "user.testAttr" -v "attribute value" testfile
> $ getfattr -n "user.testAttr" testfile
> # file: testfile
> user.testAttr="attribute value"

You tested in /root, not /var/tmp/portage which is mounted seperately as tmpfs.   You need to test that your kernel supports xattr 'user.pax.flags' on tmpfs, not any other name.

Also, please state what version of install-xattr you are using.
Comment 6 Dennis Schridde 2015-06-04 12:23:46 UTC
Following the example in the PaX Quickstart guide [1]:

$ cd /var/tmp/portage/
$ touch testfile
$ setfattr -n user.pax.flags -v P testfile 
$ getfattr -n user.pax.flags testfile 
# file: testfile
user.pax.flags="P"

sys-apps/install-xattr-0.4

[1]: https://wiki.gentoo.org/wiki/Hardened/PaX_Quickstart#getfattr_setfattr
Comment 7 Anthony Basile gentoo-dev 2015-06-04 12:41:47 UTC
Please test the following:

cd /root/
touch testfile 
setfattr -n user.pax.flags -v P testfile 
getfattr -n user.pax.flags testfile 
install-xattr testfile /var/tmp/portage/
getfattr -n user.pax.flags /var/tmp/portage/testfile
Comment 8 Dennis Schridde 2015-06-04 14:21:58 UTC
(In reply to Anthony Basile from comment #7)
> Please test the following:

$ cd /root/
$ touch testfile
$ setfattr -n user.pax.flags -v P testfile
$ getfattr -n user.pax.flags testfile
# file: testfile
user.pax.flags="P"

$ install-xattr testfile /var/tmp/portage/
install-xattr: setxattr() failed: Operation not supported
$ getfattr -n user.pax.flags /var/tmp/portage/testfile
/var/tmp/portage/testfile: user.pax.flags: No such attribute
Comment 9 Dennis Schridde 2015-06-04 14:23:00 UTC
$ ll /var/tmp/portage/testfile
-rwxr-xr-x 1 root root 0 Jun  4 16:20 /var/tmp/portage/testfile
Comment 10 Anthony Basile gentoo-dev 2015-06-04 17:32:04 UTC
(In reply to Dennis Schridde from comment #8)
> (In reply to Anthony Basile from comment #7)
> > Please test the following:
> 
> $ cd /root/
> $ touch testfile
> $ setfattr -n user.pax.flags -v P testfile
> $ getfattr -n user.pax.flags testfile
> # file: testfile
> user.pax.flags="P"
> 
> $ install-xattr testfile /var/tmp/portage/
> install-xattr: setxattr() failed: Operation not supported
> $ getfattr -n user.pax.flags /var/tmp/portage/testfile
> /var/tmp/portage/testfile: user.pax.flags: No such attribute

can you run `strace -f install-xattr testfile /var/tmp/portage/` and attach the output, along with dmesg.
Comment 11 Dennis Schridde 2015-06-04 23:31:42 UTC
Created attachment 404598 [details]
strace -f install-xattr testfile /var/tmp/portage/

dmesg contains nothing but WiFi messages for the last few hours.
Comment 12 Anthony Basile gentoo-dev 2015-06-04 23:46:18 UTC
(In reply to Dennis Schridde from comment #11)
> Created attachment 404598 [details]
> strace -f install-xattr testfile /var/tmp/portage/
> 
> dmesg contains nothing but WiFi messages for the last few hours.

This strace is showing the following:

setxattr("/var/tmp/portage//testfile", "user.testAttr", "attribute value", 15, 0) = -1 EOPNOTSUPP (Operation not supported)

because gentoo-sources *only* supports user.pax.flags on tmpfs.  You're trying to use install-xattr to copy user.testAttr which will fail.  (see ptatch 1500_XATTR_USER_PREFIX.patch of genpatches)

Please run the strace using the steps in comment #10.  Do not substitute user.pax.flags with anything else.
Comment 13 Dennis Schridde 2015-06-05 05:22:15 UTC
Created attachment 404604 [details]
strace -f install-xattr testfile /var/tmp/portage/

This works (exit code 0 for install-xattr):

$ touch testfile
$ setfattr -n user.pax.flags -v P testfile
$ getfattr /root/testfile
getfattr: Removing leading '/' from absolute path names
# file: root/testfile
user.pax.flags

$ strace -f install-xattr testfile /var/tmp/portage/ >& strace.install-xattr.log
$ ll /var/tmp/portage/testfile 
-rwxr-xr-x 1 root root 0 Jun  5 07:19 /var/tmp/portage/testfile
Comment 14 Anthony Basile gentoo-dev 2015-06-05 07:38:16 UTC
(In reply to Dennis Schridde from comment #13)
> Created attachment 404604 [details]
> strace -f install-xattr testfile /var/tmp/portage/
> 
> This works (exit code 0 for install-xattr):
> 
> $ touch testfile
> $ setfattr -n user.pax.flags -v P testfile
> $ getfattr /root/testfile
> getfattr: Removing leading '/' from absolute path names
> # file: root/testfile
> user.pax.flags
> 
> $ strace -f install-xattr testfile /var/tmp/portage/ >&
> strace.install-xattr.log
> $ ll /var/tmp/portage/testfile 
> -rwxr-xr-x 1 root root 0 Jun  5 07:19 /var/tmp/portage/testfile

There's no issue that I can see.
Comment 15 Dennis Schridde 2015-06-05 21:11:12 UTC
I found the issue… I had SELinux enabled in the kernel config, which sets the kernel cmdline parameter selinux=1 by default. This apparently adds a security.selinux xattr label to some files. Since there is no selinux Gentoo profile for KDE+Plasma, Portage was unaware of this, which apparently caused the problem.

I set selinux=0, and everything works now. Thanks a lot for your patience and help!
Comment 16 Jason Zaman gentoo-dev 2015-06-06 08:24:04 UTC
In that case, this is actually a duplicate that has to do with install-xattr not ignoring tabs.
A new version of install-xattr will be released soon which will fix the problem.

*** This bug has been marked as a duplicate of bug 550654 ***