Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 695788 - kde-frameworks/networkmanager-qt stores pkg-config path information in KF5NetworkManagerQtTargets.cmake
Summary: kde-frameworks/networkmanager-qt stores pkg-config path information in KF5Net...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo KDE team
URL: https://gitlab.freedesktop.org/pkg-co...
Whiteboard: workaround: emerge -1 networkmanager-qt
Keywords:
: 695862 697120 698530 698894 698896 699056 699062 699088 701332 701540 709548 709588 709608 709680 709798 709810 709822 710360 710850 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-09-28 10:23 UTC by Franz Trischberger
Modified: 2020-04-27 14:03 UTC (History)
31 users (show)

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


Attachments
build.log (plasma-nm-5.16.5:20190928-091032.log,10.20 KB, text/plain)
2019-09-28 10:23 UTC, Franz Trischberger
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Franz Trischberger 2019-09-28 10:23:57 UTC
Created attachment 591200 [details]
build.log

Earlier today I got an update from libffi-3.2.1 to libffi-3.3_rc0 which is the reason for the non-existant include path. kde-frameworks/networmanager-qt  was not rebuilt automatically after libffi-update, it doesn't list libffi as a dependency.

=====

❯ emerge --info
Portage 2.3.69 (python 3.6.5-final-0, default/linux/amd64/17.0/desktop, gcc-8.3.0, glibc-2.29-r2, 4.19.66-gentoo x86_64)
=================================================================
System uname: Linux-4.19.66-gentoo-x86_64-Intel-R-_Core-TM-_i3-2350M_CPU_@_2.30GHz-with-gentoo-2.6
KiB Mem:     3877976 total,    453664 free
KiB Swap:    5242876 total,   4945636 free
Timestamp of repository gentoo: Sat, 28 Sep 2019 04:08:31 +0000
Head commit of repository gentoo: ce181dae4aba700a874804648f52d35787f4b15f

sh bash 4.4_p23-r1
ld GNU ld (Gentoo 2.32 p2) 2.32.0
distcc 3.3.3 x86_64-pc-linux-gnu [enabled]
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.15::gentoo, 3.6.5::gentoo
dev-util/cmake:           3.14.6::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.12.6-r2::gentoo, 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.20::gentoo (virtual/os-headers)
sys-libs/glibc:           2.29-r2::gentoo
Repositories:

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

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CC="clang"
CFLAGS="-march=sandybridge -mno-aes -O2 -pipe -ggdb"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /lib/modules /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 /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXX="clang++"
CXXFLAGS="-march=sandybridge -mno-aes -O2 -pipe -ggdb"
DISTDIR="/var/distfiles"
EMERGE_DEFAULT_OPTS="--quiet-build y --quiet-fail y --dynamic-deps 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 distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms split-log splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de de_DE"
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 --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi alsa amd64 apm berkdb branding bzip2 cairo cdda cdr cli crypt cups cxx dbus directfb dri dts dvd dvdr emboss encode exif fam ffmpeg flac fortran gdbm gif glamor gpm iconv icu infinality introspection ipv6 jpeg jpeg2k kipi lcdfilter lcms libtirpc linguas_de linguas_de_DE mad mmx mmxext mng mp3 mp4 mpeg multilib ncurses nls nptl ogg opengl openmp openrc pam pango pcre pdf png policykit ppds pulse pulseaudio readline sdl seccomp spell split-usr sse sse2 sse3 sse4 sse4_1 ssl ssse3 svg systemd tcpd theora threads tiff truetype udev udisks unicode upower usb vaapi vorbis vpx x264 xattr xcb xcomposite xml xscreensaver xv xvid zlib zsh-completion" 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="krita sheets stage words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" ENLIGHTENMENT_MODULES="appmenu backlight battery bluez4 clock conf conf-applications conf-bindings conf-comp conf-dialogs conf-display conf-interaction conf-intl conf-menus conf-paths conf-performance conf-randr conf-shelves conf-theme conf-wallpaper2 conf-window-manipulation conf-window-remembers connman contact cpufreq everything fileman fileman-opinfo gadman ibar ibox lokker mixer msgbus music-control notification pager pager16 pager-plain quickaccess shot start syscon systray tasks teamwork temperature tiling winlist wizard xkbswitch wl-desktop-shell wl-drm wl-fb wl-text-input wl-wl wl-x11 xwayland lua_targets_51 lua_targets_53" 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="wacom libinput" KERNEL="linux" L10N="de de-DE" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby24 ruby25" SANE_BACKENDS="epson epson2" USERLAND="GNU" 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, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Andreas Sturmlechner gentoo-dev 2019-09-29 10:41:15 UTC
(In reply to Franz Trischberger from comment #0)
> kde-frameworks/networmanager-qt  was not rebuilt automatically after
> libffi-update, it doesn't list libffi as a dependency.

That's because there is no such dependency. It looks like something is leaking this and other includes into the build.
Comment 2 Andreas Sturmlechner gentoo-dev 2019-09-29 12:30:37 UTC
*** Bug 695862 has been marked as a duplicate of this bug. ***
Comment 3 Andreas Sturmlechner gentoo-dev 2019-10-10 17:36:51 UTC
*** Bug 697120 has been marked as a duplicate of this bug. ***
Comment 4 Daiajo Tibdixious 2019-10-10 20:45:55 UTC
This hack allowed powerdevil to configure (the one in my tmp directory is the original)...

# diff $tmp/build/powerdevil/KF5NetworkManagerQtTargets.cmake /usr/lib64/cmake/KF5NetworkManagerQt/KF5NetworkManagerQtTargets.cmake
66c66
<   INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/KF5/NetworkManagerQt;/usr/include/libnm;/usr/include/glib-2.0;/usr/lib64/glib-2.0/include;/usr/lib64/libffi-3.2.1/include;/usr/include/libmount;/usr/include/blkid;/usr/include/uuid;${_IMPORT_PREFIX}/include/KF5"
---
>   INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/KF5/NetworkManagerQt;/usr/include/libnm;/usr/include/glib-2.0;/usr/lib64/glib-2.0/include;/usr/lib64/libffi-3.3_rc0/include;/usr/include/libmount;/usr/include/blkid;/usr/include/uuid;${_IMPORT_PREFIX}/include/KF5"
Comment 5 Daiajo Tibdixious 2019-10-10 20:46:59 UTC
Sorry diff got chopped

# diff $tmp/build/powerdevil/KF5NetworkManagerQtTargets.cmake /usr/lib64/cmake/KF5NetworkManagerQt/KF5NetworkManagerQtTargets.cmake
66c66
<   INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/KF5/NetworkManagerQt;/usr/include/libnm;/usr/include/glib-2.0;/usr/lib64/glib-2.0/include;/usr/lib64/libffi-3.2.1/include;/usr/include/libmount;/usr/include/blkid;/usr/include/uuid;${_IMPORT_PREFIX}/include/KF5"
---
>   INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/KF5/NetworkManagerQt;/usr/include/libnm;/usr/include/glib-2.0;/usr/lib64/glib-2.0/include;/usr/lib64/libffi-3.3_rc0/include;/usr/include/libmount;/usr/include/blkid;/usr/include/uuid;${_IMPORT_PREFIX}/include/KF5"
Comment 6 Franz Trischberger 2019-10-15 07:54:13 UTC
This comes from dev-libs/glib, through "/usr/lib64/pkgconfig/gobject-2.0.pc".
Removed the line "Requires.private: libffi >=  3.0.0", rebuilt networkmanager-qt and no libffi include dir anymore in "/usr/lib64/cmake/KF5NetworkManagerQt/KF5NetworkManagerQtTargets.cmake".
Comment 7 Andreas Sturmlechner gentoo-dev 2019-10-25 15:39:30 UTC
*** Bug 698530 has been marked as a duplicate of this bug. ***
Comment 8 Silvio 2019-10-26 21:09:44 UTC
I emerged 
emerge -1v networkmanager-qt
and everything goes fine now.
Comment 9 Andreas Sturmlechner gentoo-dev 2019-10-27 12:02:04 UTC
Seems to be a meson thing:

> --- dev-libs/glib-2.58.3-r1/image/usr/lib64/pkgconfig/gobject-2.0.pc
> +++ dev-libs/glib-2.60.7/image/usr/lib64/pkgconfig/gobject-2.0.pc
> @@ -1,12 +1,12 @@
>  prefix=/usr
> -exec_prefix=${prefix}
> -libdir=/usr/lib64
> +libdir=${prefix}/lib64
>  includedir=${prefix}/include
>  
>  Name: GObject
>  Description: GLib Type, Object, Parameter and Signal Library
> +Version: 2.60.7
>  Requires: glib-2.0
> -Version: 2.58.3
> +Requires.private: libffi >=  3.0.0
>  Libs: -L${libdir} -lgobject-2.0
> -Libs.private: -lffi 
> -Cflags:
> +Libs.private: -pthread
> +Cflags: -I${includedir}

Which is leading to this output:
> $ pkg-config --cflags libnm
> -I/usr/include/libnm -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi-3.3_rc1/include -pthread -I/usr/include/libmount -I/usr/include/blkid

Adding meson and glib maintainers.
Comment 10 Guy 2019-10-29 12:57:25 UTC
As per advice of comment #8 and with reference to bug #697120 this worked for me:

emerge -1v =networkmanager-qt-5.63.0 && emerge -1v =kde-plasma/powerdevil-5.17.1 && emerge -1v =kde-plasma/plasma-meta-5.17.1

I was able to successfully complete @world updates on 4 different computers.
Comment 11 Andreas Sturmlechner gentoo-dev 2019-10-30 08:37:45 UTC
*** Bug 698896 has been marked as a duplicate of this bug. ***
Comment 12 Andreas Sturmlechner gentoo-dev 2019-10-30 08:38:16 UTC
*** Bug 698894 has been marked as a duplicate of this bug. ***
Comment 13 Jeroen Roovers (RETIRED) gentoo-dev 2019-10-30 08:39:22 UTC
*** Bug 698894 has been marked as a duplicate of this bug. ***
Comment 14 Andreas Sturmlechner gentoo-dev 2019-10-30 08:48:43 UTC
Re-assigning, as the only thing we could do from kde proj's side is hacking the result, not the underlying problem.
Comment 15 Mike Gilbert gentoo-dev 2019-10-30 14:48:26 UTC
(In reply to Andreas Sturmlechner from comment #14)

If you feel meson is generating an incorrect pkgconfig file, please report it upstream. We are not doing anything special in Gentoo that would cause it.
Comment 16 Mike Gilbert gentoo-dev 2019-10-30 16:06:55 UTC
meson seems to be working as documented. I think you may have a tough time convincing meson upstream to change this.

https://mesonbuild.com/Pkgconfig-module.html#implicit-dependencies

Requires.private seems appropriate here, though the --cflags behavior is unfortunate. It's been documented in this FAQ for a long time.

https://people.freedesktop.org/~dbn/pkg-config-guide.html#faq

Possibly glib cloud abandon the meson pkgconfig module, and go back to generating custom pkgconfig files to avoid this.

As well, it could be argued that pkg-config output should not be cached into cmake files, since it becomes invalid any time a pkgconfig file in the dependency chain is updated.
Comment 17 Andreas Sturmlechner gentoo-dev 2019-10-31 20:34:13 UTC
*** Bug 699056 has been marked as a duplicate of this bug. ***
Comment 18 Jeroen Roovers (RETIRED) gentoo-dev 2019-11-01 05:05:50 UTC
*** Bug 699062 has been marked as a duplicate of this bug. ***
Comment 19 Jeroen Roovers (RETIRED) gentoo-dev 2019-11-01 11:21:48 UTC
*** Bug 699088 has been marked as a duplicate of this bug. ***
Comment 20 Mart Raudsepp gentoo-dev 2019-11-17 14:29:30 UTC
So what can gnome@ do here? Maybe someone that already studied all the details could go talk to glib upstream in https://gitlab.gnome.org/GNOME/glib/issues ?
Comment 21 Andreas Sturmlechner gentoo-dev 2019-11-27 15:19:25 UTC
*** Bug 701332 has been marked as a duplicate of this bug. ***
Comment 22 Mike Gilbert gentoo-dev 2019-11-27 19:08:10 UTC
I'm checking with the toolchain maintainers to see if we can move the libffi headers to a more stable location, which should avoid this problem.
Comment 23 Mike Gilbert gentoo-dev 2019-11-27 20:13:56 UTC
The real issue here seems to be that pkg-config information is getting stored into generated cmake files by various KDE framework packages. This information may become invalid at any time as packages are upgraded.

What is the purpose of this?
Comment 24 Andreas Sturmlechner gentoo-dev 2019-11-27 22:29:54 UTC
(In reply to Mike Gilbert from comment #23)
> into generated cmake files by various KDE framework packages.
Nope, exactly one Framework, networkmanager-qt and none else.
Comment 25 Larry the Git Cow gentoo-dev 2019-11-27 22:58:06 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=91330e1d176561bb267945a0142ef40e1a9d8295

commit 91330e1d176561bb267945a0142ef40e1a9d8295
Author:     Sergei Trofimovich <slyfox@gentoo.org>
AuthorDate: 2019-11-27 22:56:32 +0000
Commit:     Sergei Trofimovich <slyfox@gentoo.org>
CommitDate: 2019-11-27 22:57:59 +0000

    dev-libs/libffi: drop libffi version from includedir, bug #695788
    
    Posting ebuild source note as-is:
    
    ```
     --includedir= path maintains a few properties:
     1. have stable name across libffi versions: some packages like
        dev-lang/ghc or kde-frameworks/networkmanager-qt embed
        ${includedir} at build-time. Don't require those to be
        rebuilt unless SONAME changes. bug #695788
    
        We use /usr/.../${PN} (instead of former /usr/.../${P}).
    
     2. have ${ABI}-specific location as ffi.h is target-dependent.
    
        We use /usr/$(get_libdir)/... to have ABI identifier.
    ```
    
    Before the change libffi installed headers into:
        /usr/lib/libffi-3.3/include/
        /usr/lib64/libffi-3.3/include/
    After the change the patchs are:
        /usr/lib/libffi/include/
        /usr/lib64/libffi/include/
    
    Reported-by: Franz Trischberger
    Bug: https://bugs.gentoo.org/695788
    Package-Manager: Portage-2.3.79, Repoman-2.3.18
    Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>

 dev-libs/libffi/libffi-3.3-r1.ebuild | 83 ++++++++++++++++++++++++++++++++++++
 1 file changed, 83 insertions(+)
Comment 26 Andreas Sturmlechner gentoo-dev 2019-11-30 11:59:44 UTC
*** Bug 701540 has been marked as a duplicate of this bug. ***
Comment 27 Anton Bolshakov 2020-02-14 06:56:24 UTC
*** Bug 709548 has been marked as a duplicate of this bug. ***
Comment 28 Andreas Sturmlechner gentoo-dev 2020-02-14 10:25:57 UTC
*** Bug 709588 has been marked as a duplicate of this bug. ***
Comment 29 Andreas Sturmlechner gentoo-dev 2020-02-14 13:38:58 UTC
*** Bug 709608 has been marked as a duplicate of this bug. ***
Comment 30 Jeroen Roovers (RETIRED) gentoo-dev 2020-02-14 13:39:56 UTC
*** Bug 709608 has been marked as a duplicate of this bug. ***
Comment 31 Jeroen Roovers (RETIRED) gentoo-dev 2020-02-15 09:02:53 UTC
*** Bug 709680 has been marked as a duplicate of this bug. ***
Comment 32 Andreas Sturmlechner gentoo-dev 2020-02-16 10:24:31 UTC
*** Bug 709798 has been marked as a duplicate of this bug. ***
Comment 33 Stefano 2020-02-16 10:52:32 UTC
Confirmed the last two duplicate bugs happened to me as well, and that emerge -1 networkmanager-qt fixed them.
Comment 34 Jeroen Roovers (RETIRED) gentoo-dev 2020-02-16 14:29:06 UTC
*** Bug 709810 has been marked as a duplicate of this bug. ***
Comment 35 Andreas Sturmlechner gentoo-dev 2020-02-16 16:46:07 UTC
*** Bug 709822 has been marked as a duplicate of this bug. ***
Comment 36 Andreas Sturmlechner gentoo-dev 2020-02-21 02:23:00 UTC
*** Bug 710360 has been marked as a duplicate of this bug. ***
Comment 37 Andreas Sturmlechner gentoo-dev 2020-02-26 07:13:20 UTC
*** Bug 710850 has been marked as a duplicate of this bug. ***
Comment 38 Frederik Pfautsch 2020-04-27 14:03:18 UTC
Had this bug when emerging x11-libs/vte. Resolved it by re-emerging gobject-introspection (pkg-config gobject-introspection added the wrong include path of libffi to cflags)