Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 642154 - >=sci-geosciences/gpsd-3.17 ignores USE=qt{4,5}, fails to build with USE=-cxx
Summary: >=sci-geosciences/gpsd-3.17 ignores USE=qt{4,5}, fails to build with USE=-cxx
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Sci-geo Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 632372
  Show dependency tree
 
Reported: 2017-12-24 17:41 UTC by Denny Page
Modified: 2017-12-28 21:24 UTC (History)
0 users

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


Attachments
gpsd-3.17-r1 emerge output (gpsd-3.17-r1.out,45.23 KB, text/plain)
2017-12-26 18:48 UTC, Denny Page
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Denny Page 2017-12-24 17:41:11 UTC
The new version of sci-geosciences/gpsd, 3.17-r1, seems to ignore use options found in /etc/portage/package.use. The prior version, 3.17, works correctly. This is most easily demonstrated with equery.


Contents of "/etc/portage/package.use/gpsd":
sci-geosciences/gpsd -X -cxx ntp GPSD_PROTOCOLS: nmea0183 ublox passthrough -aivdm -ashtech -earthmate -evermore -fv18 -garmin -garmintxt -gpsclock -isync -itrax -mtk3301 -navcom -ntrip -oceanserver -oncore -rtcm104v2 -rtcm104v3 -shm -sirf -skytraq -superstar2 -tnt -tripmate -tsip


Result of "equery uses sci-geosciences/gpsd-3.17":
 * Found these USE flags for sci-geosciences/gpsd-3.17:
 U I
 - - X                          : Add support for X11
 - - bluetooth                  : Enable Bluetooth Support
 - - cxx                        : Build support for C++ (bindings, extra libraries, code generation, ...)
 - - dbus                       : export gpsd data over dbus connections
 - - debug                      : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see
                                  https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
 - - gpsd_protocols_aivdm       : AIVDM protocol support
 - - gpsd_protocols_ashtech     : Ashtech protocol support
 - - gpsd_protocols_earthmate   : Earthmate protocol support
 - - gpsd_protocols_evermore    : EverMore protocol support
 - - gpsd_protocols_fury        : Jackson Labs Fury and Firefly support
 - - gpsd_protocols_fv18        : FV-18 protocol support
 - - gpsd_protocols_garmin      : Garmin protocol support
 - - gpsd_protocols_garmintxt   : Garmin Simple Text protocol support
 - - gpsd_protocols_geostar     : Geostar Protocol support
 - - gpsd_protocols_gpsclock    : GPSclock protocol support
 - - gpsd_protocols_isync       : Isync protocol support
 - - gpsd_protocols_itrax       : iTrax protocol support
 - - gpsd_protocols_mtk3301     : MTK-3301 protocol support
 - - gpsd_protocols_navcom      : Navcom protocol support
 + + gpsd_protocols_nmea0183    : NMEA protocol support
 - - gpsd_protocols_nmea2000    : NMEA2000/CAN support
 - - gpsd_protocols_ntrip       : NTRIP protocol support
 - - gpsd_protocols_oceanserver : OceanServer protocol support
 - - gpsd_protocols_oncore      : OnCore protocol support
 + + gpsd_protocols_passthrough : Pass through JSON data
 - - gpsd_protocols_rtcm104v2   : RTCM104V2 protocol support
 - - gpsd_protocols_rtcm104v3   : RTCM104V3 protocol support
 - - gpsd_protocols_sirf        : SiRF protocol support
 - - gpsd_protocols_skytraq     : Skytraq protocol support
 - - gpsd_protocols_superstar2  : SuperStarII protocol support
 - - gpsd_protocols_tnt         : True North protocol support
 - - gpsd_protocols_tripmate    : Tripmate protocol support
 - - gpsd_protocols_tsip        : Trimble TSIP protocol support
 + + gpsd_protocols_ublox       : U-Blox Protocol support
 + + ipv6                       : Add support for IP version 6
 - - latency_timing             : support latency timing information
 + + ncurses                    : Add ncurses support (console display library)
 + + ntp                        : Enable net-misc/ntp shared memory interface and PPS kernel support for GPS time
 - - python                     : Add optional support/bindings for the Python language
 + + python_targets_python2_7   : Build with Python 2.7
 - - qt4                        : Add support for the Qt GUI/Application Toolkit version 4.x
 + + shm                        : export gpsd over shared memory
 + + sockets                    : export gpsd over unix sockets
 - - static                     : !!do not set this during bootstrap!! Causes binaries to be statically linked instead of dynamically
 - - test                       : Workaround to pull in packages needed to run with FEATURES=test. Portage-2.1.2 handles this internally, so
                                  don't set it in make.conf/package.use anymore
 - - udev                       : Enable virtual/udev integration (device discovery, power and storage device support, etc)
 - - usb                        : Add USB support to applications that have optional USB support (e.g. cups)


Result of "equery uses sci-geosciences/gpsd-3.17-r1":
 * Found these USE flags for sci-geosciences/gpsd-3.17-r1:
 U I
 - + X                          : Add support for X11
 - - bluetooth                  : Enable Bluetooth Support
 - + cxx                        : Build support for C++ (bindings, extra libraries, code generation, ...)
 - - dbus                       : export gpsd data over dbus connections
 - - debug                      : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see
                                  https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
 - + gpsd_protocols_aivdm       : AIVDM protocol support
 - + gpsd_protocols_ashtech     : Ashtech protocol support
 - + gpsd_protocols_earthmate   : Earthmate protocol support
 - + gpsd_protocols_evermore    : EverMore protocol support
 - - gpsd_protocols_fury        : Jackson Labs Fury and Firefly support
 - + gpsd_protocols_fv18        : FV-18 protocol support
 - + gpsd_protocols_garmin      : Garmin protocol support
 - + gpsd_protocols_garmintxt   : Garmin Simple Text protocol support
 - - gpsd_protocols_geostar     : Geostar Protocol support
 - + gpsd_protocols_gpsclock    : GPSclock protocol support
 - + gpsd_protocols_isync       : Isync protocol support
 - + gpsd_protocols_itrax       : iTrax protocol support
 - + gpsd_protocols_mtk3301     : MTK-3301 protocol support
 - + gpsd_protocols_navcom      : Navcom protocol support
 + - gpsd_protocols_nmea0183    : NMEA protocol support
 - - gpsd_protocols_nmea2000    : NMEA2000/CAN support
 - + gpsd_protocols_ntrip       : NTRIP protocol support
 - + gpsd_protocols_oceanserver : OceanServer protocol support
 - + gpsd_protocols_oncore      : OnCore protocol support
 + - gpsd_protocols_passthrough : Pass through JSON data
 - + gpsd_protocols_rtcm104v2   : RTCM104V2 protocol support
 - + gpsd_protocols_rtcm104v3   : RTCM104V3 protocol support
 - + gpsd_protocols_sirf        : SiRF protocol support
 - + gpsd_protocols_skytraq     : Skytraq protocol support
 - + gpsd_protocols_superstar2  : SuperStarII protocol support
 - + gpsd_protocols_tnt         : True North protocol support
 - + gpsd_protocols_tripmate    : Tripmate protocol support
 - + gpsd_protocols_tsip        : Trimble TSIP protocol support
 + + gpsd_protocols_ublox       : U-Blox Protocol support
 + + ipv6                       : Add support for IP version 6
 - - latency_timing             : support latency timing information
 + + ncurses                    : Add ncurses support (console display library)
 + - ntp                        : Enable net-misc/ntp shared memory interface and PPS kernel support for GPS time
 - - python                     : Add optional support/bindings for the Python language
 + + python_targets_python2_7   : Build with Python 2.7
 - - qt5                        : Add support for the Qt 5 application and UI framework
 + - shm                        : export gpsd over shared memory
 + - sockets                    : export gpsd over unix sockets
 - - static                     : !!do not set this during bootstrap!! Causes binaries to be statically linked instead of dynamically
 - - test                       : Workaround to pull in packages needed to run with FEATURES=test. Portage-2.1.2 handles this internally, so
                                  don't set it in make.conf/package.use anymore
 - - udev                       : Enable virtual/udev integration (device discovery, power and storage device support, etc)
 - - usb                        : Add USB support to applications that have optional USB support (e.g. cups)
Comment 1 Andreas Sturmlechner gentoo-dev 2017-12-24 19:11:52 UTC
I don't see that, and nothing in the diff between 3.17 and -r1 would indicate any change other than qt4 -> qt5.

$ emerge -vp =gpsd-3.17-r1
Comment 2 Andreas Sturmlechner gentoo-dev 2017-12-24 19:15:08 UTC
$ grep -R gpsd /etc/portage/package.use
Comment 3 Denny Page 2017-12-26 05:03:49 UTC
marvin /etc/portage/package.use #  grep -R gpsd /etc/portage/package.use
/etc/portage/package.use/gpsd:sci-geosciences/gpsd -X -cxx ntp GPSD_PROTOCOLS: nmea0183 ublox passthrough -aivdm -ashtech -earthmate -evermore -fv18 -garmin -garmintxt -gpsclock -isync -itrax -mtk3301 -navcom -ntrip -oceanserver -oncore -rtcm104v2 -rtcm104v3 -shm -sirf -skytraq -superstar2 -tnt -tripmate -tsip
marvin /etc/portage/package.use #
Comment 4 Denny Page 2017-12-26 18:17:11 UTC
marvin ~ # emerge -vp =gpsd-3.17-r1

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ~] sci-geosciences/gpsd-3.17-r1:0/23::gentoo [3.17:0/23::gentoo] USE="ipv6 ncurses ntp shm sockets -X -bluetooth -cxx -dbus -debug -latency_timing -python -qt5% -static {-test} -udev -usb (-qt4%)" GPSD_PROTOCOLS="nmea0183 passthrough ublox -aivdm -ashtech -earthmate -evermore -fury -fv18 -garmin -garmintxt -geostar -gpsclock -isync -itrax -mtk3301 -navcom -nmea2000 -ntrip -oceanserver -oncore -rtcm104v2 -rtcm104v3 -sirf -skytraq -superstar2 -tnt -tripmate -tsip" PYTHON_TARGETS="python2_7" 0 KiB

Total: 1 package (1 upgrade), Size of downloads: 0 KiB
marvin ~ #
Comment 5 Denny Page 2017-12-26 18:48:13 UTC
Created attachment 511684 [details]
gpsd-3.17-r1 emerge output
Comment 6 Denny Page 2017-12-26 18:50:57 UTC
Pretty interesting, yes? Emerge -p says one thing, equery says another. And if you remove the -p from emerge, then it attempts to builds, but ignoring (at a minimum) the cxx use flag. It fails in c++ build/testing, which should not occur at all.

See attachment https://bugs.gentoo.org/attachment.cgi?id=511684
Comment 7 Denny Page 2017-12-26 19:24:51 UTC
It's triggered by the use of "qt_versioned=5" to scons. Without this option, it builds fine and with this option it fails building c++ code. "qt_versioned=4" works.
Comment 8 Denny Page 2017-12-26 20:13:36 UTC
The reason that "qt_versioned=4" works is because there there is no qt4 on the system. Scons explicitly checks for the existence of the specified libraries and disables qt if they are not present.
Comment 9 Andreas Sturmlechner gentoo-dev 2017-12-28 15:31:39 UTC
Thanks for your report. It seems that the libQgpsmm switch that was used for qt4 and qt5 simply is ignored if qt_versioned=5 is set _before_, and in addition to that, build of libQgpsmm requires cxx. I'm not prepared to dig deeper into scons - USE=cxx does not save any dep so off it goes, rather than adding REQUIRED_USE.
Comment 10 Larry the Git Cow gentoo-dev 2017-12-28 15:34:59 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5760ed4e60db223c25efdee994c99805648d9d11

commit 5760ed4e60db223c25efdee994c99805648d9d11
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2017-12-28 15:34:01 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2017-12-28 15:34:43 +0000

    sci-geosciences/gpsd: Drop USE=cxx, fix USE=qt5
    
    Closes: https://bugs.gentoo.org/642154
    Package-Manager: Portage-2.3.19, Repoman-2.3.6

 sci-geosciences/gpsd/gpsd-3.17-r1.ebuild | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
Comment 11 Denny Page 2017-12-28 18:38:56 UTC
Fix confirmed. Thank you.