libmbim-glib version with Debian Jessie

Aleksander Morgado aleksander at aleksander.es
Thu Sep 24 12:10:39 PDT 2015


On Thu, Sep 24, 2015 at 8:59 PM, Jean-Christian de Rivaz <jc at eclis.ch> wrote:
> I try to compile ModemManager git master on a Debian Jessie armhf. The
> configuration give two errors:
>
> checking for MBIM... no
> configure: error: Couldn't find libmbim-glib. Install it, or otherwise
> configure using --without-mbim to disable MBIM support.
>
> checking for QMI... no
> configure: error: Couldn't find libqmi-glib. Install it, or otherwise
> configure using --without-qmi to disable QMI support.
>
> This is strange because both dev packages was installed on the system:
>
> apt-cache policy libmbim-glib-dev libqmi-glib-dev
> libmbim-glib-dev:
>   Installed: 1.10.0-2.1
>   Candidate: 1.10.0-2.1
>   Version table:
>  *** 1.10.0-2.1 0
>         500 http://ftp.de.debian.org/debian/ jessie/main armhf Packages
>         100 /var/lib/dpkg/status
> libqmi-glib-dev:
>   Installed: 1.10.2-2
>   Candidate: 1.10.2-2
>   Version table:
>  *** 1.10.2-2 0
>         500 http://ftp.de.debian.org/debian/ jessie/main armhf Packages
>         100 /var/lib/dpkg/status
>
> At that time I don't think I need MBIM or QMI, so I configured with
> --without-mbim --without-qmi
>

It's the specific versions of the libraries required the failing thing.


> The build process was ok until this:
>
>   CC       sierra/libmm_plugin_sierra_la-mm-plugin-sierra.lo
> sierra/mm-plugin-sierra.c: In function 'create_modem':
> sierra/mm-plugin-sierra.c:75:5: error: implicit declaration of function
> 'mm_broadband_modem_new' [-Werror=implicit-function-declaration]
>      return MM_BASE_MODEM (mm_broadband_modem_new (sysfs_path,
>
> The function is declared here:
>
> src/mm-broadband-modem.h:MMBroadbandModem *mm_broadband_modem_new (const
> gchar *device,
>
> mm-plugin-sierra.c includes the header, but with a condition:
>
> #if defined WITH_MBIM
> #include "mm-broadband-modem-mbim.h"
> #endif
>

Oh, just include "mm-broadband-modem.h" there, before the #if defined.
No one really compiles without qmi/mbim that I know of, so that's just
a small bug which needs to be fixed.

> So after all, solving why checking for MBIM return no is required. So I
> searched the test into the configure script:
>
> pkg-config --exists --print-errors "mbim-glib >= 1.11.1"
> Requested 'mbim-glib >= 1.11.1' but version of mbim-glib is 1.10.0
>
> By curiosity, I changed the test to allow "mbim-glib >= 1.10.0". The the
> build end with this:
>
>   CC       ModemManager-mm-sms-mbim.o
> mm-sms-mbim.c: In function ‘sms_send_set_ready’:
> mm-sms-mbim.c:116:9: error: implicit declaration of function
> ‘mbim_message_response_get_result’ [-Werror=implicit-function-declaration]
>          mbim_message_response_get_result (response,
> MBIM_MESSAGE_TYPE_COMMAND_DONE, &error) &&
>

Well, of course that won't work, git master requires a newer libmbim.
We don't put the configure.ac min required versions of the libraries
just for fun... :)

> Conclusion: actual ModemManager git master is impossible to compile alone on
> a Debian Jessie.

Oh, well, that's hard to put it like that! If you had the last
libqmi/libmbims as well I'm sure you'd be able to compile it. But of
course it won't compile if you cheat the build modifying the min
required versions of the libraries in configure.ac! ;)

Anyway, for the sake of your issues with the serial ports not getting
closed, try with ModemManager 1.4.2 first, that should compile nicely.

-- 
Aleksander
https://aleksander.es


More information about the ModemManager-devel mailing list