paru icon indicating copy to clipboard operation
paru copied to clipboard

PKGBUILD works fine with makepkg but fails with paru

Open dylif opened this issue 2 years ago • 7 comments

Affected Version

paru -V paru v1.10.0 - libalpm v13.0.1

Description

Building my AUR package lsyncd-git with makepkg -si works absolutely fine, but for some reason when using paru -S lsyncd-git, the build fails weirdly. Have you checked previous issues? Yes.

Output

Include the FULL output of any relevant commands/configs $ paru -S lsyncd-git

:: Resolving dependencies...
:: Calculating conflicts...
:: Calculating inner conflicts...

Aur (1) lsyncd-git-2.3.0.r0.gf02bf70-1

:: Proceed to review? [Y/n]: 

:: Downloading PKGBUILDs...
 (1/1) lsyncd-git-2.3.0.r0.gf02bf70-1                [------------------------------------------------------]

...

:: Proceed with installation? [Y/n]: 
fetching devel info...
==> Making package: lsyncd-git 2.3.0.r0.gf02bf70-1 (Mon 13 Jun 2022 08:25:18 PM)
==> Retrieving sources...
  -> Cloning lsyncd git repo...
Cloning into bare repository '/home/dylan/.cache/paru/clone/lsyncd-git/lsyncd'...
remote: Enumerating objects: 5117, done.
remote: Counting objects: 100% (321/321), done.
remote: Compressing objects: 100% (145/145), done.
remote: Total 5117 (delta 177), reused 290 (delta 159), pack-reused 4796
Receiving objects: 100% (5117/5117), 2.19 MiB | 4.28 MiB/s, done.
Resolving deltas: 100% (2997/2997), done.
  -> Found lsyncd.service
==> Validating source files with sha256sums...
    lsyncd ... Skipped
    lsyncd.service ... Passed
==> Making package: lsyncd-git 2.3.0.r0.gf02bf70-1 (Mon 13 Jun 2022 08:25:19 PM)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating lsyncd git repo...
Fetching origin
  -> Found lsyncd.service
==> Validating source files with sha256sums...
    lsyncd ... Skipped
    lsyncd.service ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Creating working copy of lsyncd git repo...
Cloning into 'lsyncd'...
done.
==> Starting pkgver()...
==> Sources are ready.
lsyncd-git-2.3.0.r0.gf02bf70-1: parsing pkg list...
==> Making package: lsyncd-git 2.3.0.r0.gf02bf70-1 (Mon 13 Jun 2022 08:25:21 PM)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting pkgver()...
==> Starting build()...
-- The C compiler identification is GNU 12.1.0
-- The CXX compiler identification is GNU 12.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Lua: /usr/lib/liblua5.4.so;/usr/lib/libm.so (found version "5.4.4") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dylan/.cache/paru/clone/lsyncd-git/src/lsyncd/build
[ 22%] Generating defaults.out
[ 22%] Generating runner.out
Compiling built-in runner
Compiling built-in default configs
corrupted double-linked list
[ 22%] Built target prepare_tests
[ 33%] Generating runner.c
Generating built-in runner linkable
make[2]: *** [CMakeFiles/lsyncd.dir/build.make:93: defaults.out] Aborted (core dumped)
make[2]: *** Deleting file 'defaults.out'
make[1]: *** [CMakeFiles/Makefile2:191: CMakeFiles/lsyncd.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
error: failed to build 'lsyncd-git-2.3.0.r0.gf02bf70-1': 
error: packages failed to build: lsyncd-git-2.3.0.r0.gf02bf70-1

Turns out this is caused by what seems like an assertion failure from some Lua tool. Not sure why this is happening as the package builds and installs just fine when using makepkg.

Don't cut parts of the input always include the FULL thing

paru.conf and pacman.conf are usually always relevant

paru.conf

#
# $PARU_CONF
# /etc/paru.conf
# ~/.config/paru/paru.conf
#
# See the paru.conf(5) manpage for options

#
# GENERAL OPTIONS
#
[options]
PgpFetch
Devel
Provides
DevelSuffixes = -git -cvs -svn -bzr -darcs -always -hg
#AurOnly
#BottomUp
#RemoveMake
#SudoLoop
#UseAsk
#SaveChanges
#CombinedUpgrade
#CleanAfter
#UpgradeMenu
#NewsOnUpgrade

#LocalRepo
#Chroot
#Sign
#SignDb
#KeepRepoCache

#
# Binary OPTIONS
#
#[bin]
#FileManager = vifm
#MFlags = --skippgpcheck
#Sudo = doas

pacman.conf

#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
#CacheDir    = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
#GPGDir      = /etc/pacman.d/gnupg/
#HookDir     = /etc/pacman.d/hooks/
HoldPkg     = pacman glibc
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
Color
ILoveCandy
#NoProgressBar
CheckSpace
#VerbosePkgLists
ParallelDownloads = 12

# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel    = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required

# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux
# packagers with `pacman-key --populate archlinux`.

#
# REPOSITORIES
#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here
#   - local/custom mirrors can be added here or in separate files
#   - repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the current repo
#   - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#

# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.

#[testing]
#Include = /etc/pacman.d/mirrorlist

[core]
Include = /etc/pacman.d/mirrorlist

[extra]
Include = /etc/pacman.d/mirrorlist

#[community-testing]
#Include = /etc/pacman.d/mirrorlist

[community]
Include = /etc/pacman.d/mirrorlist

# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.

#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist

[multilib]
Include = /etc/pacman.d/mirrorlist

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs

dylif avatar Jun 14 '22 00:06 dylif

That seems very random. Is it consistent?

Morganamilo avatar Jun 18 '22 17:06 Morganamilo

Yes it is rather strange. Unfortunately, it is consistent.

dylif avatar Jun 18 '22 23:06 dylif

Same issue

Lyapsus avatar Jun 19 '22 16:06 Lyapsus

That's a totally different issue. Anyway, install's fine on my machine. Is it still occurring for you?

Morganamilo avatar Jun 24 '22 22:06 Morganamilo

Yea, it's still occuring. I tried on a different machine and it fails in the same spot. Again, it can be built with makepkg just fine. Not really sure what the issue could be.

dylif avatar Jun 26 '22 02:06 dylif

Installing flirc-bin: Extract from Paru...

-> Extracting readline-6.3.tar.gz with bsdtar
==> Starting prepare()...
==> applying patch readline63-001
/home/ben/.cache/paru/clone/readline6/PKGBUILD: line 32: patch: command not found
==> ERROR: A failure occurred in prepare().
   Aborting...
error: failed to build 'readline6-6.3.008-4': 
error: can't build flirc-bin-3.25.3-2, deps not satisfied: readline6
error: packages failed to build: readline6-6.3.008-4  flirc-bin-3.25.3-2

Extract from Pamac:

  -> Extracting readline-6.3.tar.gz with bsdtar
==> Starting prepare()...
==> applying patch readline63-001
patching file readline.c
patching file patchlevel
==> applying patch readline63-002
patching file readline.c
patching file patchlevel
==> applying patch readline63-003
patching file util.c
patching file patchlevel
==> applying patch readline63-004
patching file display.c
patching file patchlevel
==> applying patch readline63-005
patching file rltypedefs.h
patching file patchlevel
==> applying patch readline63-006
patching file display.c
patching file patchlevel
==> applying patch readline63-007
patching file input.c
patching file patchlevel
==> applying patch readline63-008
patching file misc.c
patching file patchlevel
==> Starting build()...
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu

ben2talk avatar Jul 25 '22 23:07 ben2talk

It's on you to have base-devel installed as it's a prerequisite listed on the wiki.

Pamac just installs it for you.

Morganamilo avatar Jul 26 '22 00:07 Morganamilo

@Morganamilo Wasn't sure whether to open a new issue, given the title, but I found something that actually fits this description a bit better: https://aur.archlinux.org/packages/clickup I'm not sure if this because I'm using a chroot, but this consistently only builds with makepkg in my experience

ThisNekoGuy avatar Sep 28 '22 23:09 ThisNekoGuy

So with makepkg I get:

make[2]: *** [CMakeFiles/lsyncd.dir/build.make:93: defaults.out] Aborted (core dumped)

And with paru I get:

make[2]: *** [CMakeFiles/lsyncd.dir/build.make:93: defaults.out] Segmentation fault (core dumped)

Not sure why the error is different but it doesn't seem to be a paru issue.

Morganamilo avatar Nov 21 '22 16:11 Morganamilo

Same thing with makechrootpkg. Not a paru issue.

Morganamilo avatar Nov 21 '22 16:11 Morganamilo

wWth clickup i get validity check fails with path paru and makepkg.

Morganamilo avatar Nov 21 '22 16:11 Morganamilo