poke-devel
[Top][All Lists]
Advanced

[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...



reply via email to

[Prev in Thread] Current Thread [Next in Thread]