Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 673890

Summary: media-sound/mixxx-2.2.0 src/util/battery/batterylinux.cpp: In member function 'virtual void BatteryLinux::read()': src/util/battery/batterylinux.cpp:35:26: error: 'up_client_get_devices2' was not declared in this scope
Product: Gentoo Linux Reporter: Simon <simon.vanderveldt+gentoo>
Component: Current packagesAssignee: Professional Audio Applications Maintainers <proaudio>
Status: RESOLVED INVALID    
Severity: normal CC: polynomial-c
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Simon 2018-12-28 14:08:53 UTC
Now the LV2 error is fixed I get the following compilation error when emerging mixxx:

> src/util/battery/batterylinux.cpp: In member function 'virtual void BatteryLinux::read()':
> src/util/battery/batterylinux.cpp:35:26: error: 'up_client_get_devices2' was not declared in this scope
>      GPtrArray* devices = up_client_get_devices2(client);
>                          ^~~~~~~~~~~~~~~~~~~~~~
> src/util/battery/batterylinux.cpp:35:26: note: suggested alternative: 'up_client_get_devices'
>     GPtrArray* devices = up_client_get_devices2(client);
>                           ^~~~~~~~~~~~~~~~~~~~~~
>                           up_client_get_devices
> scons: *** [lin64_build/util/battery/batterylinux.o] Error 1

USE flags are set as "ffmpeg hid mp3 -aac -doc -lv2% -mp4 -opus -shout -wavpack"
Comment 1 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2018-12-28 19:21:06 UTC
I have no idea what package provides up_client_get_devices2 and I cannot reproduce this issue on my ~arch dev machine even with your set of USE flags.
So I suppose this is most likely another issue caused by mixing stable and unstable packages...
Comment 2 Simon 2018-12-28 20:35:23 UTC
It seems to be part of the glib bindings for upower starting with 0.99.8, see https://gitlab.freedesktop.org/upower/upower/blob/UPOWER_0_99_8/libupower-glib/up-client.c#L101
That version seems to also be checked in the mixxx sources:
https://github.com/mixxxdj/mixxx/blob/2f1ac7150e3c9c7d94c05c05db2cd716ff0421d6/src/util/battery/batterylinux.cpp#L34

Looking at that code it seems mixxx should depend on the [introspection] USE flag for sys-power/upower when battery monitoring (https://github.com/mixxxdj/mixxx/blob/297d8803d96a7ae32853cb058304d72429ebeba1/SConstruct#L59) is enabled. Maybe a USE flag for enabling battery-monitoring is in order? I'm not sure.
It seems like UPower isn't used for anything else, see https://github.com/mixxxdj/mixxx/search?q=upower&unscoped_q=upower

P.S. You probably won't see the compilation error even with sys-power/upower[introspection] since the UPower ebuild in the gentoo tree seems to be correct, I'm using an ebuild from an overlay for UPower that doesn't include up_client_get_devices2 (yet) that's why I got the compilation failure.
Comment 3 Simon 2019-01-30 20:12:08 UTC
I think we can close this because it was caused by an incorrectly version upower in an overlay I was using. Sorry for the noise!