Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 719972 - dev-qt/qtcore-5.14.2 failed to emerge
Summary: dev-qt/qtcore-5.14.2 failed to emerge
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2020-04-29 02:01 UTC by Zhichu Chen
Modified: 2020-08-30 18:31 UTC (History)
2 users (show)

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


Attachments
fix qmutex_linux.cpp multi inclusion (qmutex_linux-multi-load.patch,478 bytes, patch)
2020-04-29 02:01 UTC, Zhichu Chen
Details | Diff
fix qdbusmarshaller.cpp multi inclusion (qdbusmarshaller-multi-load.patch,392 bytes, patch)
2020-04-29 02:26 UTC, Zhichu Chen
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Zhichu Chen 2020-04-29 02:01:15 UTC
Created attachment 635112 [details, diff]
fix qmutex_linux.cpp multi inclusion

When I was upgrading to `dev-qt/qtcore-5.14.2`, I got the following error message:



================================
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .obj/qmutex_linux.o: in function `QBasicMutex::lockInternal()':
qmutex_linux.cpp:(.text+0x0): multiple definition of `QBasicMutex::lockInternal()'; .obj/qmutex.o:qmutex.cpp:(.text+0x180): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .obj/qmutex_linux.o: in function `QBasicMutex::lockInternal(int)':
qmutex_linux.cpp:(.text+0x70): multiple definition of `QBasicMutex::lockInternal(int)'; .obj/qmutex.o:qmutex.cpp:(.text+0x1f0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .obj/qmutex_linux.o: in function `QBasicMutex::unlockInternal()':
qmutex_linux.cpp:(.text+0x200): multiple definition of `QBasicMutex::unlockInternal()'; .obj/qmutex.o:qmutex.cpp:(.text+0x3e0): first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:1191: ../../lib/libQt5Core.so.5.14.2] Error 1
 * ERROR: dev-qt/qtcore-5.14.2::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=dev-qt/qtcore-5.14.2::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-qt/qtcore-5.14.2::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-qt/qtcore-5.14.2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-qt/qtcore-5.14.2/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-qt/qtcore-5.14.2/work/qtbase-everywhere-src-5.14.2_build/src/corelib'
 * S: '/var/tmp/portage/dev-qt/qtcore-5.14.2/work/qtbase-everywhere-src-5.14.2'

 * Messages for package dev-qt/qtcore-5.14.2:

 * ERROR: dev-qt/qtcore-5.14.2::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=dev-qt/qtcore-5.14.2::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-qt/qtcore-5.14.2::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-qt/qtcore-5.14.2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-qt/qtcore-5.14.2/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-qt/qtcore-5.14.2/work/qtbase-everywhere-src-5.14.2_build/src/corelib'
 * S: '/var/tmp/portage/dev-qt/qtcore-5.14.2/work/qtbase-everywhere-src-5.14.2'
================================





After googled a little bit, I figured out that this is caused by multi-including the source file `qmutex_linux.cpp` in both `src/corelib/thread/thread.pri` and `src/corelib/thread/qmutex.cpp`. Hence I made a patch to remove the one in the project file. Of course, only the linux part, I'm not sure how darwin or other platform reacts.


















I've never encountered this bug before, so maybe it's my problem.

Anyway, here's my environment:

================================
# emerge --info '=dev-qt/qtcore-5.14.2::gentoo'
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
Portage 2.3.99 (python 3.6.10-final-0, default/linux/amd64/17.1, gcc-8.3.0, glibc-2.31-r2, 5.4.7-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-5.4.7-gentoo-x86_64-Intel-R-_Core-TM-_i7-9700_CPU_@_3.00GHz-with-gentoo-2.7
KiB Mem:    32696748 total,  11473460 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Tue, 28 Apr 2020 22:41:12 +0000
Head commit of repository gentoo: deb298d2d49ad80a74fa6aa58cd9a951042d5f3d

Timestamp of repository gamerlay: Sun, 19 Apr 2020 17:12:35 +0000
Head commit of repository gamerlay: 19c5797ee59667c2b1b9b3d79e82adae129b79f4

Timestamp of repository haskell: Mon, 27 Apr 2020 02:39:49 +0000
Head commit of repository haskell: 13e05a6ba07d0d7cc96abc1ca8d15c0710ff54e3

Timestamp of repository jorgicio: Tue, 28 Apr 2020 20:37:30 +0000
Head commit of repository jorgicio: 5b9b9e12298d80fdc19067d8ce957fdbd0a3a662

Timestamp of repository libressl: Thu, 23 Apr 2020 15:35:11 +0000
Head commit of repository libressl: 721ddcb1c42fcbe373e695e9c2b185bb83a4a714

Timestamp of repository palemoon: Sat, 11 Apr 2020 12:05:05 +0000
Head commit of repository palemoon: afb43b465e37881ffaf5ba89560f6f6e3064cef6

Timestamp of repository python: Sun, 19 Apr 2020 17:13:00 +0000
Head commit of repository python: b08d191b985069677ef75bc84ff77475bfa3afcd

Timestamp of repository raiagent: Tue, 28 Apr 2020 07:09:52 +0000
Head commit of repository raiagent: ebd085e6606f1ccdc595880d9a3a274f0b787430

Timestamp of repository science: Mon, 20 Apr 2020 14:35:27 +0000
Head commit of repository science: 6c830e5c1138948a045cb9ed9d38d62e5c289be8

sh bash 5.0_p17
ld GNU ld (Gentoo 2.33.1 p2) 2.33.1
app-shells/bash:          5.0_p17::gentoo
dev-lang/perl:            5.30.1::gentoo
dev-lang/python:          2.7.18::gentoo, 3.6.10-r2::gentoo, 3.7.7-r2::gentoo, 3.8.2-r2::gentoo
dev-util/cmake:           3.17.1::gentoo
sys-apps/baselayout:      2.7::gentoo
sys-apps/openrc:          0.42.1::gentoo
sys-apps/sandbox:         2.18::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r5::gentoo
sys-devel/automake:       1.16.2::gentoo
sys-devel/binutils:       2.33.1-r1::gentoo, 2.34::gentoo
sys-devel/gcc:            8.3.0-r3::gentoo, 9.2.0-r2::gentoo
sys-devel/gcc-config:     2.2.1::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.6::gentoo (virtual/os-headers)
sys-libs/glibc:           2.31-r2::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/gentoo.git
    priority: -1000

daq
    location: /var/db/repos/daq
    masters: gentoo

gamerlay
    location: /var/db/repos/gamerlay
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/gamerlay.git
    masters: gentoo

haskell
    location: /var/db/repos/haskell
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/haskell.git
    masters: gentoo

jorgicio
    location: /var/db/repos/jorgicio
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/jorgicio.git
    masters: gentoo

libressl
    location: /var/db/repos/libressl
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/libressl.git
    masters: gentoo

palemoon
    location: /var/db/repos/palemoon
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/palemoon.git
    masters: gentoo

python
    location: /var/db/repos/python
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/python.git
    masters: gentoo

raiagent
    location: /var/db/repos/raiagent
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/raiagent.git
    masters: gentoo

science
    location: /var/db/repos/science
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/science.git
    masters: gentoo

Installed sets: @fonts, @tools
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA JSON shmux ipw2100-fw NVIDIA-r1 qlogic-fibre-channel-firmware Mellanox-AS-IS man-pages-posix LDP-1 CC-SA-1.0 mplus-fonts wxWinFDL-3 man-pages vlgothic BitstreamVera UbuntuFontLicense-1.0 MaxMind2 myspell-en_CA-KevinAtkinson CC-PD quake1-textures LDP-1a CC-BY-SA-1.0 man-pages-posix-2013 BAEKMUK Texinfo-manual FDL-1.1 Arphic OPL FDL-1.2+ CC-BY-2.5 FreeArt CC-BY-2.0 GPL-3 CC-BY-3.0 CC-BY-SA-2.0 CC-BY-SA-3.0 FDL-1.3+ GPL-3+ IPAfont CC-BY-SA-4.0 CC-BY-4.0 CC-BY-SA-2.5 FDL-1.3 GPL-2+ FDL-1.1+ GPL-2 GPL-1 FDL-1.2 OFL-1.1 GPL-1+ OFL SGI-B-2.0 PYTHON PSF-2.2 Ruby LGPL-2.1+ GPL-3-with-font-exception Boost-1.0 GPL-2-with-MySQL-FLOSS-exception AGPL-3+ metapackage LGPL-3+ tanuki-community ZLIB GPL-2-with-linking-exception Clear-BSD BSD-2 wxWinLL-3.1 IJG LGPL-2.1-with-linking-exception GPL-2+-with-openssl-exception CeCILL-2 LGPL-3 libgcc PSF-2.3 GPL-3 GPL-3-with-openssl-exception LGPL-2-with-linking-exception UoI-NCSA Unlicense BSD AGPL-3 PSF-2 Sleepycat ZPL GPL-3+ ECL-2.0 Ruby-BSD WTFPL-2 FTL GPL-2-with-exceptions LGPL-2 qwt GPL-2-with-classpath-exception GPL-3+-with-cuda-exception Nokia-Qt-LGPL-Exception-1.1 Apache-2.0 ISC vim LGPL-2+ unicode Clarified-Artistic gcc-runtime-library-exception-3.1 PSF-2.4 MPL-2.0 GPL-3+-with-opencl-exception GPL-2+ GPL-3+-with-cuda-openssl-exception Transmission-OpenSSL-exception W3C HPND public-domain Artistic-2 GPL-2 GPL-3+-with-opencl-openssl-exception GPL-1 libstdc++ MIT CC0-1.0 GPL-1+ OPENLDAP LGPL-2.1 Apache-2.0-with-LLVM-exceptions UPX-exception GPL-2-with-font-exception LGPL-3-with-linking-exception QPL-1.0 Zend-2.0 IBM AFL-2.1 LPPL-1.2 Ms-PL AFL-3.0 EUPL-1.1 MPL-1.0 openssl EPL-1.0 FraunhoferFDK OSL-2.0 CPL-1.0 Apache-1.1 CDDL PHP-3.01 NPL-1.1 OSL-2.1 CNRI CPAL-1.0 APSL-2 gnuplot QPL EPL-2.0 BSD-4 OSL-1.1 MPL-1.1 Apache-1.0 wxWinLL-3 LGPL-2.1+ Boost-1.0 AGPL-3+ LGPL-3+ ZLIB Artistic APL-1.0 IBM BSD-2 POSTGRESQL Ms-PL PHP-3 LGPL-3 GPL-3 AFL-3.0 UoI-NCSA EUPL-1.1 MPL-1.0 EPL-1.0 BSD AGPL-3 CPL-1.0 PSF-2 Sleepycat Apache-1.1 ZPL GPL-3+ CDDL ECL-2.0 IPAfont PHP-3.01 Apache-2.0 ISC OSL-2.1 LGPL-2+ CNRI Watcom-1.0 CPAL-1.0 nethack NOSA MPL-2.0 APSL-2 GPL-2+ W3C HPND Artistic-2 GPL-2 OFL-1.1 MIT GPL-1+ EPL-2.0 QPL LGPL-2.1 MPL-1.1 LPPL-1.3c Flashpix Openwall matplotlib x2x BSD-1 FLTK Info-ZIP perforce File-MMagic docbook SSLeay CAOSL Interbase-1.0 BSD-with-attribution pngcrush HTML-Tidy libtiff AMPAS regexp-UofT gd CDDL-1.1 tumbolia NCSA-HDF CeCILL-C CRACKLIB xboing inner-net icu tcp_wrappers_license MIT-with-advertising psutils libpng PCRE LPPL-1.3 URT openafs-krb5-a rc scanlogd xtrs BSD-with-disclosure dom4j gsm Snd bufexplorer.vim totd CPL-0.5 rdisc sdlsasteroids BEER-WARE AIFFWriter.m JDOM pngnq CMake Toyoda w3m Xdebug rwpng canfep JNIC VTK Sendmail Mail-Sendmail Ispell FLEX eGenixPublic-1.1 ipadic alternate iASL ElementTree libpng2 flexmock wm2 UCAR-Unidata boehm-gc Time-modules xvt CeCILL-B otter ngrep the-Click-license freetts htmlc BZIP2 bea.ri.jsr173 Emacs xbatt Allegro buddy TeX-other-free libmng SVFL Sendmail-Open-Source Khronos-CLHPP SMAIL JOVE imagemagick LambdaMOO Princeton tablelist feh TeX lsof Old-MIT Subversion FVWM repoze mpich2 XC shrimp ErlPL-1.1 IDPL ZSH tm-align photopc RSA par FastCGI torque-2.5 PHP-2.02 CDDL-Schily LIBGLOSS sash netcat DES LLVM-Grant tcltk Crypt-IDEA Time-Format mm LPPL-1.3b DUMB-0.9.3 ipx-utils symlinks NEWLIB Mini-XML minpack ipw3945 ISSL SmartLabs intel-ucode MicroChip-SDCC Broadcom LSI-tw_cli Amazon no-source-code Atmel unRAR bonnie freedist linux-fw-redistributable AVASYS ipw2200-fw bh-luxi sun-jlfgr"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /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 /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--verbose-conflicts --quiet"
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="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict strict-keepdir unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="http://mirrors.163.com/gentoo/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j8"
PKGDIR="/var/cache/binpkgs"
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="X acl amd64 berkdb bzip2 cleartype cli corefonts crypt dri elogind fontforge fortran gdbm harfbuzz iconv icu idm infinality ipv6 jpeg libressl libtirpc multilib ncurses nls nptl opengl openmp pam pcre png qt4 qt5 readline seccomp split-usr ssl svg tcpd truetype type1 unicode urandom x264 xattr zlib" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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 sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" CURL_SSL="libressl" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python3_6 python3_7 python3_8" RUBY_TARGETS="ruby27 ruby26 ruby25" USERLAND="GNU" VIDEO_CARDS="intel i965" 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, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

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

dev-qt/qtcore-5.14.2::gentoo was built with the following:
USE="icu -debug -old-kernel -systemd -test" ABI_X86="(64)"
FEATURES="usersandbox ipc-sandbox protect-owned merge-sync multilib-strict config-protect-if-modified unmerge-orphans sfperms unknown-features-warn network-sandbox news unmerge-logs distlocks userfetch parallel-fetch binpkg-docompress usersync fixlafiles assume-digests binpkg-dostrip xattr strict ebuild-locks preserve-libs sandbox userpriv strict-keepdir pid-sandbox binpkg-logs qa-unresolved-soname-deps"
================================
Comment 1 Zhichu Chen 2020-04-29 02:26:55 UTC
Created attachment 635114 [details, diff]
fix qdbusmarshaller.cpp multi inclusion
Comment 2 Zhichu Chen 2020-04-29 02:36:35 UTC
Comment on attachment 635114 [details, diff]
fix qdbusmarshaller.cpp multi inclusion

OK, it's me again.

I switched back to my emerge process and saw a similar failure of dev-qt/qtdbus-5.14.2


==================================================
x86_64-pc-linux-gnu-g++ -Wl,-O1 -Wl,--as-needed -Wl,--no-undefined -Wl,--version-script,QtDBus.version -Wl,--enable-new-dtags -shared -Wl,-Bsymbolic-functions -Wl,-soname,libQt5DBus.so.5 -o libQt5DBus.so.5.14.2 .obj/qdbusconnection.o .obj/qdbusconnectioninterface.o .obj/qdbuserror.o .obj/qdbusintegrator.o .obj/qdbusmessage.o .obj/qdbusserver.o .obj/qdbusabstractinterface.o .obj/qdbusinterface.o .obj/qdbusxmlparser.o .obj/qdbusutil.o .obj/qdbusintrospection.o .obj/qdbusabstractadaptor.o .obj/qdbusinternalfilters.o .obj/qdbusmetaobject.o .obj/qdbusxmlgenerator.o .obj/qdbusmisc.o .obj/qdbusargument.o .obj/qdbusreply.o .obj/qdbusmetatype.o .obj/qdbusextratypes.o .obj/qdbusmarshaller.o .obj/qdbuscontext.o .obj/qdbuspendingcall.o .obj/qdbuspendingreply.o .obj/qdbus_symbols.o .obj/qdbusservicewatcher.o .obj/qdbusunixfiledescriptor.o .obj/qdbusvirtualobject.o .obj/moc_qdbusconnectioninterface.o .obj/moc_qdbuserror.o .obj/moc_qdbusconnection.o .obj/moc_qdbusabstractadaptor.o .obj/moc_qdbusvirtualobject.o .obj/moc_qdbusconnection_p.o .obj/moc_qdbusconnectionmanager_p.o .obj/moc_qdbuspendingcall_p.o  /usr/lib64/libQt5Core.so -lpthread -ldbus-1   
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .obj/qdbusmarshaller.o: in function `QDBusMarshaller::append(QString const&)':
qdbusmarshaller.cpp:(.text+0x0): multiple definition of `QDBusMarshaller::append(QString const&)'; .obj/qdbusargument.o:qdbusargument.cpp:(.text+0x1b10): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .obj/qdbusmarshaller.o: in function `QDBusMarshaller::open(QDBusMarshaller&, int, char const*)':
qdbusmarshaller.cpp:(.text+0xc0): multiple definition of `QDBusMarshaller::open(QDBusMarshaller&, int, char const*)'; .obj/qdbusargument.o:qdbusargument.cpp:(.text+0x1c10): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .obj/qdbusmarshaller.o: in function `QDBusMarshaller::beginCommon(int, char const*)':
qdbusmarshaller.cpp:(.text+0x190): multiple definition of `QDBusMarshaller::beginCommon(int, char const*)'; .obj/qdbusargument.o:qdbusargument.cpp:(.text+0x1ce0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .obj/qdbusmarshaller.o: in function `QDBusMarshaller::endCommon()':
qdbusmarshaller.cpp:(.text+0x230): multiple definition of `QDBusMarshaller::endCommon()'; .obj/qdbusargument.o:qdbusargument.cpp:(.text+0x1f80): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .obj/qdbusmarshaller.o: in function `QDBusMarshaller::close()':
qdbusmarshaller.cpp:(.text+0x240): multiple definition of `QDBusMarshaller::close()'; .obj/qdbusargument.o:qdbusargument.cpp:(.text+0x1f90): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .obj/qdbusmarshaller.o: in function `QDBusMarshaller::~QDBusMarshaller()':
qdbusmarshaller.cpp:(.text+0x290): multiple definition of `QDBusMarshaller::~QDBusMarshaller()'; .obj/qdbusargument.o:qdbusargument.cpp:(.text+0x1fe0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .obj/qdbusmarshaller.o: in function `QDBusMarshaller::~QDBusMarshaller()':
qdbusmarshaller.cpp:(.text+0x290): multiple definition of `QDBusMarshaller::~QDBusMarshaller()'; .obj/qdbusargument.o:qdbusargument.cpp:(.text+0x1fe0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .obj/qdbusmarshaller.o: in function `QDBusMarshaller::~QDBusMarshaller()':
qdbusmarshaller.cpp:(.text+0x2e0): multiple definition of `QDBusMarshaller::~QDBusMarshaller()'; .obj/qdbusargument.o:qdbusargument.cpp:(.text+0x2040): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .obj/qdbusmarshaller.o: in function `QDBusMarshaller::error(QString const&)':
qdbusmarshaller.cpp:(.text+0x300): multiple definition of `QDBusMarshaller::error(QString const&)'; .obj/qdbusargument.o:qdbusargument.cpp:(.text+0x21b0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .obj/qdbusmarshaller.o: in function `QDBusMarshaller::appendRegisteredType(QVariant const&)':
qdbusmarshaller.cpp:(.text+0x330): multiple definition of `QDBusMarshaller::appendRegisteredType(QVariant const&)'; .obj/qdbusargument.o:qdbusargument.cpp:(.text+0x21e0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .obj/qdbusmarshaller.o: in function `QDBusMarshaller::appendCrossMarshalling(QDBusDemarshaller*)':
qdbusmarshaller.cpp:(.text+0x3b0): multiple definition of `QDBusMarshaller::appendCrossMarshalling(QDBusDemarshaller*)'; .obj/qdbusargument.o:qdbusargument.cpp:(.text+0x2940): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .obj/qdbusmarshaller.o: in function `QDBusMarshaller::appendVariantInternal(QVariant const&)':
qdbusmarshaller.cpp:(.text+0x6e0): multiple definition of `QDBusMarshaller::appendVariantInternal(QVariant const&)'; .obj/qdbusargument.o:qdbusargument.cpp:(.text+0x3900): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: .obj/qdbusmarshaller.o: in function `QDBusMarshaller::appendCrossMarshalling(QDBusDemarshaller*)':
qdbusmarshaller.cpp:(.text+0x5f4): undefined reference to `QDBusDemarshaller::currentSignature()'
collect2: error: ld returned 1 exit status
make: *** [Makefile:254: ../../lib/libQt5DBus.so.5.14.2] Error 1
 * ERROR: dev-qt/qtdbus-5.14.2::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=dev-qt/qtdbus-5.14.2::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-qt/qtdbus-5.14.2::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-qt/qtdbus-5.14.2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-qt/qtdbus-5.14.2/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-qt/qtdbus-5.14.2/work/qtbase-everywhere-src-5.14.2_build/src/dbus'
 * S: '/var/tmp/portage/dev-qt/qtdbus-5.14.2/work/qtbase-everywhere-src-5.14.2'
================================================




I made another patch to dev-qt/qtdbus as shown in the attachment.


I have a, maybe silly, question: I saw the QT5_MODULE="qtbase" in a lot of dev-qt packages, can I just make one patch that applies to all those packages built from "qtbase"? It's kind of tedious to copy/sync the same patch around.