View previous topic :: View next topic |
Author |
Message |
Khumarahn Apprentice
Joined: 17 Apr 2009 Posts: 199
|
Posted: Sat Jan 19, 2019 2:16 pm Post subject: Qemu chroot with recent versions of portage |
|
|
I have been compiling packages for aarch64 in a qemu chroot, this worked very well for quite some time. Now, after upgrade to portage-2.3.55 (from 2.3.50; no other packages upgraded), I cannot emerge anything:
Code: | emerge -av1 --debug nano
...
>>> Emerging (1 of 1) app-editors/nano-3.2::gentoo
qemu: qemu_thread_create: Invalid argument
+ __dyn_clean
+ '[' -z /var/tmp/portage/app-editors/nano-3.2 ']'
+ '[' '!' -d /var/tmp/portage/app-editors/nano-3.2 ']'
+ return 0
+ set +x
* The ebuild phase 'die_hooks' has been aborted since PORTAGE_BUILDDIR
* does not exist: '/var/tmp/portage/app-editors/nano-3.2'
>>> Failed to emerge app-editors/nano-3.2 |
I can't reproduce the problem in qemu with system emulation mode, so probably this is user mode specific.
I would like to understand more about this, but I could not find anything about this in google.
Last edited by Khumarahn on Sat Jan 19, 2019 6:15 pm; edited 1 time in total |
|
Back to top |
|
|
tenspd1370 Tux's lil' helper
Joined: 14 Dec 2017 Posts: 122
|
Posted: Sat Jan 19, 2019 3:07 pm Post subject: |
|
|
I came across the same problem. I don't know why it is happening, but I used the cross compiler to downgraded back and masked the new version in the target environment for now. Point is - you aren't the only one... |
|
Back to top |
|
|
Khumarahn Apprentice
Joined: 17 Apr 2009 Posts: 199
|
Posted: Sat Jan 19, 2019 3:37 pm Post subject: |
|
|
I checked the currently stable portage-2.3.51-r1. This problem does not come up.
Upd: with portage-2.3.56 the problem is present. |
|
Back to top |
|
|
Sakaki Guru
Joined: 21 May 2014 Posts: 409
|
Posted: Sat Jan 19, 2019 6:43 pm Post subject: |
|
|
Same issue here. I have had to mask >=sys-apps/portage-2.3.53 for arm64. Last version that I found that works with a QEMU chroot is 2.3.52-r1. _________________ Regards,
sakaki |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22717
|
Posted: Sat Jan 19, 2019 9:56 pm Post subject: |
|
|
Can you bisect between those two revisions to find the commit that introduced the incompatibility? That might help track down what qemu-user fails to emulate correctly. |
|
Back to top |
|
|
Khumarahn Apprentice
Joined: 17 Apr 2009 Posts: 199
|
Posted: Sat Jan 19, 2019 10:55 pm Post subject: |
|
|
The culprit is the pid-sandbox feature, turned on by default in commit 55a9d4ccc5ac90b454638f9205f8a5d20ca8b47a
With FEATURES="-pid-sandbox" new versions of portage work fine... |
|
Back to top |
|
|
steils n00b
Joined: 20 Sep 2018 Posts: 4
|
Posted: Sat Mar 23, 2019 10:24 am Post subject: |
|
|
Same issue for me, and FEATURES="-pid-sandbox" worked.
Is there a bug on https://bugs.gentoo.org for this? I couldn't find it.
I would suppose that adding FEATURES="-pid-sandbox" to crossdev's default make.conf will be reasonable until it is fixed. |
|
Back to top |
|
|
crocket Guru
Joined: 29 Apr 2017 Posts: 558
|
|
Back to top |
|
|
CaptainBlood Advocate
Joined: 24 Jan 2010 Posts: 3903
|
Posted: Wed Jul 10, 2019 5:15 pm Post subject: |
|
|
Sorry but heredoesn't seems to cause any problem: Code: | sys-apps/portage
Available versions: 2.3.62-r2 2.3.66-r1 ~2.3.67 ~2.3.68-r1 **9999 {build doc epydoc gentoo-dev +ipc +native-extensions +rsync-verify selinux xattr KERNEL="linux" PYTHON_TARGETS="pypy python2_7 python3_5 python3_6 python3_7"}
Installed versions: 2.3.66-r1(11:16:11 28/05/2019)(ipc native-extensions rsync-verify -build -doc -epydoc -gentoo-dev -selinux -xattr KERNEL="linux" PYTHON_TARGETS="python3_6 -pypy -python2_7 -python3_5 -python3_7") |
Code: | emerge --info
Portage 2.3.66 (python 3.6.5-final-0, default/linux/arm64/17.0, gcc-9.1.0, glibc-2.29-r2, 5.2.0-gentoo-classic aarch64)
=================================================================
System uname: Linux-5.2.0-gentoo-classic-aarch64-with-gentoo-2.6 // beware as from inside a chrooted qemu-user
KiB Mem: 3937004 total, 672992 free
KiB Swap: 8048528 total, 8048004 free
Timestamp of repository gnome-next: Tue, 09 Jul 2019 06:06:50 +0000
Head commit of repository gnome-next: 866f642da26be8ddeb148d68d9ff179f59f178ad
Timestamp of repository gentoo: Wed, 10 Jul 2019 15:15:01 +0000
Head commit of repository gentoo: fa27222e4717fd840b5034b1170321265b7c2079
Timestamp of repository mv: Mon, 08 Jul 2019 07:18:21 +0000
Head commit of repository mv: c255ec6c6d5ad4cdda0117a982ac51b8e72a785e
Timestamp of repository sorrow: Thu, 04 Jul 2019 20:10:10 +0000
Head commit of repository sorrow: 4e9937d4074483595f6b94c6da5dd638ae855f6c
sh bash 4.4_p23-r1
ld GNU ld (Gentoo 2.31.1 p7) 2.31.1
distcc 3.3.2 aarch64-unknown-linux-gnu [enabled]
app-shells/bash: 4.4_p23-r1::gentoo
dev-lang/perl: 5.28.2-r1::gentoo
dev-lang/python: 2.7.15::gentoo, 3.6.5::gentoo
dev-util/cmake: 3.14.3::gentoo
dev-util/pkgconfig: 0.29.2::gentoo
sys-apps/baselayout: 2.6-r1::gentoo
sys-apps/openrc: 0.41.2::gentoo
sys-apps/sandbox: 2.13::gentoo
sys-devel/autoconf: 2.13-r1::gentoo, 2.69-r4::gentoo
sys-devel/automake: 1.11.6-r3::gentoo, 1.16.1-r1::gentoo
sys-devel/binutils: 2.31.1-r6::gentoo
sys-devel/gcc: 8.3.0-r1::gentoo, 9.1.0::gentoo
sys-devel/gcc-config: 2.0::gentoo
sys-devel/libtool: 2.4.6-r3::gentoo
sys-devel/make: 4.2.1-r4::gentoo
sys-kernel/linux-headers: 4.14-r1::gentoo (virtual/os-headers)
sys-libs/glibc: 2.29-r2::gentoo
Repositories:
das-labor
location: /var/lib/layman/das-labor
masters: gentoo
priority: -10001
gnome-next
location: /var/db/repos/gnome-next
sync-type: git
sync-uri: https://github.com/gentoo-mirror/gnome-next.git
masters: gentoo
priority: -10000
gentoo
location: /usr/portage
sync-type: rsync
sync-uri: rsync://rsync.europe.gentoo.org/gentoo-portage
priority: -1000
sync-rsync-verify-metamanifest: no
sync-rsync-verify-max-age: 24
sync-rsync-extra-opts:
sync-rsync-verify-jobs: 1
mv
location: /var/db/repos/mv
sync-type: git
sync-uri: https://github.com/gentoo-mirror/mv.git
masters: gentoo
sorrow
location: /var/db/repos/sorrow
sync-type: git
sync-uri: https://github.com/gentoo-mirror/sorrow.git
masters: gentoo
x-portage
location: /usr/local/portage
masters: gentoo
priority: 0
ACCEPT_KEYWORDS="arm64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="aarch64-unknown-linux-gnu"
CFLAGS="-march=armv8-a -mtune=cortex-a57 -O2 -pipe"
CHOST="aarch64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /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=armv8-a -mtune=cortex-a57 -O2 -pipe "
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS=" --alert y --alphabetical --ask-enter-invalid --autounmask y --autounmask-only n --autounmask-unrestricted-atoms y --autounmask-write y --misspell-suggestions n --noconfmem --nospinner --tree --with-bdeps y"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN 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-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distcc distcc-pump distlocks ebuild-locks fixlafiles ipc-sandbox keepwork merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirrors.evowise.com/gentoo/ http://gentoo.modulix.net/gentoo/ http://mirrors.soeasyto.com/distfiles.gentoo.org/ http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://mirror.netcologne.de/gentoo/ http://mirror.leaseweb.com/gentoo/ http://mirror.bytemark.co.uk/gentoo/ http://gentoo.mirror.web4u.cz/ http://mirror.dkm.cz/gentoo/ http://mirror.mdfnet.se/gentoo http://ftp.halifax.rwth-aachen.de/gentoo/ http://ftp.fi.muni.cz/pub/linux/gentoo/ http://mirrors.xservers.ro/gentoo/ http://ftp.romnet.org/gentoo/ http://ftp.rnl.tecnico.ulisboa.pt/pub/gentoo/gentoo-distfiles/"
LANG="fr_FR.utf8"
LDFLAGS=" -Wl,-O1 -Wl,-fuse-ld=bfd -Wl,--enable-new-dtags -march=armv8-a -mtune=cortex-a57 -O2 -pipe "
LINGUAS="fr"
MAKEOPTS="-j4 -l4"
PKGDIR="/usr/portage/packages"
PORTAGE_COMPRESS="lzma"
PORTAGE_COMPRESS_FLAGS="-9"
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="arm64 asm minimal" CPU_FLAGS_ARM="edsp neon thumb thumb2 v4 v5 v6 v7 v8 vfp vfp-d32 vfpv3 vfpv4" ELIBC="glibc" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput" KERNEL="linux" L10N="fr" PHP_TARGETS="php7-2" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby24" USERLAND="GNU" VIDEO_CARDS="virgl"
Unset: CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_RSYNC_EXTRA_OPTS | Thks 4 ur attention. |
|
Back to top |
|
|
gabrielg Tux's lil' helper
Joined: 16 Nov 2012 Posts: 137
|
Posted: Sat May 02, 2020 11:50 am Post subject: |
|
|
This problem may be back - I'm trying to cross compile for a Raspberry Pi and was getting the qemu's thread error.
FEATURES="-pid-sandbox" on target filesystem seems to work.
My portage version is 2.3.89-r3 (on host and target). |
|
Back to top |
|
|
crocket Guru
Joined: 29 Apr 2017 Posts: 558
|
Posted: Sat May 02, 2020 12:07 pm Post subject: |
|
|
To be honest, you should give up qemu. You should stick to simple local compilation. Hook up an SSD to the 4GB model of Raspberry Pi 4. Use zswap to minimize swap usage. Compile some large packages on SSD. Compile small packages on tmpfs. |
|
Back to top |
|
|
gabrielg Tux's lil' helper
Joined: 16 Nov 2012 Posts: 137
|
Posted: Mon May 11, 2020 1:17 pm Post subject: |
|
|
Sadly, crocket may be correct. The workaround worked until something (ncurses I think) needed pid sandbox. |
|
Back to top |
|
|
|