Buildpkg failing on chroot

I am trying to build myself custom iso after couple of years and I am getting errors in buildpkg and I have no ideas where this is coming from or how can I fix it.

$ buildpkg -p my-package
 --> Loading compiler settings: x86_64
==> Updating chroot for [stable] (x86_64)...
==> ERROR: '/var/lib/manjaro-tools/buildpkg/stable/x86_64/wvi' does not appear to be a Manjaro chroot.
==> ERROR: Aborting...

Any idea how can I fix it?

Add the -c argument to recreate the chroot

buildpkg -cp my-package

Another - and better - option is to use chrootbuild

sudo pacman -Syu manjaro-chrootbuild


sudo chrootbuild -p my-package

In any case run with the -h argument to get a list of options

$ buildpkg -h
Usage: buildpkg [options]
    -a <arch>          Arch [default: x86_64]
    -b <branch>        Branch [default: stable]
    -c                 Recreate chroot
    -h                 This help
    -i <pkg>           Install a package into the working copy of the chroot
    -n                 Install and run namcap check
    -p <pkg>           Build list or pkg [default: default]
    -q                 Query settings and pretend build
    -r <dir>           Chroots directory
                       [default: /var/lib/manjaro-tools/buildpkg]
    -s                 Sign packages
    -w                 Clean up cache and sources

$ chrootbuild -h

Usage: chrootbuild [options]

     -b <branch> Branch to use:
                 default: unstable / arm-unstable
     -c          Start with clean chroot fs
     -d          Disable colors.
     -D          Build with debug symbols.
     -f          Force unmount chroot if busy.
     -g          Push changes to git when building lists
     -G          Generate Checksums
     -h          This help
     -H          Use the host's keyrings
     -i <pkg>    Install package(s) to chroot fs
                 (for multiple packages repeat -i flag)
     -k <repo>   Use custom repo:
     -K <list>   Kernel-modules list to build
     -l <list>   List(s) to build
                 (for multiple lists repeat -l flag)
     -m          Build a multilib package
     -M <url>    Use custom mirror
     -n          Install built pkg to chroot fs
     -p <pkg>    Package(s) to build
                 (for multiple packages repeat -p flag)
     -r          custom chrootdir path
                 default: /var/lib/chrootbuild
     -s          Sign package(s)
     -u          Build pkgs only if update available (lists only)

This works so I have to specify the -c for create in the same command as the package. I did try doing buildpkg -c followed by buildpkg -p but that did not help. Thanks a lot.

It happens when the buildpkg root does not match the current version of the tools - which is why you need to clean the chroot with -c

build scripts contain a version


and the version is compared to the version stored in the chroot

$ cat .manjaro-tools

thus making sure the script runs against a valid Manjaro chroot.

You could also do it manually by nuking the folder

sudo rm -rf /var/lib/manjaro-tools

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