Tests failing (yay)

I’m using mutter-x11-scaling (via the AUR: https://aur.archlinux.org/packages/mutter-x11-scaling/) to achieve fraction scaling, as described here: Install fractional scaling support under EndeavourOS Gnome Xorg.

The AUR package had an update a few days ago, but upgrading via yaya fails. See my terminal output here: https://marspaste.com/terminal-8

The package maintainer says it looks like tests are failing because I’m using yay, and suggested I open a thread on the EndeavourOS forums.

So… any ideas on how to address? Thank you kind strangers! :slight_smile:

Unlikely. But to rule it out, build the package manually using Arch makepkg and install it.

I am not going to look at your google drive so I don’t know why it is failing but the first thing to try when a build files is to clean build the package.

I’ve updated the link so now it’s straight to the terminal text:

I did try answering “All” when yay asks which packages to clear build. Didn’t help, unfortunately. Terminal log (when I say “All” to clean build):

Thanks again. This is such a great forum, almost amazed by how quickly and happily people chime in :slight_smile:

Thanks for the suggestion. If I do that, won’t it mess up yay?
Meaning - if I just manually build and install, will it make my “AUR version record” (in yay) out of date? Or should I uninstall the AUR package, and only then manually build and install from git?
Apologies if these are noob questions :slight_smile:

No. He isn’t suggesting you manually build it. Simply use makepkg to build and install it. The package manager will still be used to do the installation.

That being said, those are some strange errors. How much memory do you have and what does your /etc/makepkg.conf look like?

I have 8gb of memory. My makepkg.conf contents:

#!/hint/bash

/etc/makepkg.conf

#########################################################################

SOURCE ACQUISITION

#########################################################################

#-- The download utilities that makepkg should use to acquire sources

Format: ‘protocol::agent’

DLAGENTS=(‘file::/usr/bin/curl -qgC - -o %o %u’
‘ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u’
‘http::/usr/bin/curl -qgb “” -fLC - --retry 3 --retry-delay 3 -o %o %u’
‘https::/usr/bin/curl -qgb “” -fLC - --retry 3 --retry-delay 3 -o %o %u’
‘rsync::/usr/bin/rsync --no-motd -z %u %o’
‘scp::/usr/bin/scp -C %u %o’)

Other common tools:

/usr/bin/snarf

/usr/bin/lftpget -c

/usr/bin/wget

#-- The package required by makepkg to download VCS sources

Format: ‘protocol::package’

VCSCLIENTS=(‘bzr::bzr’
‘fossil::fossil’
‘git::git’
‘hg::mercurial’
‘svn::subversion’)

#########################################################################

ARCHITECTURE, COMPILE FLAGS

#########################################################################

CARCH=“x86_64”
CHOST=“x86_64-pc-linux-gnu”

#-- Compiler and Linker Flags
#CPPFLAGS=""
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security
-fstack-clash-protection -fcf-protection"
CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
LDFLAGS="-Wl,-O1,–sort-common,–as-needed,-z,relro,-z,now"
#RUSTFLAGS="-C opt-level=2"
#-- Make Flags: change this for DistCC/SMP systems
#MAKEFLAGS="-j2"
#-- Debugging flags
DEBUG_CFLAGS="-g -fvar-tracking-assignments"
DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
#DEBUG_RUSTFLAGS="-C debuginfo=2"

#########################################################################

BUILD ENVIRONMENT

#########################################################################

Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign)

A negated environment option will do the opposite of the comments below.

#-- distcc: Use the Distributed C/C++/ObjC compiler
#-- color: Colorize output messages
#-- ccache: Use ccache to cache compilation
#-- check: Run the check() function if present in the PKGBUILD
#-- sign: Generate PGP signature file

BUILDENV=(!distcc color !ccache check !sign)

#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
#-- specify a space-delimited list of hosts running in the DistCC cluster.
#DISTCC_HOSTS=""

#-- Specify a directory for package building.
#BUILDDIR=/tmp/makepkg

#########################################################################

GLOBAL PACKAGE OPTIONS

These are default values for the options=() settings

#########################################################################

Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto)

A negated option will do the opposite of the comments below.

#-- strip: Strip symbols from binaries/libraries
#-- docs: Save doc directories specified by DOC_DIRS
#-- libtool: Leave libtool (.la) files in packages
#-- staticlibs: Leave static library (.a) files in packages
#-- emptydirs: Leave empty directories in packages
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
#-- purge: Remove files specified by PURGE_TARGETS
#-- debug: Add debugging flags as specified in DEBUG_* variables
#-- lto: Add compile flags for building with link time optimization

OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug !lto)

#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2
INTEGRITY_CHECK=(sha256)
#-- Options to be used when stripping binaries. See man strip' for details. STRIP_BINARIES="--strip-all" #-- Options to be used when stripping shared libraries. See man strip’ for details.
STRIP_SHARED="–strip-unneeded"
#-- Options to be used when stripping static libraries. See `man strip’ for details.
STRIP_STATIC="–strip-debug"
#-- Manual (man and info) directories to compress (if zipman is specified)
MAN_DIRS=({usr{,/local}{,/share},opt/}/{man,info})
#-- Doc directories to remove (if !docs is specified)
DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/
/{doc,gtk-doc})
#-- Files to be removed from all packages (if purge is specified)
PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
#-- Directory to store source code in for debug packages
DBGSRCDIR="/usr/src/debug"

#########################################################################

PACKAGE OUTPUT

#########################################################################

Default: put built package and cached source in build directory

#-- Destination: specify a fixed directory where all packages will be placed
#PKGDEST=/home/packages
#-- Source cache: specify a fixed directory where source files will be cached
#SRCDEST=/home/sources
#-- Source packages: specify a fixed directory where all src packages will be placed
#SRCPKGDEST=/home/srcpackages
#-- Log files: specify a fixed directory where all log files will be placed
#LOGDEST=/home/makepkglogs
#-- Packager: name/email of the person or organization building packages
#PACKAGER=“John Doe john@doe.com
#-- Specify a key to use for package signing
#GPGKEY=""

#########################################################################

COMPRESSION DEFAULTS

#########################################################################

COMPRESSGZ=(gzip -c -f -n)
COMPRESSBZ2=(bzip2 -c -f)
COMPRESSXZ=(xz -c -z -)
COMPRESSZST=(zstd -c -z -q -)
COMPRESSLRZ=(lrzip -q)
COMPRESSLZO=(lzop -q)
COMPRESSZ=(compress -c -f)
COMPRESSLZ4=(lz4 -q)
COMPRESSLZ=(lzip -c -f)

#########################################################################

EXTENSION DEFAULTS

#########################################################################

PKGEXT=’.pkg.tar.zst’
SRCEXT=’.src.tar.gz’

#########################################################################

OTHER

#########################################################################

#-- Command used to run pacman as root, instead of trying sudo and su
#PACMAN_AUTH=()

A few things:

  • Have you tried running yay from a terminal directly instead of the update script you are using?
  • Building that probably requires a fair bit of memory, make sure you don’t have a bunch of other applications open when you do the build.
  • Do you have any type of swap configured?

If none of the above helps, I would just build it using makepkg and see if that makes a difference. Here is how you do that:

git clone https://aur.archlinux.org/mutter-x11-scaling.git 
cd mutter-x11-scaling
makepkg -si
1 Like

Running yay directly from terminal also fails. I have 8gb of memory, and this happens even if I run it right after logging in with no apps running. Yes, I have a swap partition (8gb, automatically configured by the EndeavourOS installer).

I tried building using makepkg and it still fails (so I guess it’s not a yay issue…?). Here’s the terminal output:

I tried to build it to see but apparently it fails the ninja tests when built under KDE.

That being said, you are repeatedly getting this error

13:41:21.830: Failed to read monitors config file '/home/assaf/.config/monitors.xml': Logical monitors not adjacent

Is there an issue with that file?

3 Likes

Two further questions:

  1. Does mutter-x11-scaling 40.4 build (now) without issue?
  2. Do mutter 40.4 and 40.5 build without issue?
1 Like

Ok, managed to get it to work :slight_smile:

The clue was @dalto’s question on the “Logical monitors not adjacent” error. When I googled this specific error, I saw people complaining about a gnome-shell bug (struggles with monitors.xml config validation when fractional scaling is on).

So I turned off fractional scaling, then ran yay (which successfully upgraded the package, hurrah!), and then turned fractional scaling back on. Done.

Here’s the terminal log of the successful run (with fractional scaling off), in case anyone is interested:

4 Likes