Bug 100178

Summary: Build error starting at commit: 8c331291
Product: ModemManager Reporter: Garratt Gallagher <garratt>
Component: generalAssignee: ModemManager bug user <modemmanager>
Status: RESOLVED WORKSFORME QA Contact:
Severity: normal    
Priority: medium CC: dcbw
Version: git master   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: attachment-4408-0.html

Description Garratt Gallagher 2017-03-13 05:12:13 UTC
Build error starting at commit: 8c331291

I'm building ModemManager from master, with libqmi @HEAD: (c74bfcb5f6b)

but starting with commit 8c331291: bearer-qmi: add WDS event reporting support
I get errors in the build:

....
  CC       ModemManager-mm-bearer-qmi.o
mm-bearer-qmi.c:856:29: error: unknown type name ‘QmiIndicationWdsEventReportOutput’
                             QmiIndicationWdsEventReportOutput *output,
                             ^
mm-bearer-qmi.c: In function ‘connect_enable_indications_ready’:
mm-bearer-qmi.c:868:5: error: unknown type name ‘QmiMessageWdsSetEventReportOutput’
     QmiMessageWdsSetEventReportOutput *output;
     ^
mm-bearer-qmi.c:871:5: error: implicit declaration of function ‘qmi_client_wds_set_event_report_finish’ [-Werror=implicit-function-declaration]
     output = qmi_client_wds_set_event_report_finish (client, res, error);
     ^
mm-bearer-qmi.c:871:12: error: assignment makes pointer from integer without a cast [-Werror]
     output = qmi_client_wds_set_event_report_finish (client, res, error);
            ^
... (more errors)


To reproduce my build environment, using stock ubuntu 14.04:
sudo apt-get install -y libmount-dev libudev-dev flex bison python-dev intltool xsltproc vim zlib1g-dev git gtk-doc-tools

From packages on freedesktop.org:
install (./configure; make; sudo make install):
 libffi-3.2.1
 glib-2.50.2 (using ./configure --with-pcre=internal)
 libgudev-230
 libmbim-1.14.0  
 gettext-0.19.3 (with ./configure --prefix="/usr")
 gobject-introspection-1.50.0
with libqmi @HEAD: (c74bfcb5f6b)
Then, ModemManager at 8c331291 has the above errors.

If I checkout the previous commit, 7a048acd4, everything builds fine.

Where do you find the definition of QmiIndicationWdsEventReportOutput?
I have run a search in libqmi:
git log -p --all -GQmiIndicationWdsEventReportOutput
and have not found any reference.

Thanks!
Comment 1 Aleksander Morgado 2017-03-13 08:57:41 UTC
Looks to me that you may be trying to build ModemManager with the wrong libqmi version.

You said you are using libqmi from git master, but where did you install it? Did you configure with a specific --prefix, or did you just ignore --prefix? In the latter case, libqmi would be installed in /usr/local. And if so, you most likely need to set PKG_CONFIG_PATH=/usr/local/lib/pkgconfig  before configuring ModemManager; in short:

$ cd ${somedir}/libqmi
$ NOCONFIGURE=1 ./autogen.sh
$ ./configure && make && sudo make install

$ cd ${somedir}/ModemManager
$ NOCONFIGURE=1 ./autogen.sh
$ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure && make && sudo make install

Alternatively, you could try to use --prefix=/usr or whatever the default prefix/libdir/bindir options in Ubuntu are.

I've now bumped the libqmi requirement in ModemManager to 1.17.900, which is the first tag that supports "QMI WDS Event Report Indication" messages; by doing this you would get an error during configure, not during make.

BTW: the support for the messages is auto-generated during build from the message database we have in /data; that's why you didn't find it during the grep most likely.

Will resolve this as WFM, as the jenkins builds are also all shiny in https://jenkins.modemmanager.org/job/ModemManager/.
Comment 2 Aleksander Morgado 2017-03-13 09:03:45 UTC
BTW; I do maintain an unofficial Ubuntu 14.04 PPA for libmbim, libqmi and ModemManager, where I sometimes push the latest versions of them. In particular, you have libqmi 1.17.900 packaged there, so you may want to use that one instead of building your own ;)

https://launchpad.net/~aleksander-m/+archive/ubuntu/modemmanager-trusty

I should spend some time and rebuild git master versions of all packages in the PPAs, I probably want everyone to play with MM git master already.
Comment 3 Garratt Gallagher 2017-03-15 20:51:25 UTC
Created attachment 130239 [details]
attachment-4408-0.html

That helped, thanks!

On Mon, Mar 13, 2017 at 2:03 AM, <bugzilla-daemon@freedesktop.org> wrote:

> *Comment # 2 <https://bugs.freedesktop.org/show_bug.cgi?id=100178#c2> on
> bug 100178 <https://bugs.freedesktop.org/show_bug.cgi?id=100178> from
> Aleksander Morgado <aleksander@aleksander.es> *
>
> BTW; I do maintain an unofficial Ubuntu 14.04 PPA for libmbim, libqmi and
> ModemManager, where I sometimes push the latest versions of them. In
> particular, you have libqmi 1.17.900 packaged there, so you may want to use
> that one instead of building your own ;)
> https://launchpad.net/~aleksander-m/+archive/ubuntu/modemmanager-trusty
>
> I should spend some time and rebuild git master versions of all packages in the
> PPAs, I probably want everyone to play with MM git master already.
>
> ------------------------------
> You are receiving this mail because:
>
>    - You reported the bug.
>
>

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.