dev-libs/libunique-1.1.6-r1 fails in compile stage because the access to /dev/mem failed. It's likely that it is related to different behaviour between /dev/mem under x86 and ARM (and possibly other platforms). Reproducible: Always Steps to Reproduce: 1. Install gentoo on ARM-machine 2. try to emerge dev-libs/libunique-1.1.6-r1 Actual Results: build phase fails with sandbox violation of /dev/mem (fails with FEATURES="-sandbox" too) Expected Results: build fine
build.log: http://pastebin.com/KasZDiQG attachments do not work for me on this bug
Portage 2.2.14 (python 2.7.9-final-0, default/linux/arm/13.0/armv7a/desktop, gcc-4.8.3, glibc-2.19-r1, 3.10.18 armv7l) ================================================================= System Settings ================================================================= System uname: Linux-3.10.18-armv7l-with-gentoo-2.2 KiB Mem: 4105368 total, 1268384 free KiB Swap: 0 total, 0 free Timestamp of tree: Sat, 18 Apr 2015 00:15:01 +0000 ld GNU ld (Gentoo 2.24 p1.4) 2.24 app-shells/bash: 4.2_p53 dev-java/java-config: 2.2.0 dev-lang/perl: 5.20.1-r4 dev-lang/python: 2.7.9-r1, 3.3.5-r1, 3.4.1 dev-util/cmake: 2.8.12.2-r1 dev-util/pkgconfig: 0.28-r1 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.13.11 sys-apps/sandbox: 2.6-r1 sys-devel/autoconf: 2.13, 2.69 sys-devel/automake: 1.11.6-r1, 1.13.4 sys-devel/binutils: 2.24-r3 sys-devel/gcc: 4.8.3 sys-devel/gcc-config: 1.7.3 sys-devel/libtool: 2.4.4 sys-devel/make: 4.0-r1 sys-kernel/linux-headers: 3.16 (virtual/os-headers) sys-libs/glibc: 2.19-r1 Repositories: gentoo swabbles-overlay ACCEPT_KEYWORDS="arm" ACCEPT_LICENSE="* -@EULA" CBUILD="armv7a-hardfloat-linux-gnueabi" CFLAGS="-Os -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -mtune=native" CHOST="armv7a-hardfloat-linux-gnueabi" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-Os -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -mtune=native" DISTDIR="/usr/portage/distfiles" FCFLAGS="-O2 -pipe -march=armv7-a" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FFLAGS="-O2 -pipe -march=armv7-a" GENTOO_MIRRORS="http://de-mirror.org/gentoo/ http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/" LANG="de_DE.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j4" PKGDIR="/usr/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" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/var/lib/layman/swabbles-overlay" SYNC="rsync://192.168.0.1/gentoo-portage" USE="X a52 aac acl acpi alsa arm armv5te armv6 armv6t2 berkdb bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr emboss encode exif fam firefox flac fortran gdbm gif glamor gpm gtk iconv ipv6 jpeg lcms ldap libnotify mad mng modules mp3 mp4 mpeg ncurses neon nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds qt3support readline sdl session spell ssl startup-notification svg tcpd tiff truetype udev udisks unicode upower usb vorbis wxwidgets xcb xml xv xvid zlib" 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="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" 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" INPUT_DEVICES="evdev synaptics mouse keyboard" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="dummy fbdev v4l modesetting" 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: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
@sandbox, as looks like this is "common" in multiple packages on ARM... is there any other way of fixing it than trying to add addpredict /dev/mem on all of them? Thanks
(In reply to Pacho Ramos from comment #3) i don't think any package should be adding a predict on /dev/mem. packages shouldn't be attempting to read memory directly. i don't see a log here though, so not sure what exactly is failing.
Created attachment 402114 [details] sandbox.log
looks like it's coming from the graphics drivers (whatever you have on this particular system). it'd be specific to that graphics stack rather than ARM. i'm wondering why this is hitting the GPU at all. maybe some low level GL init logic makes it always open /dev nodes ? not sure there's any way to inhibit that. what are you using for your graphics ?
Since my hardware is an NVidia Tegra K1 I'm using the proprietary NVidia Tegra driver for this board from swabbles-overlay. As far as i can understand the architecture of this driver there is no proprietary kernel module coming with this driver like the nvidia module on x86. The userland driver creates the devices via a udev-rule. Should I try to switch to fbdev for another compile test?
Created attachment 402268 [details] 99-tegra-device.rules
(In reply to Thorsten from comment #7) it's really just semantics at that point. the userland code gets pretty full access to the hardware and can do bad things just like the kernel module. at any rate, yes, my guess is the root of your troubles are the tegra drivers.