[pacman-dev] [Building] checksum.sh: syntax error.

Eli Schwartz eschwartz at archlinux.org
Sun Jan 5 22:43:32 UTC 2020


On 1/5/20 5:12 PM, nly at disroot.org wrote:
> Thanks for the wonderful explanation.
> 
> Still, I get an error.
> 
> $ autoreconf -vif && ./configure --prefix=$HOME/pacman/usr/local
> $ make install
> ...
> libmakepkg/executable/checksum.sh: line 33: syntax error near unexpected token `<'
> libmakepkg/executable/checksum.sh: line 33: `		mapfile -t integlist < <(get_integlist)'
> make[3]: *** [Makefile:990: libmakepkg/executable/checksum.sh] Error 2
> make[3]: *** Waiting for unfinished jobs....

This happens while running:

make -C scripts libmakepkg/executable/checksum.sh

The error you are getting is that this is not valid:

mapfile -t integlist < <(get_integlist)'

After every file generation, the Makefile will execute:

@$(BASH_SHELL) -O extglob -n $@

That is, it is running the file using bash's "-n" option; set -n will
cause the file to be read, but no commands to be executed, in an effort
to make sure the file works. This is why you are getting messages about
the syntax of the file.

So the question then is, what is this resolving to?

checking for bash...
/gnu/store/whkq7f2d702hqnrdd2cqskqxdx267283-profile/bin/bash


It needs to be bash >= 4.4.0, and we have a check which is supposed to
enforce this:
https://git.archlinux.org/pacman.git/tree/configure.ac?h=v5.2.1#n201

What version is your bash program, and why might it be refusing to
recognize this bash syntax?

>   GEN      libmakepkg/integrity.sh
>   GEN      libmakepkg/buildenv/buildflags.sh
>   GEN      libmakepkg/buildenv/makeflags.sh
>   GEN      libmakepkg/buildenv/debugflags.sh
>   GEN      libmakepkg/buildenv/compiler.sh
> make[2]: *** [Makefile:699: all-recursive] Error 1
> make[1]: *** [Makefile:993: all-recursive] Error 1
> make: *** [Makefile:902: all] Error 2
> 
> The full log is ~46MiB: http://nly.info.tm:9001/log/pacman2

Aside: that log is indeed huge. Why is this happening so often:

/gnu/store/whkq7f2d702hqnrdd2cqskqxdx267283-profile/include/stdlib.h:257:4:
warning: ISO C does not support the ‘_Float64x’ type [-Wpedantic]

> However, some files seem to be installed.
> 
> $ ls $HOME/pacman/usr/local/bin/
> pacman	pacman-conf  testpkg  vercmp
> 
> Thanks,
> Amar
> 


-- 
Eli Schwartz
Bug Wrangler and Trusted User

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 1601 bytes
Desc: OpenPGP digital signature
URL: <https://lists.archlinux.org/pipermail/pacman-dev/attachments/20200105/3152ad66/attachment.sig>


More information about the pacman-dev mailing list