Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Portage & Programming
  • Search

[solved]disable specific meson flags for 32bit package build

Problems with emerge or ebuilds? Have a basic programming question about C, PHP, Perl, BASH or something else?
Post Reply
Advanced search
8 posts • Page 1 of 1
Author
Message
shoober420
Apprentice
Apprentice
User avatar
Posts: 224
Joined: Mon May 22, 2017 1:03 am
Contact:
Contact shoober420
Website

[solved]disable specific meson flags for 32bit package build

  • Quote

Post by shoober420 » Fri Apr 30, 2021 10:45 pm

I'm trying to build a package that requires gobject-introspection enabled for the 64bit version, and disabled for the 32bit version. How can I apply this to the ebuild so that it will automatically disable gobject-introspection for the 32bit build?
Last edited by shoober420 on Sat May 01, 2021 6:01 pm, edited 1 time in total.
Top
Hu
Administrator
Administrator
Posts: 24386
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Sat May 01, 2021 12:50 am

Please clarify your requirements. Which of these do you want?
  1. Package foo has a DEPEND relation that enforces that the 64-bit build of gobject-introspection has USE=bar and that the 32-bit build of gobject-introspection has USE=-bar
  2. Package foo invokes its configure script (or equivalent) with --enable-gobject-introspection when building for 64-bit and with --disable-gobject-introspection when building for 32-bit
The former is not possible, as far as I know. However, it should not be necessary either. If gobject-introspection can be built with that flag for both architectures, your package should tolerate that. The latter is straightforward: inspect the active $ABI and configure accordingly. You might be able to use multilib_is_native_abi as a convenience, or one of the helpers built on that.
Top
shoober420
Apprentice
Apprentice
User avatar
Posts: 224
Joined: Mon May 22, 2017 1:03 am
Contact:
Contact shoober420
Website

  • Quote

Post by shoober420 » Sat May 01, 2021 1:13 am

I will need -Dintrospection=true for the 64bit build, and -Dintrospection=false for the 32bit. gobject-introspection 32bit doesnt exist on gentoo, and doesnt on most distros either. Here is the ebuild for reference.

Code: Select all

# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

GNOME_ORG_MODULE="NetworkManager"

inherit meson multilib-minimal

DESCRIPTION="Legacy NetworkManager glib and util libraries"
HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager"

if [[ ${PV} == 9999 ]]; then
        inherit git-r3
        EGIT_REPO_URI="https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git"
        EGIT_BRANCH="nm-1-18"
fi

LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="gnutls +nss"
REQUIRED_USE="|| ( nss gnutls )"
RESTRICT="test"

DEPEND="
	>=sys-apps/dbus-1.2[${MULTILIB_USEDEP}]
	>=dev-libs/dbus-glib-0.100[${MULTILIB_USEDEP}]
	>=dev-libs/glib-2.40:2[${MULTILIB_USEDEP}]
	net-libs/libndp[${MULTILIB_USEDEP}]
	sys-apps/util-linux[${MULTILIB_USEDEP}]
	>=virtual/libudev-175:=[${MULTILIB_USEDEP}]
	nss? ( >=dev-libs/nss-3.11:=[${MULTILIB_USEDEP}] )
	!nss? ( gnutls? (
		dev-libs/libgcrypt:0=[${MULTILIB_USEDEP}]
		>=net-libs/gnutls-2.12:=[${MULTILIB_USEDEP}] ) )
"

RDEPEND="
	${DEPEND}
	!<net-misc/networkmanager-1.19
"

BDEPEND="
	>=dev-util/intltool-0.40
	virtual/pkgconfig
"

multilib_src_configure() {
	local emesonargs=(
		-Dsystemdsystemunitdir=no
		-Dudev_dir=no
		-Ddbus_conf_dir="/etc/dbus-1/system.d"

		-Dsession_tracking_consolekit=false
		-Dsession_tracking=no
		-Dsuspend_resume=upower
		-Dpolkit=false
		-Dpolkit_agent=false
		-Dselinux=false
		-Dsystemd_journal=false
		-Dlibaudit=no

		-Dwext=false
		-Dwifi=false
		-Diwd=false
		-Dppp=false
		-Dmodem_manager=false
		-Dofono=false
		-Dconcheck=false
		-Dteamdctl=false
		-Dovs=false
		-Dlibnm_glib=true
		-Dnmcli=false
		-Dnmtui=false
		-Dbluez5_dun=false
		-Debpf=true

		-Dresolvconf=no
		-Dnetconfig=no

		-Ddhclient=no
		-Ddhcpcanon=no
		-Ddhcpcd=no

		-Dintrospection=true
		-Dvapi=true
		-Dtests=no
		-Dmore_asserts=no
		-Dmore_logging=false
		-Dvalgrind=no
		-Dlibpsl=false
		-Djson_validation=false
		-Dcrypto=$(usex nss nss gnutls)
		-Dqt=false
	)

	meson_src_configure
}

multilib_src_compile() {
	local targets=(
		libnm-util/libnm-util.so.2.7.0
		libnm-glib/libnm-glib.so.4.9.0
		libnm-glib/libnm-glib-vpn.so.1.2.0
	)

	meson_src_compile "${targets[@]}"
}

multilib_src_install() {
	dolib.so libnm-{glib,util}/libnm-*.so*[0-9]
}

multilib_src_install_all() {
	:
}
Top
Hu
Administrator
Administrator
Posts: 24386
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Sat May 01, 2021 3:43 am

Try -Dintrospection=$(if multilib_is_native_abi; then echo true; else echo false; fi). This will need inherit multilib-build if you do not already have that inherited, directly or indirectly.
Top
shoober420
Apprentice
Apprentice
User avatar
Posts: 224
Joined: Mon May 22, 2017 1:03 am
Contact:
Contact shoober420
Website

  • Quote

Post by shoober420 » Sat May 01, 2021 5:31 am

So that got the build a bit further. Now im getting this error.

Code: Select all

$ doas emerge -av =net-libs/libnm-glib-9999

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

Calculating dependencies  
 * IMPORTANT: 8 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.

... done!
[ebuild   R    ] net-libs/libnm-glib-9999::localrepo  USE="gnutls nss" ABI_X86="32 (64) (-x32)" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB

Would you like to merge these packages? [Yes/No] 
>>> Verifying ebuild manifests

>>> Emerging (1 of 1) net-libs/libnm-glib-9999::localrepo
>>> Unpacking source...
 * Repository id: NetworkManager_NetworkManager.git
 * To override fetched repository properties, use:
 *   EGIT_OVERRIDE_REPO_NETWORKMANAGER_NETWORKMANAGER
 *   EGIT_OVERRIDE_BRANCH_NETWORKMANAGER_NETWORKMANAGER
 *   EGIT_OVERRIDE_COMMIT_NETWORKMANAGER_NETWORKMANAGER
 *   EGIT_OVERRIDE_COMMIT_DATE_NETWORKMANAGER_NETWORKMANAGER
 * 
 * Fetching https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git ...
git fetch https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git +refs/heads/nm-1-18:refs/heads/nm-1-18
git symbolic-ref refs/git-r3/net-libs/libnm-glib/0/__main__ refs/heads/nm-1-18
 * Checking out https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git to /var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999 ...
git checkout --quiet nm-1-18
GIT update -->
   repository:               https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
   at the commit:            95709ab6dcc2c8b021de5d1e2a12b4d63041d684
>>> Source unpacked in /var/tmp/portage/net-libs/libnm-glib-9999/work
>>> Preparing source in /var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999 ...
 * abi_x86_32.x86: running multilib-minimal_abi_src_configure
meson setup --buildtype plain --libdir lib --localstatedir /var/lib --prefix /usr --sysconfdir /etc --wrap-mode nodownload --build.pkg-config-path /usr/share/pkgconfig:/usr/share/pkgconfig --pkg-config-path /usr/share/pkgconfig:/usr/share/pkgconfig --native-file /var/tmp/portage/net-libs/libnm-glib-9999/temp/meson.i686-pc-linux-gnu.x86.ini -Dsystemdsystemunitdir=no -Dudev_dir=no -Ddbus_conf_dir=/etc/dbus-1/system.d -Dsession_tracking_consolekit=false -Dsession_tracking=no -Dsuspend_resume=upower -Dpolkit=false -Dpolkit_agent=false -Dselinux=false -Dsystemd_journal=false -Dlibaudit=no -Dwext=false -Dwifi=false -Diwd=false -Dppp=false -Dmodem_manager=false -Dofono=false -Dconcheck=false -Dteamdctl=false -Dovs=false -Dlibnm_glib=true -Dnmcli=false -Dnmtui=false -Dbluez5_dun=false -Debpf=true -Dresolvconf=no -Dnetconfig=no -Ddhclient=no -Ddhcpcanon=no -Ddhcpcd=no -Dintrospection=false -Dvapi=false -Dtests=no -Dmore_asserts=no -Dmore_logging=false -Dvalgrind=no -Dlibpsl=false -Djson_validation=false -Dcrypto=nss -Dqt=false /var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999 /var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999-abi_x86_32.x86
DEPRECATION: c_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: c_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: cpp_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: cpp_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: fortran_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: fortran_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: objc_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: objc_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: objcpp_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: objcpp_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
The Meson build system
Version: 0.56.2
Source dir: /var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999
Build dir: /var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999-abi_x86_32.x86
Build type: native build
Project name: NetworkManager
Project version: 1.18.11
C compiler for the host machine: x86_64-pc-linux-gnu-gcc -m32 (gcc 10.3.0 "x86_64-pc-linux-gnu-gcc (Gentoo 10.3.0 p1) 10.3.0")
C linker for the host machine: x86_64-pc-linux-gnu-gcc -m32 ld.bfd 2.36.1
Host machine cpu family: x86
Host machine cpu: i686
Has header "sys/auxv.h" : YES 
Checking for function "getrandom" : YES 
Checking for function "secure_getenv" : YES 
Checking for function "__secure_getenv" : NO 
Checking for function "reallocarray" : YES 
Checking for function "explicit_bzero" : YES 
Checking for function "memfd_create" : NO 
Checking for size of "dev_t" : 8
Checking for size of "time_t" : 4
Checking for size of "pid_t" : 4
Checking for type "pid_t" : YES 
Compiler for C supports arguments -fdata-sections: YES 
Compiler for C supports arguments -ffunction-sections: YES 
WARNING: -Wl,--gc-sections looks like a linker argument, but has_argument and other similar methods only support checking compiler arguments. Using them to check linker arguments are never supported, and results are likely to be wrong regardless of the compiler you are using. has_link_argument or other similar method can be used instead.
Compiler for C supports arguments -Wl,--gc-sections: YES 
Found pkg-config: /usr/bin/x86_64-pc-linux-gnu-pkg-config (1.7.4)
Run-time dependency uuid found: YES 2.36.2
Found CMake: /usr/bin/cmake (3.20.2)
Run-time dependency libelogind found: NO (tried pkgconfig)
Run-time dependency libudev found: YES 243
Run-time dependency dbus-1 found: YES 1.13.18
Run-time dependency libndp found: YES 1.7
Run-time dependency jansson found: NO (tried pkgconfig)
Run-time dependency libsystemd found: NO (tried pkgconfig)
Run-time dependency libsystemd-login found: NO (tried pkgconfig)
Run-time dependency systemd found: NO (tried pkgconfig)
Run-time dependency gio-unix-2.0 found: YES 2.69.0
Run-time dependency gmodule-2.0 found: YES 2.69.0
Library dl found: YES
Run-time dependency dbus-glib-1 found: YES 0.110
Has header "linux/bpf.h" : YES 
Run-time dependency gnutls found: YES 3.7.1
Run-time dependency nss found: YES 3.64.0
Program iptables /sbin/iptables /usr/sbin/iptables found: NO
Program dnsmasq /sbin/dnsmasq /usr/sbin/dnsmasq found: NO
Program dnssec_trigger /usr/local/libexec/dnssec_trigger /usr/local/lib/dnssec_trigger /usr/local/lib/dnssec-trigger/dnssec_trigger /usr/libexec/dnssec_trigger /usr/lib/dnssec_trigger /usr/lib/dnssec-trigger/dnssec_trigger found: NO
Program /var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999/tools/run-nm-test.sh found: YES (/var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999/tools/run-nm-test.sh)
Program intltool-merge found: YES (/usr/bin/intltool-merge)
Program perl found: YES (/usr/bin/perl)
Program xsltproc found: YES (/usr/bin/xsltproc)
Program /var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999/tools/check-exports.sh found: YES (/var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999/tools/check-exports.sh)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Found pkg-config: /usr/bin/x86_64-pc-linux-gnu-pkg-config (1.7.4)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Configuring nm-version-macros.h using configuration
WARNING: Target "nm-utils/tests/test-shared-general" has a path separator in its name.
This is not supported, it can cause unexpected failures and will become
a hard error in the future.
Program glib-mkenums found: YES (/usr/bin/glib-mkenums)
Program glib-mkenums found: YES (/usr/bin/glib-mkenums)
../libnm-glib-9999/src/meson.build:294: WARNING: Custom target input '/var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999' can't be converted to File object(s).
This will become a hard error in the future.
Program /var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999/tools/check-config-options.sh found: YES (/var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999/tools/check-config-options.sh)
WARNING: Project targeting '>= 0.44.0' but tried to use feature introduced in '0.50.0': install arg in configure_file.
Configuring org.freedesktop.nm_dispatcher.service using configuration
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Configuring settings-docs.h using configuration
../libnm-glib-9999/clients/common/meson.build:46: WARNING: Got an empty configuration_data() object and found no substitutions in the input file 'settings-docs.h.in'. If you want to copy a file to the build dir, use the 'copy:' keyword argument added in 0.47.0
Configuring server.conf using configuration
Program glib-mkenums found: YES (/usr/bin/glib-mkenums)
Program dbus-binding-tool found: YES (/usr/bin/dbus-binding-tool)
Program glib-mkenums found: YES (/usr/bin/glib-mkenums)
Program glib-mkenums found: YES (/usr/bin/glib-mkenums)
Configuring config.h using configuration
Configuring config-extra.h using configuration
Program tools/meson-post-install.sh found: YES (/var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999/tools/meson-post-install.sh)
Message: 
System paths:
  prefix: /usr
  exec_prefix: /usr
  systemdunitdir: no
  nmbinary: /usr/sbin/NetworkManager
  nmconfdir: /etc/NetworkManager
  nmlibdir: /usr/lib/NetworkManager
  nmdatadir: /usr/share/NetworkManager
  nmstatedir: /var/lib/lib/NetworkManager
  nmrundir: /var/lib/run/NetworkManager
  nmvpndir: /usr/lib/NetworkManager
  nmplugindir: /usr/lib/NetworkManager/1.18.11
  system-ca-path: /etc/ssl/certs

Platform:
  session tracking: 
  suspend/resume: upower
  policykit: false
  polkit agent: false
  selinux: false
  systemd-journald: false (default: logging.backend=syslog)
  hostname persist: default
  libaudit: false (default: logging.audit=false)

Features:
  wext: false
  wifi: false
  iwd:  false
  pppd: false
  modemmanager-1: false
  ofono: false
  concheck: false
  libteamdctl: false
  ovs: false
  libnm-glib: true
  nmcli: false
  nmtui: false

Configuration_plugins (main.plugins=)
  ibft: false
  ifcfg-rh: false
  ifupdown: false

Handlers for /etc/resolv.conf:
  resolvconf: false
  netconfig: false

  config-dns-rc-manager-default: symlink

DHCP clients (default internal):
  dhclient: false
  dhcpcd: false
  dhcpcanon: false


Miscellaneous:
  have introspection: false
  build documentation and manpages: false
  tests: no
  more-asserts: 0
  more-logging: false
  warning-level: 1
  valgrind: false
  code coverage: false
  LTO: false
  Linker garbage collection: true
  JSON validation for libnm: false
  crypto: nss (have-gnutls: true, have-nss: true)
  sanitizers: none
  Mozilla Public Suffix List: false
  vapi: false
  ebpf: true

Build targets in project: 212
WARNING: Project specifies a minimum meson_version '>= 0.44.0' but uses features which were added in newer versions:
 * 0.50.0: {'install arg in configure_file'}

Option buildtype is: plain [default: debugoptimized]
Found ninja-1.10.2 at /usr/bin/ninja
 * abi_x86_64.amd64: running multilib-minimal_abi_src_configure
meson setup --buildtype plain --libdir lib64 --localstatedir /var/lib --prefix /usr --sysconfdir /etc --wrap-mode nodownload --build.pkg-config-path /usr/share/pkgconfig --pkg-config-path /usr/share/pkgconfig --native-file /var/tmp/portage/net-libs/libnm-glib-9999/temp/meson.x86_64-pc-linux-gnu.amd64.ini -Dsystemdsystemunitdir=no -Dudev_dir=no -Ddbus_conf_dir=/etc/dbus-1/system.d -Dsession_tracking_consolekit=false -Dsession_tracking=no -Dsuspend_resume=upower -Dpolkit=false -Dpolkit_agent=false -Dselinux=false -Dsystemd_journal=false -Dlibaudit=no -Dwext=false -Dwifi=false -Diwd=false -Dppp=false -Dmodem_manager=false -Dofono=false -Dconcheck=false -Dteamdctl=false -Dovs=false -Dlibnm_glib=true -Dnmcli=false -Dnmtui=false -Dbluez5_dun=false -Debpf=true -Dresolvconf=no -Dnetconfig=no -Ddhclient=no -Ddhcpcanon=no -Ddhcpcd=no -Dintrospection=true -Dvapi=true -Dtests=no -Dmore_asserts=no -Dmore_logging=false -Dvalgrind=no -Dlibpsl=false -Djson_validation=false -Dcrypto=nss -Dqt=false /var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999 /var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999-abi_x86_64.amd64
DEPRECATION: c_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: c_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: cpp_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: cpp_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: fortran_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: fortran_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: objc_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: objc_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: objcpp_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: objcpp_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
The Meson build system
Version: 0.56.2
Source dir: /var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999
Build dir: /var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999-abi_x86_64.amd64
Build type: native build
Project name: NetworkManager
Project version: 1.18.11
C compiler for the host machine: x86_64-pc-linux-gnu-gcc (gcc 10.3.0 "x86_64-pc-linux-gnu-gcc (Gentoo 10.3.0 p1) 10.3.0")
C linker for the host machine: x86_64-pc-linux-gnu-gcc ld.bfd 2.36.1
Host machine cpu family: x86_64
Host machine cpu: x86_64
Has header "sys/auxv.h" : YES 
Checking for function "getrandom" : YES 
Checking for function "secure_getenv" : YES 
Checking for function "__secure_getenv" : NO 
Checking for function "reallocarray" : YES 
Checking for function "explicit_bzero" : YES 
Checking for function "memfd_create" : NO 
Checking for size of "dev_t" : 8
Checking for size of "time_t" : 8
Checking for size of "pid_t" : 4
Checking for type "pid_t" : YES 
Compiler for C supports arguments -fdata-sections: YES 
Compiler for C supports arguments -ffunction-sections: YES 
WARNING: -Wl,--gc-sections looks like a linker argument, but has_argument and other similar methods only support checking compiler arguments. Using them to check linker arguments are never supported, and results are likely to be wrong regardless of the compiler you are using. has_link_argument or other similar method can be used instead.
Compiler for C supports arguments -Wl,--gc-sections: YES 
Found pkg-config: /usr/bin/x86_64-pc-linux-gnu-pkg-config (1.7.4)
Run-time dependency uuid found: YES 2.36.2
Found CMake: /usr/bin/cmake (3.20.2)
Run-time dependency libelogind found: NO (tried pkgconfig and cmake)
Run-time dependency libudev found: YES 243
Run-time dependency dbus-1 found: YES 1.13.18
Run-time dependency libndp found: YES 1.7
Run-time dependency jansson found: NO (tried pkgconfig and cmake)
Run-time dependency libsystemd found: NO (tried pkgconfig and cmake)
Run-time dependency libsystemd-login found: NO (tried pkgconfig and cmake)
Run-time dependency systemd found: NO (tried pkgconfig and cmake)
Run-time dependency gio-unix-2.0 found: YES 2.69.0
Run-time dependency gmodule-2.0 found: YES 2.69.0
Library dl found: YES
Run-time dependency gobject-introspection-1.0 found: YES 1.68.0
Run-time dependency dbus-glib-1 found: YES 0.110
Has header "linux/bpf.h" : YES 
Run-time dependency gnutls found: YES 3.7.1
Run-time dependency nss found: YES 3.64.0
Program iptables /sbin/iptables /usr/sbin/iptables found: NO
Program dnsmasq /sbin/dnsmasq /usr/sbin/dnsmasq found: NO
Program dnssec_trigger /usr/local/libexec/dnssec_trigger /usr/local/lib/dnssec_trigger /usr/local/lib/dnssec-trigger/dnssec_trigger /usr/libexec/dnssec_trigger /usr/lib/dnssec_trigger /usr/lib/dnssec-trigger/dnssec_trigger found: NO
Compiler for language vala for the build machine not found.
Compiler for language vala for the host machine not found.

../libnm-glib-9999/meson.build:778:4: ERROR: Assert failed: vala is required to build. Use -Dvapi=false to disable it

A full log can be found at /var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999-abi_x86_64.amd64/meson-logs/meson-log.txt
 * ERROR: net-libs/libnm-glib-9999::localrepo failed (configure phase):
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line  125:  Called src_configure
 *   environment, line 3158:  Called multilib-minimal_src_configure
 *   environment, line 2244:  Called multilib_foreach_abi 'multilib-minimal_abi_src_configure'
 *   environment, line 2497:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *   environment, line 2174:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *   environment, line 2172:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure'
 *   environment, line  723:  Called multilib-minimal_abi_src_configure
 *   environment, line 2238:  Called multilib_src_configure
 *   environment, line 2715:  Called meson_src_configure
 *   environment, line 2106:  Called die
 * The specific snippet of code:
 *       "${mesonargs[@]}" ) || die
 * 
 * If you need support, post the output of `emerge --info '=net-libs/libnm-glib-9999::localrepo'`,
 * the complete build log and the output of `emerge -pqv '=net-libs/libnm-glib-9999::localrepo'`.
 * The complete build log is located at '/var/tmp/portage/net-libs/libnm-glib-9999/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/net-libs/libnm-glib-9999/temp/environment'.
 * Working directory: '/var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999-abi_x86_64.amd64'
 * S: '/var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999'

>>> Failed to emerge net-libs/libnm-glib-9999, Log file:

>>>  '/var/tmp/portage/net-libs/libnm-glib-9999/temp/build.log'
 * Messages for package net-libs/libnm-glib-9999:
 * ERROR: net-libs/libnm-glib-9999::localrepo failed (configure phase):
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line  125:  Called src_configure
 *   environment, line 3158:  Called multilib-minimal_src_configure
 *   environment, line 2244:  Called multilib_foreach_abi 'multilib-minimal_abi_src_configure'
 *   environment, line 2497:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *   environment, line 2174:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *   environment, line 2172:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure'
 *   environment, line  723:  Called multilib-minimal_abi_src_configure
 *   environment, line 2238:  Called multilib_src_configure
 *   environment, line 2715:  Called meson_src_configure
 *   environment, line 2106:  Called die
 * The specific snippet of code:
 *       "${mesonargs[@]}" ) || die
 * 
 * If you need support, post the output of `emerge --info '=net-libs/libnm-glib-9999::localrepo'`,
 * the complete build log and the output of `emerge -pqv '=net-libs/libnm-glib-9999::localrepo'`.
 * The complete build log is located at '/var/tmp/portage/net-libs/libnm-glib-9999/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/net-libs/libnm-glib-9999/temp/environment'.
 * Working directory: '/var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999-abi_x86_64.amd64'
 * S: '/var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999'
I tried to put "-Dvapi=$(if multilib_is_native_abi; then echo true; else echo false; fi)", but that surprisingly didnt work. I thought it would. I need to disable -Dvapi on the 32bit version as well, since vala 32bit is not available on gentoo and most distros. What can I do to have -Dvapi behave like -Dintrospection?
Top
Hu
Administrator
Administrator
Posts: 24386
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Sat May 01, 2021 3:56 pm

shoober420 wrote:

Code: Select all

 * abi_x86_32.x86: running multilib-minimal_abi_src_configure
meson setup --buildtype plain --libdir lib --localstatedir /var/lib --prefix /usr --sysconfdir /etc --wrap-mode nodownload --build.pkg-config-path /usr/share/pkgconfig:/usr/share/pkgconfig --pkg-config-path /usr/share/pkgconfig:/usr/share/pkgconfig --native-file /var/tmp/portage/net-libs/libnm-glib-9999/temp/meson.i686-pc-linux-gnu.x86.ini -Dsystemdsystemunitdir=no -Dudev_dir=no -Ddbus_conf_dir=/etc/dbus-1/system.d -Dsession_tracking_consolekit=false -Dsession_tracking=no -Dsuspend_resume=upower -Dpolkit=false -Dpolkit_agent=false -Dselinux=false -Dsystemd_journal=false -Dlibaudit=no -Dwext=false -Dwifi=false -Diwd=false -Dppp=false -Dmodem_manager=false -Dofono=false -Dconcheck=false -Dteamdctl=false -Dovs=false -Dlibnm_glib=true -Dnmcli=false -Dnmtui=false -Dbluez5_dun=false -Debpf=true -Dresolvconf=no -Dnetconfig=no -Ddhclient=no -Ddhcpcanon=no -Ddhcpcd=no -Dintrospection=false -Dvapi=false -Dtests=no -Dmore_asserts=no -Dmore_logging=false -Dvalgrind=no -Dlibpsl=false -Djson_validation=false -Dcrypto=nss -Dqt=false /var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999 /var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999-abi_x86_32.x86
shoober420 wrote:

Code: Select all

Miscellaneous:
  vapi: false
shoober420 wrote:

Code: Select all

 * abi_x86_64.amd64: running multilib-minimal_abi_src_configure
meson setup --buildtype plain --libdir lib64 --localstatedir /var/lib --prefix /usr --sysconfdir /etc --wrap-mode nodownload --build.pkg-config-path /usr/share/pkgconfig --pkg-config-path /usr/share/pkgconfig --native-file /var/tmp/portage/net-libs/libnm-glib-9999/temp/meson.x86_64-pc-linux-gnu.amd64.ini -Dsystemdsystemunitdir=no -Dudev_dir=no -Ddbus_conf_dir=/etc/dbus-1/system.d -Dsession_tracking_consolekit=false -Dsession_tracking=no -Dsuspend_resume=upower -Dpolkit=false -Dpolkit_agent=false -Dselinux=false -Dsystemd_journal=false -Dlibaudit=no -Dwext=false -Dwifi=false -Diwd=false -Dppp=false -Dmodem_manager=false -Dofono=false -Dconcheck=false -Dteamdctl=false -Dovs=false -Dlibnm_glib=true -Dnmcli=false -Dnmtui=false -Dbluez5_dun=false -Debpf=true -Dresolvconf=no -Dnetconfig=no -Ddhclient=no -Ddhcpcanon=no -Ddhcpcd=no -Dintrospection=true -Dvapi=true -Dtests=no -Dmore_asserts=no -Dmore_logging=false -Dvalgrind=no -Dlibpsl=false -Djson_validation=false -Dcrypto=nss -Dqt=false /var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999 /var/tmp/portage/net-libs/libnm-glib-9999/work/libnm-glib-9999-abi_x86_64.amd64
../libnm-glib-9999/meson.build:778:4: ERROR: Assert failed: vala is required to build. Use -Dvapi=false to disable it
I tried to put "-Dvapi=$(if multilib_is_native_abi; then echo true; else echo false; fi)", but that surprisingly didnt work. I thought it would. I need to disable -Dvapi on the 32bit version as well, since vala 32bit is not available on gentoo and most distros. What can I do to have -Dvapi behave like -Dintrospection?
As I read that output, you successfully disabled vapi for 32-bit build, and enabled it for 64-bit build. Then your 64-bit build failed, because you do not have an acceptable vala in 64-bit mode.
Top
shoober420
Apprentice
Apprentice
User avatar
Posts: 224
Joined: Mon May 22, 2017 1:03 am
Contact:
Contact shoober420
Website

  • Quote

Post by shoober420 » Sat May 01, 2021 5:59 pm

Oh my goodness, I thought I had it installed. When I ran emerge it said "R", which i thought meant reinstall, but I guess I actually didnt have it anyway. Thank you so much for the help Hu.
Top
Hu
Administrator
Administrator
Posts: 24386
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Sat May 01, 2021 7:13 pm

R is a reinstall. Perhaps it was installed, but broken, or you had a vala that was not the right version for this package. I see that vala is heavily slotted. I don't see dev-lang/vala in your DEPEND above, so Portage would allow this ebuild to go ahead without an installed vala. Based on your recent output, that probably would fail to build.
Top
Post Reply

8 posts • Page 1 of 1

Return to “Portage & Programming”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic