Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 698174 - dev-qt/qtmultimedia-5.12.5: emake failed: /usr/include/qt5/QtCore/qconfig.h:1:10: fatal error: /usr/include/qt5/Gentoo/gentoo-qconfig.h: Permission denied
Summary: dev-qt/qtmultimedia-5.12.5: emake failed: /usr/include/qt5/QtCore/qconfig.h:1...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: qt-5.12.5-stable
  Show dependency tree
 
Reported: 2019-10-21 00:38 UTC by Thomas Deutschmann (RETIRED)
Modified: 2019-10-21 23:48 UTC (History)
1 user (show)

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


Attachments
build.og (build.log,484.90 KB, text/plain)
2019-10-21 00:38 UTC, Thomas Deutschmann (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Deutschmann (RETIRED) gentoo-dev 2019-10-21 00:38:30 UTC
Created attachment 593510 [details]
build.og

> In file included from /usr/include/qt5/QtCore/qglobal.h:66,
>                  from /usr/include/qt5/QtCore/qalgorithms.h:43,
>                  from /usr/include/qt5/QtCore/qdebug.h:44,
>                  from audiocapturesession.cpp:40:
> /usr/include/qt5/QtCore/qconfig.h:1:10: fatal error: /usr/include/qt5/Gentoo/gentoo-qconfig.h: Permission denied
>  #include <Gentoo/gentoo-qconfig.h>
>           ^~~~~~~~~~~~~~~~~~~~~~~~~
> compilation terminated.


Portage 2.3.76 (python 3.6.9-final-0, default/linux/x86/17.0, gcc-8.3.0, glibc-2.29-r2, 4.19.72-gentoo-x86 i686)
=================================================================
System uname: Linux-4.19.72-gentoo-x86-i686-Intel-R-_Core-TM-_i7-3770K_CPU_@_3.50GHz-with-gentoo-2.6
KiB Mem:     3106552 total,   1294540 free
KiB Swap:     488276 total,    357716 free
Timestamp of repository gentoo: Sun, 20 Oct 2019 12:45:48 +0000
Head commit of repository gentoo: b6e71e954dc06e1c2ef604e30cf62c4b503c4c32

sh bash 4.4_p23-r1
ld GNU ld (Gentoo 2.32 p2) 2.32.0
app-shells/bash:          4.4_p23-r1::gentoo
dev-java/java-config:     2.2.0-r4::gentoo
dev-lang/perl:            5.28.2-r1::gentoo
dev-lang/python:          2.7.16::gentoo, 3.6.9::gentoo
dev-util/cmake:           3.14.6::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.16.1-r1::gentoo
sys-devel/binutils:       2.32-r1::gentoo
sys-devel/gcc:            8.3.0-r1::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.19::gentoo (virtual/os-headers)
sys-libs/glibc:           2.29-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/gentoo.git
    priority: -1000

ABI="x86"
ABI_X86="32"
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="*"
ACCEPT_PROPERTIES="*"
ACCEPT_RESTRICT="*"
ADA_TARGET="gnat_2018"
ANT_HOME="/usr/share/ant"
ARCH="x86"
BROOT=""
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=pentium4m -mtune=pentium4m -Wno-error=jump-misses-init -Wno-error=sign-compare"
CHOST="i686-pc-linux-gnu"
CHOST_x86="i686-pc-linux-gnu"
COLLISION_IGNORE="/lib/modules/*"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CPU_FLAGS_X86="mmx mmxext sse sse2"
CXXFLAGS="-O2 -pipe -march=pentium4m -mtune=pentium4m -Wno-error=jump-misses-init -Wno-error=sign-compare"
DEFAULT_ABI="x86"
EDITOR="/usr/bin/mcedit"
ELIBC="glibc"
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"
EPREFIX=""
EROOT="/"
ESYSROOT="/"
FCFLAGS="-O2 -march=i686 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs cgroup config-protect-if-modified distlocks downgrade-backup ebuild-locks fixlafiles ipc-sandbox 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 xattr"
FFLAGS="-O2 -march=i686 -pipe"
GCC_SPECS=""
GRUB_PLATFORMS="efi-32 pc"
GSETTINGS_BACKEND="dconf"
HOME="/root"
INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/8.3.0/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.32/info:/usr/share/info"
INPUT_DEVICES="libinput keyboard mouse"
IUSE_IMPLICIT="abi_x86_32 prefix prefix-guest prefix-stack"
JAVAC="/etc/java-config-2/current-system-vm/bin/javac"
JAVA_HOME="/etc/java-config-2/current-system-vm"
JDK_HOME="/etc/java-config-2/current-system-vm"
KERNEL="linux"
L10N="en en-US de de-DE"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LC_MESSAGES="C"
LC_PAPER="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LIBDIR_x86="lib"
LINGUAS="en de"
LOGNAME="root"
MAIL="/var/mail/root"
MAKEOPTS="--jobs 5 --load-average 7.95"
MANPAGER="manpager"
MULTILIB_ABIS="x86"
NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml"
NOCOLOR="true"
OFFICE_IMPLEMENTATION="libreoffice"
OLDPWD="/tmp/stable"
OPENCL_PROFILE="ocl-icd"
OPENGL_PROFILE="xorg-x11"
PAGER="/usr/bin/less"
PATH="/usr/lib/llvm/8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin"
PHP_TARGETS="php7-1 php7-2 php7-3"
POSTGRES_TARGETS="postgres10 postgres11"
PWD="/tmp"
PYTHONDONTWRITEBYTECODE="1"
PYTHON_SINGLE_TARGET="python3_6"
PYTHON_TARGETS="python2_7 python3_6"
QT_GRAPHICSSYSTEM="raster"
ROOT="/"
ROOTPATH="/usr/lib/llvm/8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin"
RUBY_TARGETS="ruby24 ruby25"
SHELL="/bin/bash"
SHLVL="2"
SSH_TTY="/dev/pts/0"
SYSROOT="/"
TERM="tmux-256color"
TMUX="/tmp//tmux-0/default,5209,0"
TMUX_PANE="%2"
TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE="1"
USER="root"
USERLAND="GNU"
VIDEO_CARDS="vmware"
XDG_CONFIG_DIRS="/etc/xdg"
XDG_DATA_DIRS="/usr/local/share:/usr/share"
Comment 1 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2019-10-21 08:23:15 UTC
Perhaps because of suspicious uid/gid?

# find /usr -user portage | xargs ls -l
-rw-r--r-- 1 portage portage 312 Oct 14 22:53 /usr/include/qt5/Gentoo/gentoo-qconfig.h
Comment 2 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2019-10-21 10:05:33 UTC
So here are our (asturm's and mine) findings:

# pwd
/var/tmp/portage
# stat -c %U:%G dev-qt/qtcore-5.12.5/temp/gentoo-qconfig.h
portage:portage
# stat -c %U:%G dev-qt/qtcore-5.12.5/image/usr/include/qt5/Gentoo/gentoo-qconfig.h 
root:root
# stat -c %U:%G /usr/include/qt5/Gentoo/gentoo-qconfig.h 
portage:portage

The file gets its content from qt5_regenerate_global_configs function in qt5-build.eclass. It's called in pkg_postinst for qtcore. Changing the following line "fixes" the issue:


--- /var/portage/eclass/qt5-build.eclass
+++ /usr/local/portage/eclass/qt5-build.eclass
@@ -816,7 +816,7 @@
                -execdir cat '{}' + | sort -u > "${T}"/gentoo-qconfig.h
 
        [[ -s ${T}/gentoo-qconfig.h ]] || ewarn "Generated gentoo-qconfig.h is empty"
-       mv -f "${T}"/gentoo-qconfig.h "${ROOT%/}${QT5_HEADERDIR}"/Gentoo/gentoo-qconfig.h \
+       cp "${T}"/gentoo-qconfig.h "${ROOT%/}${QT5_HEADERDIR}"/Gentoo/gentoo-qconfig.h \
                || eerror "Failed to install new gentoo-qconfig.h"
 
        einfo "Updating QT_CONFIG in qconfig.pri"
Comment 3 Andreas Sturmlechner gentoo-dev 2019-10-21 11:10:30 UTC
(In reply to Lars Wendler (Polynomial-C) from comment #2)
> # stat -c %U:%G
> dev-qt/qtcore-5.12.5/image/usr/include/qt5/Gentoo/gentoo-qconfig.h 
> root:root
> # stat -c %U:%G /usr/include/qt5/Gentoo/gentoo-qconfig.h 
> portage:portage

To extend on that:

# ebuild qtcore-5.13.1.ebuild clean install
# ls -l image/usr/include/qt5/Gentoo/gentoo-qconfig.h
> -rw-r--r-- 1 root root
# ebuild qtcore-5.13.1.ebuild postinst
> Appending /home/andreas/projects/qt to PORTDIR_OVERLAY...
>  * Regenerating gentoo-qconfig.h
>  * Updating QT_CONFIG in qconfig.pri
>  * Updating QT.global_private in qmodule.pri
# ls -l image/usr/include/qt5/Gentoo/gentoo-qconfig.h
> -rw-r--r-- 1 root root

But then:
# ebuild qtcore-5.13.1.ebuild merge
# ls -l /usr/include/qt5/Gentoo/gentoo-qconfig.h
> -rw-r--r-- 1 portage portage

So this is wild. No code relevant qt5-build.eclass change since June 18th.
Comment 4 Larry the Git Cow gentoo-dev 2019-10-21 11:18:36 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a1415c646749d50a6dd36bcea2a6e014ab3c968

commit 1a1415c646749d50a6dd36bcea2a6e014ab3c968
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2019-10-21 11:15:55 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2019-10-21 11:18:07 +0000

    dev-qt/qtcore: Empty revbump to fix file ownership
    
    Bug: https://bugs.gentoo.org/698174
    Package-Manager: Portage-2.3.77, Repoman-2.3.17
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 dev-qt/qtcore/{qtcore-5.12.5.ebuild => qtcore-5.12.5-r1.ebuild} | 0
 1 file changed, 0 insertions(+), 0 deletions(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6d1ea18157c45fb93756378a38318a3f6e1a7967

commit 6d1ea18157c45fb93756378a38318a3f6e1a7967
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2019-10-21 11:11:20 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2019-10-21 11:18:07 +0000

    qt5-build.eclass: qt5_regenerate_global_configs: use `cp` instead of `mv`
    
    Thanks-to: Lars Wendler <polynomial-c@gentoo.org>
    Bug: https://bugs.gentoo.org/698174
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 eclass/qt5-build.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Comment 5 Larry the Git Cow gentoo-dev 2019-10-21 11:23:42 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/qt.git/commit/?id=314a076dda74be6a08694f12013e740a45438192

commit 314a076dda74be6a08694f12013e740a45438192
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2019-10-21 11:21:34 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2019-10-21 11:22:50 +0000

    qt5-build.eclass: qt5_regenerate_global_configs: use `cp` instead of `mv`
    
    Thanks-to: Lars Wendler <polynomial-c@gentoo.org>
    Bug: https://bugs.gentoo.org/698174
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 eclass/qt5-build.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Comment 6 Andreas Sturmlechner gentoo-dev 2019-10-21 11:27:52 UTC
Please try again after upgrade to qtcore-5.12.5-r1.
Comment 7 Andreas Sturmlechner gentoo-dev 2019-10-21 23:48:27 UTC
I'll consider this as fixed after the eclass change, please re-open if it happens again.