Skip to content

sync: failed to verify dependency graph #1228

@je-vv

Description

@je-vv

Hello !

When trying to install gdk-pixbuf2-noglycin with:

aur sync -C -S -d <my_repo> gdk-pixbuf2-noglycin

I get:

==> Retrieving package files
Cloning into 'gdk-pixbuf2-noglycin'...
remote: Enumerating objects: 35, done.
remote: Counting objects: 100% (35/35), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 35 (delta 10), reused 34 (delta 10), pack-reused 0 (from 0)
Receiving objects: 100% (35/35), 12.99 KiB | 12.99 MiB/s, done.
Resolving deltas: 100% (10/10), done.
cfdaf32 (bump, 2025-10-01)
sync: failed to verify dependency graph

If I execute plain makepkg over the generated by aurutils directory everything goes ok and I can include the package generated on <my_repo> repository to then install it.

I'm currently using aurutils version 20.5.6-1 from AUR.

If I provide the extra argument --no-graph to the aur sync command above then it just succeeds.

I found that by reading:

/usr/lib/aurutils/aur-sync

And with man aur-sync I see:

       --nograph, --no-graph
              Do not verify the AUR dependency graph with aur-graph(1).

Whether this is failing generating a proper jsonl:

# Build AUR dependency graph
if [[ -s $tmp/argv ]]; then
    # shellcheck disable=SC2094
    aur depends --jsonl "${depends_args[@]}" - <"$tmp"/argv >"$tmp"/depends.jsonl
else
    printf >&2 '%s: there is nothing to do\n' "$argv0"
    exit
fi

Or this is failing:

# Filter out targets determined in the steps above recursively (#1136, #1140)
aur sync--filter -p "$tmp"/depends.jsonl -f "$tmp"/filter >"$tmp"/graph

Or perhaps this:

# XXX: a flat file is needed for aur-{graph,fetch,view}. `ninja` requires the
# build files to be present before dependency resolution (with `ninja -n`) can
# occur, and `ninja -t targets` sorts in alphabetical order. This implies
# that dependency cycles cannot be resolved before retrieving files with
# aur-fetch with `ninja` alone. `tsort` could either be used in this case (with
# a less nice diagnostic on cycles), or fetches done in an arbitrary order
# (e.g. sort -u) with checks for cycles done at build-time.
if ! tsort <"$tmp"/graph >"$tmp"/queue; then
    diag_depcycle
    exit 22
fi

But I haven't explored it yet.

Thanks !

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions