Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Bedevilled by powerdevil-5.10.4
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
miket
Guru
Guru


Joined: 28 Apr 2007
Posts: 400
Location: Gainesville, FL, USA

PostPosted: Sun Aug 27, 2017 7:15 pm    Post subject: Bedevilled by powerdevil-5.10.4 Reply with quote

Oh, what fun in rebuilding KDE with GCC 5. I've looked in forum threads about problems with GCC 5, but this problem seems different enough that what was reported in other threads for me to start one here.

I updated all packages depending on libstdc++.so.6 as indicated in the GCC upgrade guide and I rebuilt powerdevil (with a considerable degree of builiding things just built) using the --emptytree flag. The only things showing up in a --depclean run are old versions of gentoo-sources and gcc that I left around. Even so, there is a still a problem. Here is the crazy set of error messages from the build of kde-plasma/powerdevil-5.10.4:5:
Code:
/usr/lib64/libQt5Widgets.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start'
/usr/lib64/libQt5Widgets.so.5.7.1:(*IND*+0x0): multiple definition of `_edata'
/usr/lib64/libQt5Widgets.so.5.7.1:(*IND*+0x0): multiple definition of `_end'
/usr/lib64/libQt5X11Extras.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start'
/usr/lib64/libQt5X11Extras.so.5.7.1:(*IND*+0x0): multiple definition of `_end'
/usr/lib64/libQt5X11Extras.so.5.7.1:(*IND*+0x0): multiple definition of `_edata'
/usr/lib64/libQt5Gui.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start'
/usr/lib64/libQt5Gui.so.5.7.1:(*IND*+0x0): multiple definition of `_edata'
/usr/lib64/libQt5Gui.so.5.7.1:(*IND*+0x0): multiple definition of `_end'
/usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start'
/usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start'
/usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `_edata'
/usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `_edata'
/usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `_end'
/usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `_end'
collect2: error: ld returned 1 exit status


How is it that duplicate definitions of things like __bss_start even supposed to happen? I see when doing a bigger search that this can happen with a bug in the Gold linker, but I don't have Gold on my system.

Here's one little clue. Before I ran emerge -vae powerdevil, that list of error messages did not include the lines implicating libQt5X11Extras.so.5.7.1. All runs after the --emptytree run now include those three lines.

I'm out of ideas.
Back to top
View user's profile Send private message
fedeliallalinea
Bodhisattva
Bodhisattva


Joined: 08 Mar 2003
Posts: 18569
Location: here

PostPosted: Sun Aug 27, 2017 7:23 pm    Post subject: Reply with quote

You use gold linker? If yes see here
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
miket
Guru
Guru


Joined: 28 Apr 2007
Posts: 400
Location: Gainesville, FL, USA

PostPosted: Sun Aug 27, 2017 9:06 pm    Post subject: Reply with quote

fedeliallalinea wrote:
You use gold linker? If yes see here

If I am, I sure am unaware of it. I can see, for example, that I do not have sys-devel/llvmgold. What is the package atom for the Gold linker?
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 12247

PostPosted: Sun Aug 27, 2017 11:08 pm    Post subject: Reply with quote

Gold is part of sys-devel/binutils. Could you post your emerge --info so we can get a general sense of your system configuration?
Back to top
View user's profile Send private message
miket
Guru
Guru


Joined: 28 Apr 2007
Posts: 400
Location: Gainesville, FL, USA

PostPosted: Mon Aug 28, 2017 12:06 am    Post subject: Reply with quote

Oh, my! I've heard a lot of back-and-forth about the Gold linker, of how it was connected to the LLVM project and Clang and of how there have been difficulties with them as well as added efficiencies, but I was under the impression that I'd have to install that support explicitly if I wanted to have it. I thought of the effort as being part of an alternate toolchain. Somehow I missed the bit about Gold being accepted into the GNU mainstream! I read bug reports for Gold complaining about that particular duplicate-symbol error, but I thought that since I had not "bought" any Gold that that would not be my problem. So much for assumptions. Sure enough, /usr/bin/ld.gold is in my system.

Here's the emerge --info:
Code:
Portage 2.3.6 (python 3.4.5-final-0, default/linux/amd64/13.0, gcc-5.4.0, glibc-2.23-r4, 4.12.5-gentoo x86_64)
=================================================================
System uname: Linux-4.12.5-gentoo-x86_64-Intel-R-_Core-TM-_i7-4790K_CPU_@_4.00GHz-with-gentoo-2.3
KiB Mem:    16313776 total,   6867904 free
KiB Swap:    8388604 total,   8387068 free
Timestamp of repository gentoo: Thu, 24 Aug 2017 02:00:01 +0000
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.28 p1.2) 2.28
app-shells/bash:          4.3_p48-r1::gentoo
dev-lang/perl:            5.24.1-r2::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.7.2::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.17::gentoo
sys-apps/sandbox:         2.10-r3::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.15-r2::gentoo
sys-devel/binutils:       2.28-r2::gentoo
sys-devel/gcc:            4.9.4::gentoo, 5.4.0-r3::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r4::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

local
    location: /var/lib/overlays/local
    masters: gentoo

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA dlj-1.1 sun-bcla-java-vm PUEL AdobeFlash-10.1 google-chrome"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O3 -march=core2 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind"
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="-O3 -march=core2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs buildpkg 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 xattr"
FFLAGS="-O3 -march=core2 -pipe -fomit-frame-pointer -funroll-all-loops"
GENTOO_MIRRORS="http://www.gtlib.gatech.edu/pub/gentoo http://mirrors.kernel.org/gentoo http://distro.ibiblio.org/pub/linux/distributions/gentoo"
INSTALL_MASK="/usr/lib/systemd"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -Wl,--as-needed"
MAKEOPTS="-j8"
PKGDIR="/var/lib/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="/var/tmp"
USE="X acl alsa amd64 bash-completion berkdb bzip2 caps cli cracklib crypt curl cxx dbus dri fam fortran gdbm gmp gnutls iconv icu idn ipv6 jpeg lvm mmap mmx modules multilib ncurses nls nptl ogg opengl openmp pam pcre perl png python qemu readline seccomp session slang sql sqlite sse sse2 ssl tcpd udev unicode xattr xml zlib" ABI_X86="64" 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="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="worker" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" 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" 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" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-2" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby22" SANE_BACKENDS="hp" USERLAND="GNU" VIDEO_CARDS="intel" 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, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


And since you may want to be sure of which slot of GCC I've got enabled, here is gcc --version
Code:
gcc (Gentoo 5.4.0-r3 p1.3, pie-0.6.5) 5.4.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is  free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Back to top
View user's profile Send private message
miket
Guru
Guru


Joined: 28 Apr 2007
Posts: 400
Location: Gainesville, FL, USA

PostPosted: Mon Aug 28, 2017 12:41 am    Post subject: Reply with quote

I see that two days ago sys-devel/binutils-2.28.1 was stabilized for amd64. I had been doing this upgrade on a single syncing of Portage done a couple of days before that--I wanted to avoid an added element of churn in the process. Would this version help? I would think, though, that the patch to the Gold bug of version 2.27 would have been fixed by the 2.28-r2 that I have now.
Back to top
View user's profile Send private message
miket
Guru
Guru


Joined: 28 Apr 2007
Posts: 400
Location: Gainesville, FL, USA

PostPosted: Tue Aug 29, 2017 12:29 pm    Post subject: Reply with quote

What's this stuff with Gold? The system ought to be awfully clean: synced portage, got binutils 2.28.1 plus other new things with emerge --deep --update @world. Eselected the new binutils, re-sourced /etc/profile, tried rebuilding only the packages implicated in the linker error message (qtwidgets, qtx11extras, qtgui, and qtcore), but powerdevil still failed to build. Next tried the bigger gun: unmerged the old version of binuitls (along with all other old stuff) with emerge --depclean, did a rebuild of all of @system, and did a full emptytree rebuild of the dependencies of powerdevil. And still it failed:
Code:
/usr/lib64/libQt5Widgets.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start'
/usr/lib64/libQt5Widgets.so.5.7.1:(*IND*+0x0): multiple definition of `_edata'
/usr/lib64/libQt5Widgets.so.5.7.1:(*IND*+0x0): multiple definition of `_end'
/usr/lib64/libQt5X11Extras.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start'
/usr/lib64/libQt5X11Extras.so.5.7.1:(*IND*+0x0): multiple definition of `_end'
/usr/lib64/libQt5X11Extras.so.5.7.1:(*IND*+0x0): multiple definition of `_edata'
/usr/lib64/libQt5Gui.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start'
/usr/lib64/libQt5Gui.so.5.7.1:(*IND*+0x0): multiple definition of `_edata'
/usr/lib64/libQt5Gui.so.5.7.1:(*IND*+0x0): multiple definition of `_end'
/usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start'
/usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start'
/usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `_edata'
/usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `_edata'
/usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `_end'
/usr/lib64/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `_end'
collect2: error: ld returned 1 exit status


Here is the new system --info:
Code:
Portage 2.3.6 (python 3.4.5-final-0, default/linux/amd64/13.0, gcc-5.4.0, glibc-2.23-r4, 4.12.5-gentoo x86_64)
=================================================================
System uname: Linux-4.12.5-gentoo-x86_64-Intel-R-_Core-TM-_i7-4790K_CPU_@_4.00GHz-with-gentoo-2.3
KiB Mem:    16313776 total,   6657128 free
KiB Swap:    8388604 total,   8387068 free
Timestamp of repository gentoo: Mon, 28 Aug 2017 17:30:01 +0000
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.28.1 p1.0) 2.28.1
app-shells/bash:          4.3_p48-r1::gentoo
dev-lang/perl:            5.24.1-r2::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.7.2::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.17::local
sys-apps/sandbox:         2.10-r3::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.15-r2::gentoo
sys-devel/binutils:       2.28.1::gentoo
sys-devel/gcc:            4.9.4::gentoo, 5.4.0-r3::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r4::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

local
    location: /var/lib/overlays/local
    masters: gentoo

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA dlj-1.1 sun-bcla-java-vm PUEL AdobeFlash-10.1 google-chrome"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O3 -march=core2 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind"
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="-O3 -march=core2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs buildpkg 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 xattr"
FFLAGS="-O3 -march=core2 -pipe -fomit-frame-pointer -funroll-all-loops"
GENTOO_MIRRORS="http://www.gtlib.gatech.edu/pub/gentoo http://mirrors.kernel.org/gentoo http://distro.ibiblio.org/pub/linux/distributions/gentoo"
INSTALL_MASK="/usr/lib/systemd"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -Wl,--as-needed"
MAKEOPTS="-j8"
PKGDIR="/var/lib/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="/var/tmp"
USE="X acl alsa amd64 bash-completion berkdb bzip2 caps cli cracklib crypt curl cxx dbus dri fam fortran gdbm gmp gnutls iconv icu idn ipv6 jpeg lvm mmap mmx modules multilib ncurses nls nptl ogg opengl openmp pam pcre perl png python qemu readline seccomp session slang sql sqlite sse sse2 ssl tcpd udev unicode xattr xml zlib" ABI_X86="64" 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="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="worker" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" 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" 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" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-2" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby22" SANE_BACKENDS="hp" USERLAND="GNU" VIDEO_CARDS="intel" 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, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 12247

PostPosted: Thu Aug 31, 2017 1:33 am    Post subject: Reply with quote

Sorry, I don't use gold directly nor use these packages. I hoped that your emerge --info would show a culprit, but I see nothing relevant there. I have no further ideas.
Back to top
View user's profile Send private message
miket
Guru
Guru


Joined: 28 Apr 2007
Posts: 400
Location: Gainesville, FL, USA

PostPosted: Thu Aug 31, 2017 2:38 pm    Post subject: Reply with quote

I'm stuck too. It seems that it is the ebuild that chooses the linker. I went on to try again from a clean start: a base system with no KDE. Did an emerge of of kde-plasma/plasma-meta--and still ended up in the same error. I looked at the symbol tables of the .so's named in the error message and found no such duplicated symbols. I looked at the command that resulted in the error message and saw no duplicate .o files being injected:
Code:
[ 80%] Linking CXX shared library powerdevilupowerbackend.so
cd /var/tmp/portage/kde-plasma/powerdevil-5.10.4/work/powerdevil-5.10.4_build/daemon/backends && /usr/bin/cmake -E cmake_link_script CMakeFiles/powerdevilupowerbackend.dir/link.txt --verbose=1
/usr/bin/x86_64-pc-linux-gnu-g++  -fPIC -O2 -march=core2 -pipe -fomit-frame-pointer -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -Wl,--no-undefined -Wl,--fatal-warnings -Wl,--enable-new-dtags -Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -Wl,--as-needed -shared -Wl,-soname,powerdevilupowerbackend.so -o powerdevilupowerbackend.so CMakeFiles/powerdevilupowerbackend.dir/__/powerdevil_debug.cpp.o CMakeFiles/powerdevilupowerbackend.dir/upower/upowersuspendjob.cpp.o CMakeFiles/powerdevilupowerbackend.dir/upower/login1suspendjob.cpp.o CMakeFiles/powerdevilupowerbackend.dir/upower/powerdevilupowerbackend.cpp.o CMakeFiles/powerdevilupowerbackend.dir/upower/xrandrbrightness.cpp.o CMakeFiles/powerdevilupowerbackend.dir/upower/xrandrxcbhelper.cpp.o CMakeFiles/powerdevilupowerbackend.dir/upower/udevqtclient.cpp.o CMakeFiles/powerdevilupowerbackend.dir/upower/udevqtdevice.cpp.o CMakeFiles/powerdevilupowerbackend.dir/upower_interface.cpp.o CMakeFiles/powerdevilupowerbackend.dir/upower_device_interface.cpp.o CMakeFiles/powerdevilupowerbackend.dir/upower_kbdbacklight_interface.cpp.o CMakeFiles/powerdevilupowerbackend.dir/powerdevilupowerbackend_automoc.cpp.o -Wl,-rpath,/var/tmp/portage/kde-plasma/powerdevil-5.10.4/work/powerdevil-5.10.4_build/daemon: -ludev -lxcb -lxcb-randr ../libpowerdevilcore.so.2.0.0 /usr/lib64/libKF5Activities.so.5.34.0 /usr/lib64/libKF5Solid.so.5.34.0 /usr/lib64/libKF5IdleTime.so.5.34.0 /usr/lib64/libKF5Screen.so.5.10.4 /usr/lib64/libKF5Notifications.so.5.34.0 /usr/lib64/libKF5XmlGui.so.5.34.0 /usr/lib64/libKF5GlobalAccel.so.5.34.0 /usr/lib64/libKF5Service.so.5.34.0 /usr/lib64/libKF5DBusAddons.so.5.34.0 /usr/lib64/libKF5ConfigWidgets.so.5.34.0 /usr/lib64/libKF5Auth.so.5.34.0 /usr/lib64/libKF5CoreAddons.so.5.34.0 /usr/lib64/libKF5Codecs.so.5.34.0 /usr/lib64/libKF5ConfigGui.so.5.34.0 /usr/lib64/libKF5ConfigCore.so.5.34.0 /usr/lib64/libQt5Xml.so.5.7.1 /usr/lib64/libKF5WidgetsAddons.so.5.34.0 /usr/lib64/libkworkspace5.so.5.10.4 /usr/lib64/libKF5I18n.so.5.34.0 /usr/lib64/libQt5DBus.so.5.7.1 /usr/lib64/libQt5Widgets.so.5.7.1 /usr/lib64/libQt5X11Extras.so.5.7.1 /usr/lib64/libQt5Gui.so.5.7.1 /usr/lib64/libQt5Core.so.5.7.1 /usr/lib64/libxcb.so


So then I tried to go back to the powerdevil that I had installed before (plasma-meta allows any version of powerdevil). I put the ebuild in my overlay and, wouldn't you know, it failed with the same error!

All I can imagine is some subtle interaction between powerdevil, the version of eudev I allow, and one or more of the many other packages that are KDE dependencies. (I currently limit eudev to version 1.5.3-r1 because later versions require the kernel options I would rather not enable and limit openrc to version 0.17).

The irony is that I'm doing all this with KDE-5 just to put it into a virtual machine and get an idea of whether it has improved enough for me to go through the trouble of setting it up. So far, between bugs, loss of functionality, and oversimplification, I have not been impressed. I sure have been looking hard at XFCE, LXDE, LXQT, and Lumina. There is still functionality I miss in those other DE's--yet there still seems to be a lot missing from the KDE-5 I've seen so far. I might bite the bullet and do a full simpleminded install of KDE-5 just to test-drive it, but if I could not make it work with what I would want in a base system, what good would that be?
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 3367
Location: Germany

PostPosted: Fri Sep 01, 2017 8:16 am    Post subject: Reply with quote

miket wrote:
emerge --info:
CFLAGS="-O3 -march=core2 -pipe -fomit-frame-pointer"
CXXFLAGS="-O3 -march=core2 -pipe -fomit-frame-pointer"
FFLAGS="-O3 -march=core2 -pipe -fomit-frame-pointer -funroll-all-loops"
LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -Wl,--as-needed"

Hm, please try it with reduced Flags - normal all these packages build and works fine.
Back to top
View user's profile Send private message
miket
Guru
Guru


Joined: 28 Apr 2007
Posts: 400
Location: Gainesville, FL, USA

PostPosted: Sat Sep 02, 2017 1:27 am    Post subject: Reply with quote

Josef.95 wrote:
Hm, please try it with reduced Flags - normal all these packages build and works fine.

No go. I set all the make.conf flags back to the values they have in Stage-3 tarballs except for the architecture:
Code:
CFLAGS="-O2 -march=core2 -pipe"
CXXFLAGS="-O2 -march=core2 -pipe"
FFLAGS="-O2 -pipe"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"


Did an emerge -vae @installed and then tried emerging powerdevil. Had the same error.

Noted that many of the packages had messages about not finding kernel-configuration information needed for them to proceed (this is on a build host running building everything in a chroot; it had no configured kernel). So I grabbed the .config file for the host system build host, added a few more options in make menuconfig, and did a kernel make. It ought to have a good makefile at the /usr/src/linux symlink now!

Did a second emerge -vae @installed. Funny, it took just as long as the first one.

Emerged powerdevil. Still no joy--had the same error.

=====

Last night I tried something else. I tried reverting everything to GCC 4.9.4 to see if the error would happen then. There was a funny thing that happened on the way to that--which is not guaranteed to be possible in the first place: a couple of packages had failing emerges because they linker could not find the symbol __warn_memset_zero_len. I see that GCC 5 inserts this symbol automatically whereas GCC 4 did not. So now what was the stray indication that the builds should insert that test? After all, these packages had built sometime before with GCC 4 and had not had this problem.

My bet: there's some stray file hanging around the filesystem that is not getting eselected away with the compiler change. The ./configure for those package might sniff that stray file. I'm wondering if that is also behind the problem with powerdevil.

Whatever it was, last night after that abortive attempt to move back to GCC 4.9.4 that I went through the clear steps to move back to GCC 5. I had done that before I started that round following the suggestions of Josef.95.

I sure have been doing a lot of compiling lately. Good thing this is on a fast machine.
Back to top
View user's profile Send private message
miket
Guru
Guru


Joined: 28 Apr 2007
Posts: 400
Location: Gainesville, FL, USA

PostPosted: Tue Sep 05, 2017 4:46 am    Post subject: Reply with quote

Finally! I've found a way to get powerdevil to build correctly--and three more ways for things to fail

First thing I started out doing a couple of days ago was to try the keyworded GCC versions 6.3.0 and 6.4.0. In both cases I had a build error relatively early in the process; I never made it to powerdevil. For both versions I did an emerge -vae @installed after having done the normal steps for switching between GCC versions. I didn't want to go too far into having to debug these other problems since I was dealing with keyworded GCC versions that have a lot of bugs filed against them (both versions failed on the build for dev-util/ragel-6.7-r1, for what it's worth).

Finally I decided to go the radical route. I found an old stage-3 tarball with GCC 4.9.3, masked versions of GCC later than 4.9.4, and then rebuilt @system with the target set of USE flags and did a round of depclean, preserved-rebuild, and revdep-rebuild. So now I had an up-to-date close-to-stage3 system set with GCC 4.9.4 and the needed USE flags.

Now came a big emerge for @world set items--a few utilities plus plasma-meta. This one built, powerdevil and all! One of the elog messages pointed to problems with using an older version of GCC, but the linked bug report indicated this was a problem only when the user had mixed ABI's and was certainly not the case here.

So now I tried completing the circle: switch to GCC 5.4.0-r3 and do the big rebuild. This was now in a system that had never experienced a KDE upgrade, so things must now be pretty clean--I thought.

As it happened, powerdevil again failed to build with GCC 5.4.0-r3. Same error message. I may not have isolated the actual error, but now I know what neighborhood it lives in.

So now I ask: has anyone ever had success in building kde-plasma/powerdevil using GCC 5.4.0.r3?

I've heard that some people have had success with GCC 7. Sigh, maybe I'll try that.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 6165
Location: Austria

PostPosted: Tue Sep 05, 2017 6:45 am    Post subject: Reply with quote

miket wrote:
So now I ask: has anyone ever had success in building kde-plasma/powerdevil using GCC 5.4.0.r3?

Yes, everyone has.
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic
Back to top
View user's profile Send private message
fedeliallalinea
Bodhisattva
Bodhisattva


Joined: 08 Mar 2003
Posts: 18569
Location: here

PostPosted: Tue Sep 05, 2017 8:52 am    Post subject: Reply with quote

asturm wrote:
miket wrote:
So now I ask: has anyone ever had success in building kde-plasma/powerdevil using GCC 5.4.0.r3?

Yes, everyone has.

I confirm
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
miket
Guru
Guru


Joined: 28 Apr 2007
Posts: 400
Location: Gainesville, FL, USA

PostPosted: Wed Sep 06, 2017 5:17 pm    Post subject: Reply with quote

asturm wrote:
miket wrote:
So now I ask: has anyone ever had success in building kde-plasma/powerdevil using GCC 5.4.0.r3?

Yes, everyone has.

Now, I must say that comes off as a bit snarky, not to mention unprovable.

I made another run at it with the newest stage3 tarball and GCC 5.4.0-r3. Before emerging plasma-meta, I downgraded eudev to the last version I've been considering safe, 1.5.3-r1. According to the dependency calculation, this should work. It does work with GCC 4.9.4.

But not for GCC 5.4.0. Now I bit the bullet and tried emerging plasm-meta without downgrading eudev. This time it worked. The fatal combination seems to be eudev 1.5.3-r1, GCC 5.4.0-r3, and powerdevil.

So, happy times? No. The reason I've been keeping with eudev-1.5.3-r1 was that later versions require the CONFIG_FHANDLE kernel feature to be set. This enables the name_to_handle_at() and open_by_handle_at() system calls. I don't know about you, but I'm wary about them because of the potential for misuse. Indeed, there has been a known exploit in Docker using these syscalls. So far as I know, the only systems to use these calls are ZFS and some container solutions--and, yes, systemd wants them. Since I don't use any of those, I've been keeping the old eudev and not enabling CONFIG_FHANDLE.

I have been deceived. I thought that I would not get CONFIG_FHANDLE unless I enabled it, but nowadays it is enabled by default and considered to be a standard kernel feature. If I want to disable the setting again, I have to go through General Setup/Configure standard kernel features (expert users). Simply enabling that option seems to flip several other settings rather that just make a few options visible. Argh! I've been running kernels lately with that vulnerability enabled.

I suppose I could disable the feature directly in the .config file, but that always seems to be a risky thing to do.

Anyway, these musings about kernel configuration, the device notifier, and what to do about KDE 5 have nothing much to say about whether I can emerge powerdevil. Suffice it to say that it will build with GCC 5.4.0 if you aren't trying to make it work with an ancient eudev that still passes the dependency calculation.

So for me, I'm on to pay more attention to the hurricane that is coming my way. It'll be category 3 or 4, they say.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 6165
Location: Austria

PostPosted: Wed Sep 06, 2017 5:24 pm    Post subject: Reply with quote

miket wrote:
Now, I must say that comes off as a bit snarky, not to mention unprovable.

Not a single bug was raised since the very long time that powerdevil-5.10.0 was released (and there is no code diff to 5.10.4, and only small changes since 5.9 anyway).

I'm sorry to tell you that we can not test against/neither support eudev versions that were removed from portage on Mon Oct 12 2015.

I would also appreciate you adding info about any unsupported installed package versions in future bugs that you raise.
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic
Back to top
View user's profile Send private message
geki
Advocate
Advocate


Joined: 13 May 2004
Posts: 2280
Location: Germania

PostPosted: Sat Dec 23, 2017 7:45 pm    Post subject: Reply with quote

I have this issue currently with qtdeclarative's particlesplugin and qtgui throwing up on linking with that .......
I just removed qtgui from linker to succeed. That plugin luckily just needs qtgui header code. :twisted:

There is an upstream report[0][1] wrt gold linker. Any ideas?

[0] https://bugreports.qt.io/browse/QTBUG-63083
[1] https://codereview.qt-project.org/#/c/204936/3/recipes-qt/qt5/qtbase_git.bb,unified

My emerge info. (My default ld is ld.bfd.)
Code:
ld GNU ld (Gentoo 2.29.1 p3) 2.29.1
app-shells/bash:          4.4_p12::gentoo
dev-lang/perl:            5.26.1-r1::gentoo
dev-lang/python:          2.7.14-r1::gentoo, 3.5.4-r1::gentoo
dev-util/cmake:           3.10.1::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1-r2::gentoo
sys-apps/openrc:          0.17::geki
sys-apps/sandbox:         2.12::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.15.1-r1::gentoo
sys-devel/binutils:       2.29.1-r1::gentoo
sys-devel/gcc:            7.2.0::gentoo
sys-devel/gcc-config:     1.9.1::gentoo
sys-devel/libtool:        2.4.6-r4::gentoo
sys-devel/make:           4.2.1-r1::gentoo
sys-kernel/linux-headers: 4.14.2::geki (virtual/os-headers)
sys-libs/glibc:           2.26-r3::gentoo

_________________
boost|select libs to build|slotable|python-buildid

hear hear
Back to top
View user's profile Send private message
geki
Advocate
Advocate


Joined: 13 May 2004
Posts: 2280
Location: Germania

PostPosted: Sat Dec 23, 2017 8:03 pm    Post subject: Reply with quote

Maybe this. Time to rebuild?!
_________________
boost|select libs to build|slotable|python-buildid

hear hear
Back to top
View user's profile Send private message
geki
Advocate
Advocate


Joined: 13 May 2004
Posts: 2280
Location: Germania

PostPosted: Sat Dec 23, 2017 11:19 pm    Post subject: Reply with quote

Guess we have to wait for patches from Fedora to be applied in Gentoo's binutils or for binutils 2.30.

See my comment at https://bugs.gentoo.org/623566#c32
_________________
boost|select libs to build|slotable|python-buildid

hear hear
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum