[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: compilation error in VPATH build
From: |
Jose E. Marchesi |
Subject: |
Re: compilation error in VPATH build |
Date: |
Sat, 20 Feb 2021 01:35:38 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
> On a glibc system, I attempt to build poke from the git repository.
> So, for the first time in three months, I did
> $ git pull
> $ git submodule update gnulib
> $ git submodule update jitter
> $ ./bootstrap --skip-po
> $ mkdir build-64
> $ ../configure CPPFLAGS=-Wall
> $ make
>
> It fails in a bunch of errors:
>
> libtool: compile: gcc -ftrapv -DHAVE_CONFIG_H -I. -I../../libpoke -I../poke
> -I../gl-libpoke -I../../gl-libpoke -I../../common -DPKL_DEBUG
> -DPKGDATADIR=\"/inst-x86_64-64/share/poke\"
> -DPKGINFODIR=\"/inst-x86_64-64/share/info\"
> -DLOCALEDIR=\"/inst-x86_64-64/share/locale\" -fvisibility=hidden
> -DBUILDING_LIBPOKE -DJITTER_DISPATCH_DIRECT_THREADING=1 -I /POKE/poke/jitter
> -I /POKE/poke/build-64/jitter -I /POKE/poke/jitter/machine/x86_64 -I
> /inst-x86_64-64/include -I/inst-x86_64-64/include -Wall -Wall
> -I/arch/x86_64-linux-gnu/gnu-inst-gc/7.4.2/include -g -O2 -MT
> libpoke_la-pkl-gen.lo -MD -MP -MF .deps/libpoke_la-pkl-gen.Tpo -c
> ../../libpoke/pkl-gen.c -fPIC -DPIC -o .libs/libpoke_la-pkl-gen.o
> In file included from ../../libpoke/pkl-gen.c:116:0:
> ../../libpoke/pkl-gen.c: In function 'pkl_gen_pr_decl':
> ../../libpoke/pkl-gen.pkc:1349:20: error: 'struct pkl_gen_payload' has no
> member named 'in_writer'
> PKL_GEN_PAYLOAD->in_writer = 0; \
> ^
> ../../libpoke/pkl-gen.c:214:17: note: in expansion of macro
> 'RAS_FUNCTION_STRUCT_WRITER'
> RAS_FUNCTION_STRUCT_WRITER (writer_closure, type_struct);
> ^
> ../../libpoke/pkl-gen.pkc:1350:20: error: 'struct pkl_gen_payload' has no
> member named 'in_constructor'
> PKL_GEN_PAYLOAD->in_constructor = 1; \
> ^
> ../../libpoke/pkl-gen.c:214:17: note: in expansion of macro
> 'RAS_FUNCTION_STRUCT_WRITER'
> RAS_FUNCTION_STRUCT_WRITER (writer_closure, type_struct);
> ^
> ../../libpoke/pkl-gen.pkc:1352:20: error: 'struct pkl_gen_payload' has no
> member named 'in_constructor'
> PKL_GEN_PAYLOAD->in_constructor = 0; \
> ^
> ../../libpoke/pkl-gen.c:214:17: note: in expansion of macro
> 'RAS_FUNCTION_STRUCT_WRITER'
> RAS_FUNCTION_STRUCT_WRITER (writer_closure, type_struct);
> ^
> ../../libpoke/pkl-gen.pkc:1353:20: error: 'struct pkl_gen_payload' has no
> member named 'in_writer'
> PKL_GEN_PAYLOAD->in_writer = 1; \
> ^
> ../../libpoke/pkl-gen.c:214:17: note: in expansion of macro
> 'RAS_FUNCTION_STRUCT_WRITER'
> RAS_FUNCTION_STRUCT_WRITER (writer_closure, type_struct);
> ^
> ...
>
> The cause is that I have a 3-months old pkl-gen.pkc in $(srcdir) and a
> freshly generated one in the builddir. But the compilation picks up the
> one in $(srcdir).
>
> $ ls -l libpoke/*.pkc
> -rw-rw-r-- 1 bruno bruno 34397 21. Nov 20:39 libpoke/pkl-asm.pkc
> -rw-rw-r-- 1 bruno bruno 100414 21. Nov 20:39 libpoke/pkl-gen.pkc
> $ ls -l build-64/libpoke/*.pkc
> -rw-rw-r-- 1 bruno bruno 34688 19. Feb 21:47 build-64/libpoke/pkl-asm.pkc
> -rw-rw-r-- 1 bruno bruno 106183 19. Feb 21:47 build-64/libpoke/pkl-gen.pkc
>
> Files that are NOT packed into a tarball should be erased by "make distclean";
> therefore they are usually put into the builddir.
>
> On the other hand, files that ARE packed into a tarball should not be erased
> by "make distclean" (only by "make maintainer-clean"), and should reside in
> srcdir, per the GNU Coding Standards
> <https://www.gnu.org/prep/standards/html_node/Makefile-Basics.html>.
Hm, but do we actually want to include the RAS-generated .pkc files in
the tarball?
I don't see any problem in doing so, but neither any benefit: RAS is
distributed in the tarball and gawk is a build-time requirement...