Jump to content
Read the Funtoo Newsletter: Summer 2023 ×
  • 0

systemd dep has crept into gvfs (meson.build ?), dep on missing Funtoo pkg 'goa'


russtopia

Question

Hi, whilst trying to upgrade @world on my Funtoo system with "-systemd", I now hit a failure to emerge new gvfs.

There appear to be multiple errors in the current ebuild (gvfs-1.38.1) which render it inoperable for a systemd-free build:

 

Quote

Calculating dependencies  .... done!

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) gnome-base/gvfs-1.38.1::gnome-kit
 * gvfs-1.38.1.tar.xz SHA512 size ? ...                                [ ok ]
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_COLLATE = "C",
    LC_MESSAGES = "C",
    LANG = "en_CA.iso88591"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
>>> cfg-update-1.8.2-r1: Checksum index is up-to-date ...
>>> Unpacking source...
>>> Unpacking gvfs-1.38.1.tar.xz to /var/tmp/portage/gnome-base/gvfs-1.38.1/work
>>> Source unpacked in /var/tmp/portage/gnome-base/gvfs-1.38.1/work
>>> Preparing source in /var/tmp/portage/gnome-base/gvfs-1.38.1/work/gvfs-1.38.1 ...
 * Applying gvfs-1.30.2-sysmacros.patch ...
 [ ok ]
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/gnome-base/gvfs-1.38.1/work/gvfs-1.38.1 ...
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
locale: Cannot set LC_CTYPE to default locale: No such file or directory
meson --buildtype plain --libdir lib64 --localstatedir /var/lib --prefix /usr --sysconfdir /etc --wrap-mode nodownload /var/tmp/portage/gnome-base/gvfs-1.38.1/work/gvfs-1.38.1 /var/tmp/portage/gnome-base/gvfs-1.38.1/work/gvfs-1.38.1-build
The Meson build system
Version: 0.50.1
Source dir: /var/tmp/portage/gnome-base/gvfs-1.38.1/work/gvfs-1.38.1
Build dir: /var/tmp/portage/gnome-base/gvfs-1.38.1/work/gvfs-1.38.1-build
Build type: native build
Project name: gvfs
Project version: 1.38.1
Appending CFLAGS from environment: '-O1 -pipe'
Appending LDFLAGS from environment: ' '
Appending CPPFLAGS from environment: ' '
Native C compiler: x86_64-pc-linux-gnu-gcc (gcc 7.4.1 "x86_64-pc-linux-gnu-gcc (Funtoo 7.4.1-r6) 7.4.1 20181207")
Build machine cpu family: x86_64
Build machine cpu: x86_64
Checking for function "socketpair" : YES
Library util found: YES
Has header "util.h" with dependency -lutil: NO
Checking for function "openpty" with dependency -lutil: YES
Checking for function "login_tty" with dependency -lutil: YES
Has header "sys/param.h" : YES
Has header "sys/mount.h" : YES
Has header "sys/statfs.h" : YES
Has header "sys/statvfs.h" : YES
Has header "sys/vfs.h" : YES
Has header "stropts.h" : YES
Has header "sys/un.h" : YES
Has header "termios.h" : YES
Has header "utmp.h" : YES
Checking for function "getpt" : YES
Checking for function "grantpt" : YES
Checking for function "posix_openpt" : YES
Checking for function "ptsname" : YES
Checking for function "ptsname_r" : YES
Checking for function "unlockpt" : YES
Checking for function "statfs" : YES
Checking for function "statvfs" : YES
Header <langinfo.h> has symbol "_NL_ADDRESS_LANG_TERM" : YES
Header <langinfo.h> has symbol "_NL_ADDRESS_COUNTRY_AB3" : YES
Header <sys/mkdev.h> has symbol "major" : NO
Header <sys/sysmacros.h> has symbol "major" : YES
Header <sys/sysmacros.h> has symbol "minor" : YES
Header <sys/sysmacros.h> has symbol "makedev" : YES
Checking for type "gid_t" : YES
Checking for type "pid_t" : YES
Checking for type "size_t" : YES
Checking for type "uid_t" : YES
Checking whether type "struct statfs" has members "f_bavail" : YES
Checking whether type "struct statvfs" has members "f_basetype" : NO
Checking whether type "struct stat" has members "st_atimensec" : NO
Checking whether type "struct stat" has members "st_atim.tv_nsec" : YES
Checking whether type "struct stat" has members "st_ctimensec" : NO
Checking whether type "struct stat" has members "st_ctim.tv_nsec" : YES
Checking whether type "struct stat" has members "st_mtimensec" : NO
Checking whether type "struct stat" has members "st_mtim.tv_nsec" : YES
Compiler for C supports link arguments -Wl,--version-script,/var/tmp/portage/gnome-base/gvfs-1.38.1/work/gvfs-1.38.1/client/symbol.map: YES
Found pkg-config: /usr/bin/x86_64-pc-linux-gnu-pkg-config (1.5.1)
Dependency gio-2.0 found: YES 2.58.3
Dependency gio-unix-2.0 found: YES 2.58.3
Dependency glib-2.0 found: YES 2.58.3
Dependency gobject-2.0 found: YES 2.58.3
Dependency libxml-2.0 found: YES 2.9.9
libgcrypt-config found: YES (/usr/bin/libgcrypt-config) 1.8.2
Dependency libgcrypt found: YES 1.8.2
Dependency dbus-1 found: YES 1.12.10
Found CMake: /usr/bin/cmake (3.12.3)
Dependency systemd found: NO (tried pkgconfig and cmake)

meson.build:279:6: ERROR: Assert failed: systemd required but not found, please provide a valid systemd user unit dir or disable it

A full log can be found at /var/tmp/portage/gnome-base/gvfs-1.38.1/work/gvfs-1.38.1-build/meson-logs/meson-log.txt
 * ERROR: gnome-base/gvfs-1.38.1::gnome-kit failed (configure phase):
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line   92:  Called src_configure
 *   environment, line 3805:  Called gnome-meson_src_configure '-Ddbus_service_dir=/usr/share/dbus-1/services' '-Dsystemduserunitdir=no' '-Dtmpfilesdir=no' '-Dgdu=false' '-Dgcr=true' '-Dman=true' '-Dadmin=false' '-Dafc=false' '-Dafp=false' '-Darchive=false' '-Dcdda=false' '-Ddnssd=false' '-Dgoa=false' '-Dgoogle=false' '-Dgphoto2=false' '-Dhttp=true' '-Dmtp=false' '-Dnfs=false' '-Dsmb=false' '-Dudisks2=true' '-Dbluray=false' '-Dfuse=false' '-Dgudev=true' '-Dkeyring=false' '-Dlogind=true' '-Dlibusb=false'
 *   environment, line 1934:  Called meson_src_configure
 *   environment, line 2605:  Called die
 * The specific snippet of code:
 *       tc-env_build "$@" || die
 * 
 * If you need support, post the output of `emerge --info '=gnome-base/gvfs-1.38.1::gnome-kit'`,
 * the complete build log and the output of `emerge -pqv '=gnome-base/gvfs-1.38.1::gnome-kit'`.
 * The complete build log is located at '/var/tmp/portage/gnome-base/gvfs-1.38.1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/gnome-base/gvfs-1.38.1/temp/environment'.
 * Working directory: '/var/tmp/portage/gnome-base/gvfs-1.38.1/work/gvfs-1.38.1'
 * S: '/var/tmp/portage/gnome-base/gvfs-1.38.1/work/gvfs-1.38.1'

>>> Failed to emerge gnome-base/gvfs-1.38.1, Log file:

>>>  '/var/tmp/portage/gnome-base/gvfs-1.38.1/temp/build.log'

 * Messages for package gnome-base/gvfs-1.38.1:

 * ERROR: gnome-base/gvfs-1.38.1::gnome-kit failed (configure phase):
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line   92:  Called src_configure
 *   environment, line 3805:  Called gnome-meson_src_configure '-Ddbus_service_dir=/usr/share/dbus-1/services' '-Dsystemduserunitdir=no' '-Dtmpfilesdir=no' '-Dgdu=false' '-Dgcr=true' '-Dman=true' '-Dadmin=false' '-Dafc=false' '-Dafp=false' '-Darchive=false' '-Dcdda=false' '-Ddnssd=false' '-Dgoa=false' '-Dgoogle=false' '-Dgphoto2=false' '-Dhttp=true' '-Dmtp=false' '-Dnfs=false' '-Dsmb=false' '-Dudisks2=true' '-Dbluray=false' '-Dfuse=false' '-Dgudev=true' '-Dkeyring=false' '-Dlogind=true' '-Dlibusb=false'
 *   environment, line 1934:  Called meson_src_configure
 *   environment, line 2605:  Called die
 * The specific snippet of code:
 *       tc-env_build "$@" || die
 * 
 * If you need support, post the output of `emerge --info '=gnome-base/gvfs-1.38.1::gnome-kit'`,
 * the complete build log and the output of `emerge -pqv '=gnome-base/gvfs-1.38.1::gnome-kit'`.
 * The complete build log is located at '/var/tmp/portage/gnome-base/gvfs-1.38.1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/gnome-base/gvfs-1.38.1/temp/environment'.
 * Working directory: '/var/tmp/portage/gnome-base/gvfs-1.38.1/work/gvfs-1.38.1'
 * S: '/var/tmp/portage/gnome-base/gvfs-1.38.1/work/gvfs-1.38.1'
 

Digging into the ebuild dir /var/tmp/portage/gnome-base/gvfs-1.38.1/work/gvfs-1.38.1, it seems the logic to require systemd is tangled with a meson 'tmpfilesdir' option as well.

Additionally, default meson_options.txt has option('goa', type: 'boolean', value: true, ...) which turns on a dependency for 'goa-1.0' which appears to not exist in Funtoo repository.

So far, manually running meson . ../gvfs-1.38.1-build -Dsystemduserunitdir=no -Dtmpfilesdir=/tmp -Dgoa=false gets me further...

Edited by russtopia
Added note to disable 'goa-1' dependency
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...