[Solved] libmbim, libqmi, modemmanager - meson builds not working (21.02)

Hi,
Has anyone been able to build these packages in OpenWRT using the meson? I'm trying with libmbim first and here is my modified Makefile (same type of source location modification I usually had done in the past):

#
# Copyright (C) 2016 Velocloud Inc.
# Copyright (C) 2016 Aleksander Morgado <aleksander@aleksander.es>
#
# This is free software, licensed under the GNU General Public License v2.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=libmbim
PKG_VERSION:=1.27.4
PKG_RELEASE:=$(AUTORELEASE)

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=file:///home/build/build_dir/dl/
PKG_HASH:=a735593d8ff1d5a05fe05b4fc69b6357f0cf44bec30636746e3ecb34af00cd48

PKG_MAINTAINER:=Nicholas Smith <nicholas@nbembedded.com>
PKG_BUILD_DEPENDS:=meson/host

PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1

include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
include ../../devel/meson/meson.mk

CONFIGURE_ARGS += \
	--disable-static \
	--disable-gtk-doc \
	--disable-gtk-doc-html \
	--disable-gtk-doc-pdf \
	--disable-silent-rules \
	--enable-more-warnings=yes

define Package/libmbim
  SECTION:=libs
  CATEGORY:=Libraries
  DEPENDS:=+glib2
  TITLE:=Helper library and utils to talk to MBIM enabled modems
  URL:=https://www.freedesktop.org/wiki/Software/libmbim
  LICENSE:=LGPL-2.0-or-later
  LICENSE_FILES:=COPYING.LIB
endef

define Package/libmbim/description
  Helper library to talk to MBIM enabled modems.
  Add mbim-utils for extra utilities.
endef

define Package/mbim-utils
  SECTION:=utils
  CATEGORY:=Utilities
  DEPENDS:=+libmbim
  TITLE:=Utilities to talk to MBIM enabled modems
  URL:=https://www.freedesktop.org/wiki/Software/libmbim
  LICENSE:=GPL-2.0-or-later
  LICENSE_FILES:=COPYING
endef

CONFIGURE_ARGS += \
	--without-udev \
	--without-udev-base-dir

define Build/InstallDev
	$(INSTALL_DIR) $(1)/usr/include
	$(CP) \
		$(PKG_INSTALL_DIR)/usr/include/libmbim-glib \
		$(1)/usr/include/

	$(INSTALL_DIR) $(1)/usr/lib
	$(CP) \
		$(PKG_INSTALL_DIR)/usr/lib/libmbim*.so* \
		$(1)/usr/lib/

	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
	$(CP) \
		$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/mbim-glib.pc \
		$(1)/usr/lib/pkgconfig
endef

define Package/libmbim/install
	$(INSTALL_DIR) $(1)/usr/lib
	$(CP) \
		$(PKG_INSTALL_DIR)/usr/lib/libmbim*.so.* \
		$(1)/usr/lib/
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/mbim-proxy $(1)/usr/lib/
endef

define Package/mbim-utils/install
	$(INSTALL_DIR) $(1)/usr/bin
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mbimcli $(1)/usr/bin/
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mbim-network $(1)/usr/bin/
endef

$(eval $(call BuildPackage,libmbim))
$(eval $(call BuildPackage,mbim-utils))

Here is where it fails if I remove the or set MESON_ARGS (MESON_ARGS += -Dgtk_doc=false -Dintrospection=false -Dman=false -Dtests=false -Dbash_completion=false) or keep it and set Dintrospection=true :

OpenWrt-libtool: install: warning: remember to run `libtool --finish /usr/lib'
 make[2] -C /home/build/openwrt_packages/libs/glib2 clean-build
 make[2] -C /home/build/openwrt_packages/libs/glib2 compile
+ curl -f --connect-timeout 20 --retry 5 --location --insecure https://mirror.csclub.uwaterloo.ca/gnome/sources/glib/2.66/glib-2.66.4.tar.xz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 4724k  100 4724k    0     0   9.9M      0 --:--:-- --:--:-- --:--:--  9.9M
 make[2] -C /home/build/openwrt_packages/libs/libmbim clean-build
 make[2] -C /home/build/openwrt_packages/libs/libmbim compile
make[2]: *** [/home/build/build_dir/build_dir/target-x86_64_musl/libmbim-1.27.4/.configured_a17fb5ef857664f03cd0ce37cc5ea591] Error 1
    ERROR: package/feeds/packages/libmbim failed to build.
make[1]: *** [package/feeds/packages/libmbim/compile] Error 1
make -r package/libmbim/compile: build failed. Please re-run make with -j1 V=s or V=sc for a higher verbosity level to see what's going on
/home/build/build_dir/include/toplevel.mk:221: recipe for target 'package/libmbim/compile' failed
make: *** [package/libmbim/compile] Error 1
2

With

MESON_ARGS += -Dgtk_doc=false -Dintrospection=false -Dman=false -Dtests=false -Dbash_completion=false

in the Makefile, it fails with this error:

OpenWrt-libtool: install: warning: remember to run `libtool --finish /usr/lib'
 make[2] -C /home/build/openwrt_packages/libs/glib2 clean-build
 make[2] -C /home/build/openwrt_packages/libs/glib2 compile
+ curl -f --connect-timeout 20 --retry 5 --location --insecure https://mirror.csclub.uwaterloo.ca/gnome/sources/glib/2.66/glib-2.66.4.tar.xz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
 22 4724k   22 1039k    0     0  1382k      0  0:00:03 --:--:--  0:00:03 1382k
100 4724k  100 4724k    0     0  4920k      0 --:--:-- --:--:-- --:--:-- 4916k
 make[2] -C /home/build/openwrt_packages/libs/libmbim clean-build
 make[2] -C /home/build/openwrt_packages/libs/libmbim compile
install: cannot stat '/home/build/build_dir/build_dir/target-x86_64_musl/libmbim-1.27.4/ipkg-install/usr/lib/mbim-proxy': No such file or directory
make[2]: *** [/home/build/build_dir/build_dir/target-x86_64_musl/libmbim-1.27.4/.pkgdir/libmbim.installed] Error 1
    ERROR: package/feeds/packages/libmbim failed to build.
make[1]: *** [package/feeds/packages/libmbim/compile] Error 1
make -r package/libmbim/compile: build failed. Please re-run make with -j1 V=s or V=sc for a higher verbosity level to see what's going on
make: *** [package/libmbim/compile] Error 1
/home/build/build_dir/include/toplevel.mk:221: recipe for target 'package/libmbim/compile' failed
2
section_end:1639254204:step_script

Makefile with MESON_ARGS for reference:

#
# Copyright (C) 2016 Velocloud Inc.
# Copyright (C) 2016 Aleksander Morgado <aleksander@aleksander.es>
#
# This is free software, licensed under the GNU General Public License v2.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=libmbim
PKG_VERSION:=1.27.4
PKG_RELEASE:=$(AUTORELEASE)

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=file:///home/build/build_dir/dl/
PKG_HASH:=107a26a5aa0744bc7f1bf62bb4b68b65dc5c7de457813a562118d873c26ab516

PKG_MAINTAINER:=Nicholas Smith <nicholas@nbembedded.com>
PKG_BUILD_DEPENDS:=meson/host

PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1

include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
include ../../devel/meson/meson.mk

MESON_ARGS += -Dgtk_doc=false -Dintrospection=false -Dman=false -Dtests=false -Dbash_completion=false

CONFIGURE_ARGS += \
	--disable-static \
	--disable-gtk-doc \
	--disable-gtk-doc-html \
	--disable-gtk-doc-pdf \
	--disable-silent-rules \
	--enable-more-warnings=yes

define Package/libmbim
  SECTION:=libs
  CATEGORY:=Libraries
  DEPENDS:=+glib2
  TITLE:=Helper library and utils to talk to MBIM enabled modems
  URL:=https://www.freedesktop.org/wiki/Software/libmbim
  LICENSE:=LGPL-2.0-or-later
  LICENSE_FILES:=COPYING.LIB
endef

define Package/libmbim/description
  Helper library to talk to MBIM enabled modems.
  Add mbim-utils for extra utilities.
endef

define Package/mbim-utils
  SECTION:=utils
  CATEGORY:=Utilities
  DEPENDS:=+libmbim
  TITLE:=Utilities to talk to MBIM enabled modems
  URL:=https://www.freedesktop.org/wiki/Software/libmbim
  LICENSE:=GPL-2.0-or-later
  LICENSE_FILES:=COPYING
endef

CONFIGURE_ARGS += \
	--without-udev \
	--without-udev-base-dir

define Build/InstallDev
	$(INSTALL_DIR) $(1)/usr/include
	$(CP) \
		$(PKG_INSTALL_DIR)/usr/include/libmbim-glib \
		$(1)/usr/include/

	$(INSTALL_DIR) $(1)/usr/lib
	$(CP) \
		$(PKG_INSTALL_DIR)/usr/lib/libmbim*.so* \
		$(1)/usr/lib/

	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
	$(CP) \
		$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/mbim-glib.pc \
		$(1)/usr/lib/pkgconfig
endef

define Package/libmbim/install
	$(INSTALL_DIR) $(1)/usr/lib
	$(CP) \
		$(PKG_INSTALL_DIR)/usr/lib/libmbim*.so.* \
		$(1)/usr/lib/
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/mbim-proxy $(1)/usr/lib/
endef

define Package/mbim-utils/install
	$(INSTALL_DIR) $(1)/usr/bin
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mbimcli $(1)/usr/bin/
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mbim-network $(1)/usr/bin/
endef

$(eval $(call BuildPackage,libmbim))
$(eval $(call BuildPackage,mbim-utils))

Anyone able to provide info on this?

Meson is only supported in I think 22.03 and later

1 Like

OK, got all building correctly. Thanks

If your problem is solved, please consider marking this topic as [Solved]. See How to mark a topic as [Solved] for a short how-to.

Thanks!

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.