Subject: http-parser 2.9.4 fails to build on armhf-linux
From: Marius Bakke <[email-masked]>
To: [email-masked]
Date: Mon, 13 Apr 2020 20:16:11 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

The update to http-parser in 62f7f0d636d3b3ff796263ab892ebf53263539fa
causes a test failure armhf-linux:

--8<---------------cut here---------------start------------->8---
starting phase `check'
gcc  -I. -DHTTP_PARSER_STRICT=1  -Wall -Wextra -Werror -O0 -g  -c http_parser.c -o http_parser_g.o
gcc  -I. -DHTTP_PARSER_STRICT=1  -Wall -Wextra -Werror -O0 -g  -c test.c -o test_g.o
gcc  -I. -DHTTP_PARSER_STRICT=0  -Wall -Wextra -Werror -O3  -c http_parser.c
gcc  -I. -DHTTP_PARSER_STRICT=0  -Wall -Wextra -Werror -O3  -c test.c -o test.o
gcc  -shared -Wl,-soname=libhttp_parser.so.2.9 -o libhttp_parser.so.2.9.4 libhttp_parser.o
gcc -Wall -Wextra -Werror -O0 -g   http_parser_g.o test_g.o -o test_g
gcc -Wall -Wextra -Werror -O3   http_parser.o test.o -o test_fast
./test_g
test_g: test.c:4237: main: Assertion `sizeof(http_parser) == 4 + 4 + 8 + 2 + 2 + 4 + sizeof(void *)' failed.
make: *** [Makefile:76: test] Aborted

Test suite failed, dumping logs.
command "make" "test" "-j" "4" "PREFIX=/gnu/store/qlis9jzgcdk1m48hjdzag6gij244cwvz-http-parser-2.9.4" "CC=gcc" "library" failed with status 2
builder for `/gnu/store/gzywh6bmn10ip49yklmiagsjfcr2jflf-http-parser-2.9.4.drv' failed with exit code 1
--8<---------------cut here---------------end--------------->8---

The assert is new in 2.9.4 (one of two commits since 2.9.3):

https://github.com/nodejs/http-parser/commit/714cbb2dfbea9a521960b82b6239a991a64e3b9a

I can't tell what causes the size difference on armhf and don't
currently have access to hardware or QEMU for testing.  Any takers?

Meanwhile I've reverted the commit on 'master' as this is a dependency
of libgit2 which is needed for 'guix pull'.