You are not logged in.
Hi, 1st time posting here, hopefully not going to break any rules.
I'm getting this error tying to install any package from AUR.
==> Creating package "python-cheetah3"...
-> Generating .PKGINFO file...
-> Generating .BUILDINFO file...
-> Generating .MTREE file...
-> Compressing package...
Incorrect parameters
bsdtar: Write error
==> ERROR: Failed to create package file.
I've tried changing build directory to one with lots of free space, same issue.
Also worth noting that Ark won't open pkg.tar.zst files, stating 'No suitable plugin found. Ark does not seem to support this file type'.
xarchiver also states 'Archive format is not recognised'.
Not sure if that has any bearing on issue.
I've downloaded packages several times, so not a corrupt download.
Any ideas ? Thanks.
Last edited by leedaz (2020-12-19 17:26:36)
Offline
pacman -Q libarchive ?
Online
pacman -Q libarchive ?
[lee@archlap ~]$ pacman -Q libarchive
libarchive 3.5.0-1
Offline
Are you using an AUR helper? makepkg -si builds it correctly.
Last edited by archimboldo (2020-12-19 14:59:45)
Rules for problems.
Everyone has problems. Animals have problems. And buildings. And cats, and trees.
Problems are your friends. Treat them well.
Offline
type -a bsdtar ?
type -a zstd ?
pacman -Q zstd ?
Last edited by Scimmia (2020-12-19 14:43:17)
Online
Are you using an AUR helper? makepkg -si builds it correctly.
No, makepkg -si is what I'm using.. Cant install helper, they are all in aur, and nothing will complete build
Offline
type -a bsdtar ?
type -a zstd ?
pacman -Q zstd ?
[lee@archlap ~]$ type -a bsdtar
bsdtar is /usr/bin/bsdtar
[lee@archlap ~]$ type -a zstd
zstd is /usr/bin/zstd
[lee@archlap ~]$ pacman -Q zstd
zstd 1.4.5-1
Offline
Generally consider not compressing temporary AUR packages at all, https://wiki.archlinux.org/index.php/Ma … algorithms
Does zstd work?
zstd -o /dev/null < <(echo foobarfoo)
Offline
those look ok, please post your /etc/makepkg.conf
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
those look ok, please post your /etc/makepkg.conf
#!/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 -gqC - -o %o %u'
'ftp::/usr/bin/curl -gqfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
'http::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
'https::/usr/bin/curl -gqb "" -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'
'git::git'
'hg::mercurial'
'svn::subversion')
#########################################################################
# ARCHITECTURE, COMPILE FLAGS
#########################################################################
#
CARCH="x86_64"
CHOST="x86_64-pc-linux-gnu"
#-- Compiler and Linker Flags
CPPFLAGS="-D_FORTIFY_SOURCE=2"
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt"
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
#########################################################################
#
# 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
#########################################################################
#
# Default: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug)
# 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
#
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug)
#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2
INTEGRITY_CHECK=(md5)
#-- 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=(pigz -c -f -n)
COMPRESSBZ2=(pbzip2 -c -f)
COMPRESSXZ=(xz -c -z - --threads=0)
COMPRESSZST=(zstd -c -z -q ---threads=0)
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'
Offline
Good call, Lone_Wolf.
leedaz, COMPRESSZST has been customized and is not valid. See https://github.com/archlinux/svntogit-p … kepkg.conf
Last edited by Scimmia (2020-12-19 17:01:45)
Online
OK, thanks Scimmia and Lone_Wolf.
I did edit /etc/makepkg.conf according to the Arch Wiki..
https://wiki.archlinux.org/index.php/Ma … algorithms
What gives ? Is Arch wiki wrong ? Forgive me, I'm quite new to Arch.
*Edit. I spotted an error, missed a space there. doh. I'll put it right, and everything should be good.
Last edited by leedaz (2020-12-19 17:17:39)
Offline
You missed a space
Online
You missed a space
Yup, got it now. Thanks all. i'll give it a quick test and mark as solved.
Offline
[sudo] password for lee:
loading packages...
resolving dependencies...
looking for conflicting packages...
Packages (2) python-cheetah3-3.2.5-5 python2-cheetah3-3.2.5-5
Total Installed Size: 3.83 MiB
:: Proceed with installation? [Y/n]
(2/2) checking keys in keyring [###########################################################] 100%
(2/2) checking package integrity [###########################################################] 100%
(2/2) loading package files [###########################################################] 100%
(2/2) checking for file conflicts [###########################################################] 100%
(2/2) checking available disk space [###########################################################] 100%
:: Processing package changes...
(1/2) installing python-cheetah3 [###########################################################] 100%
Optional dependencies for python-cheetah3
python-markdown
(2/2) installing python2-cheetah3 [###########################################################] 100%
Optional dependencies for python2-cheetah3
python2-markdown
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
[lee@archlap python-cheetah3]$
Thanks guys, should have noticed that myself I suppose. appreciate the help.
Offline
I get why you set '--threads=0' (man zstd) but makepkg.conf has it's own setting for it 'MAKEFLAGS='.
If you set it to 'MAKEFLAGS="-j$(nproc)"' you will get what you want, the number phy.cores detected (see) man makepkg.conf.
Offline
No, qinohe, one is for setting the number of cores used fore `make` and the other for `zst` which is doing the compression. Zst does not read MAKEFLAGS from the environment (as it isn't `make`) and even if it did, -j# is not a valid zst flag.
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Ah, of course ... thanks for explaining, thought the solution was valid for anything in makepkg.conf, wrong assumption..
Offline
[
COMPRESSZST=(zstd -c -z -q ---threads=0)
There are 3 dashes.
A dog is a man's best friend.
Offline
leedaz wrote:[
COMPRESSZST=(zstd -c -z -q ---threads=0)
There are 3 dashes.
Which is correct, as you'd see with the link given and the discussion. This is already solved.
Online