After successful compiling process I received this error during merging >>> Installing (1 of 23) media-libs/gstreamer-1.14.1::gentoo * checking 393 files for package collisions >>> Merging media-libs/gstreamer-1.14.1 to / --- /usr/ --- /usr/lib32/ --- /usr/lib32/pkgconfig/ >>> /usr/lib32/pkgconfig/gstreamer-1.0.pc >>> /usr/lib32/pkgconfig/gstreamer-base-1.0.pc >>> /usr/lib32/pkgconfig/gstreamer-check-1.0.pc >>> /usr/lib32/pkgconfig/gstreamer-controller-1.0.pc >>> /usr/lib32/pkgconfig/gstreamer-net-1.0.pc --- /usr/lib32/gstreamer-1.0/ >>> /usr/lib32/gstreamer-1.0/gst-plugin-scanner >>> /usr/lib32/gstreamer-1.0/gst-completion-helper >>> /usr/lib32/gstreamer-1.0/libgstcoreelements.so !!! Failed to copy extended attributes. In order to avoid this error, !!! set FEATURES="-xattr" in make.conf. !!! copy /tmp/portage/media-libs/gstreamer-1.14.1/image/usr/lib32/gstreamer-1.0/gst-ptp-helper -> /usr/lib32/gstreamer-1.0/gst-ptp-helper failed. !!! Filesystem containing file '/usr/lib32/gstreamer-1.0/gst-ptp-helper#new' does not support extended attribute 'security.capability' 15 years I use Gentoo Gstreamer nor any other application ever complained about it and never any such process got interrupted that way during merging leaving it in inconsistent state as part of new package is partially merged while most still is at 1.12.4. I am also not sure why this would show up as I use ext4 with xattr compiled in the kernel. I now also added "user_xattr" to make ebuild work, but with no luck as same error as above still shows up. / ext4 defaults,noatime,nodiratime,user_xattr 0 1
@Wojciech: emerge --info please. @portage: what could be up here?
Most stuff from overlays is disabled as I have entries as such in /etc/portage/package.mask/all */*::mozilla */*::toolchain */*::poly-c emerge --info Portage 2.3.41 (python 3.5.5-final-0, default/linux/amd64/17.0/desktop, gcc-7.3.0, glibc-2.27-r5, 4.14.51 x86_64) ================================================================= System uname: Linux-4.14.51-x86_64-Intel-R-_Core-TM-_i7-6700K_CPU_@_4.00GHz-with-gentoo-2.6 KiB Mem: 16163780 total, 6585160 free KiB Swap: 0 total, 0 free Timestamp of repository gentoo: Thu, 28 Jun 2018 05:15:01 +0000 Head commit of repository gentoo: e1964254b29fd98ed9ffb9a2631487f4469f9d50 Timestamp of repository poly-c: Wed, 27 Jun 2018 11:04:55 +0000 sh bash 4.4_p23 ld GNU ld (Gentoo 2.30 p3) 2.30.0 app-shells/bash: 4.4_p23::gentoo dev-java/java-config: 2.2.0-r4::gentoo dev-lang/perl: 5.26.2::gentoo dev-lang/python: 2.7.15-r106::stefantalpalaru, 3.4.8-r1::gentoo, 3.5.5-r1::gentoo, 3.6.5-r1::gentoo dev-util/cmake: 3.11.4::gentoo dev-util/pkgconfig: 0.29.2::gentoo sys-apps/baselayout: 2.6::gentoo sys-apps/openrc: 0.37::gentoo sys-apps/sandbox: 2.13::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r4::gentoo sys-devel/automake: 1.16.1-r1::gentoo sys-devel/binutils: 2.30-r3::gentoo sys-devel/gcc: 7.3.0-r3::gentoo sys-devel/gcc-config: 1.9.1::gentoo sys-devel/libtool: 2.4.6-r5::gentoo sys-devel/make: 4.2.1-r3::gentoo sys-kernel/linux-headers: 4.17::gentoo (virtual/os-headers) sys-libs/glibc: 2.27-r5::gentoo Repositories: gentoo location: /var/portage sync-type: rsync sync-uri: rsync://192.168.101.101/gentoo-portage priority: -1000 sync-rsync-verify-max-age: 24 sync-rsync-extra-opts: sync-rsync-verify-metamanifest: no sync-rsync-verify-jobs: 1 bobwya location: /var/lib/layman/bobwya masters: gentoo priority: 50 brother-overlay location: /var/lib/layman/brother-overlay masters: gentoo priority: 50 cg location: /var/lib/layman/cg masters: gentoo priority: 50 poly-c location: /var/lib/layman/poly-c masters: gentoo priority: 50 rion location: /var/lib/layman/rion masters: gentoo priority: 50 rust location: /var/lib/layman/rust masters: gentoo priority: 50 sabayon location: /var/lib/layman/sabayon masters: gentoo priority: 50 stefantalpalaru location: /var/lib/layman/stefantalpalaru masters: gentoo priority: 50 tlp location: /var/lib/layman/tlp masters: gentoo priority: 50 voyageur location: /var/lib/layman/voyageur masters: gentoo priority: 50 x11 location: /var/lib/layman/x11 masters: gentoo priority: 50 i7woj location: /usr/local/portage masters: gentoo priority: 75 ACCEPT_KEYWORDS="amd64 ~amd64 ~x86" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe -DG_DISABLE_ASSERT -DNO_DEBUG -DNDEBUG -fomit-frame-pointer -ftree-vectorize -fpredictive-commoning -fgcse-after-reload" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /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="-march=native -O2 -pipe -DG_DISABLE_ASSERT -DNO_DEBUG -DNDEBUG -fomit-frame-pointer -ftree-vectorize -fpredictive-commoning -fgcse-after-reload -fabi-version=0" DISTDIR="/var/portage/distfiles" ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY 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" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news nodoc noinfo noman parallel-fetch 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://192.168.101.101 http://gentoo.prz.rzeszow.pl" LANG="pl_PL.utf8" LDFLAGS="-Wl,-O1 -Wl,--hash-style=both -Wl,--as-needed -Wl,--relax -Wl,--sort-common" LINGUAS="pl" MAKEOPTS="-j9" 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="/tmp/" USE="X a52 aac aacs acl acpi alsa amd64 aplaymidi audio bdplus berkdb bluray branding bzip2 cairo caps cdda cdio cdr chromaprint cli colord consolekit crypt cups cxx dbus dcadec dri dts dvb dvd dvdr emboss encode exif fam ffmpeg fftw flac fluidsynth fontconfig fortran gdbm gif glade glamor gmp gnome-keyring gphoto2 gpu gstreamer gtk gtk2 gtkstyle hddtemp iconv icu inotify ithreads java jpeg jpeg2k lcms libnotify libtirpc linguas_pl llvm lm_sensors lz4 lzma lzo mad midi mkv mng modules mp3 mp4 mpeg multilib ncurses nfs nls nonfree nptl nsplugin ocr ogg openal opencl openexr opengl openh264 openmp openpgp openssl opus osmesa pam pango pcre pdf perl pm-utils png policykit postproc ppds pulseaudio python qsv qt5 rar rdp readline rtmp s3tc samba scanner sdl seccomp sound sox spell sqlite ssl startup-notification svg system-ffmpeg tcpd thread threads tiff truetype udev udf udisks unicode upower usb v4l vaapi vdpau vorbis wxwidgets x264 x265 xattr xcb xml xv xvid zlib" ABI_X86="64 32" ALSA_CARDS="hda-intel emu10k1" 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 plan sheets stage words" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3 f16c" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" L10N="pl" LCD_DEVICES="bayrad cfontz cfontz633 imon imonlcd glk hd44780 lb216 lcdm001 mtxorb ncurses text picolcd" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LIRC_DEVICES="devinput" LLVM_TARGETS="BPF X86" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-0" POSTGRES_TARGETS="postgres9_5 postgres10" PYTHON_SINGLE_TARGET="python2_7 python3_5" PYTHON_TARGETS="python2_7 python3_5 python3_6" QEMU_SOFTMMU_TARGETS="x86_64" QEMU_USER_TARGETS="x86_64" RUBY_TARGETS="ruby23 ruby25" SANE_BACKENDS="gt68xx plustek" USERLAND="GNU" VIDEO_CARDS="intel i965" XFCE_PLUGINS="clock power trash xkb" 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" Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Looks like CONFIG_EXT4_FS_SECURITY=y is not in the kernel config.
You are right I do not have that set. I guess if it is required checking for it in the ebuild should be added I'll try it with that option in a sec
I confirm with that option enabled it works. Question is could it work with out it? Regular XATTR would not do?
When using FEATURES="xattr", you are supposed to fully enable xattr support for all relevant filesystems (e.g. ${PORTAGE_TMPDIR}, ${ROOT}).
I disagree this bug should be just closed. The least these ebuild should have been done is adding this to the ebuild pkg_setup() { CONFIG_CHECK="" if use amd64; then CONFIG_CHECK="${CONFIG_CHECK} ~EXT4_FS_SECURITY" fi linux-info_pkg_setup }
Obviously in place of amd64 place relevant use flag
(In reply to Wojciech Myrda from comment #7) > I disagree this bug should be just closed. The least these ebuild should > have been done is adding this to the ebuild > > pkg_setup() { > CONFIG_CHECK="" > if use amd64; then > CONFIG_CHECK="${CONFIG_CHECK} ~EXT4_FS_SECURITY" > fi > > linux-info_pkg_setup > } This can be helpful. We should probably do this in the sys-apps/portage ebuild when USE=xattr is enabled.
There are many different filesystems with various required kernel options for xattr support. Examples: 9P_FS_SECURITY CIFS_XATTR EXT2_FS_XATTR EXT2_FS_SECURITY EXT4_FS_SECURITY F2FS_FS_XATTR F2FS_FS_SECURITY JFFS2_FS_SECURITY JFS_SECURITY REISERFS_FS_XATTR SQUASHFS_XATTR TMPFS_XATTR It seems tedious to maintain a hardcoded mapping in sys-apps/portage ebuilds or in Portage source code...
Occurred to me that as the long time XFS user I never had this problem as XFS has XATTR support within itself and no extra option has to be checked for that file system. On other file systems it may be quite misleading as some have XATTR while others set SECURITY and some as F2FS set both. Having that said whey I see it could be done - add xattr use flag to each required file system like sys-fs/e2fsprogs or sys-fs/reiserfsprogs where kernel config check would be performed - gstreamer as application relying on xattr support should not take easy way out to tell user disable themselves with FEATURES="-xattr", but propose appropriate way to use the feature. If not with config or use flag check than at least with `einfo` or `ewarn` which would say "Please enable XATTR support for your filesystem"
It seems we use USE=caps for this, but should use USE=filecaps for consistency
That was about gstreamer USE flag that turns on what probably sets the xattr too. But on second look, it does also depend on libcap then, so USE=caps is probably correct. Then the gstreamer build system itself uses setcap (from libcap) to set things up, which then probably needs xattrs or something. I don't think there's anything to do for gstreamer - you get what you asked for with USE=caps; but maybe libcap should check something too then, or at least log an information.
I've set an email to request feedback: https://archives.gentoo.org/gentoo-dev/message/2cffbf68d768dca4c10fd8ab0c8dc59a