[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gl_CONDITIONAL & AM_CONDITIONAL
From: |
Bruno Haible |
Subject: |
Re: gl_CONDITIONAL & AM_CONDITIONAL |
Date: |
Thu, 14 Apr 2022 02:30:24 +0200 |
Hi Bruce,
> Once you've got autogen installed
Oh, I need autogen installed first! Taking the latest tarball from
ftp.gnu.org. Configuring it:
checking pkg-config is at least version 0.9.0... yes
configure: checking for guile 2.2
configure: checking for guile 2.0
configure: checking for guile 1.8
configure: error:
No Guile development packages were found.
Glad that I have guile-2.0.2 installed. Using that...
config.status: error: in `/media/develdata/devel/build/autogen-5.18.16':
config.status: error: Something went wrong bootstrapping makefile fragments
for automatic dependency tracking. Try re-running configure with the
'--disable-dependency-tracking' option to at least be able to build
the package (albeit without support for automatic dependency tracking).
See `config.log' for more details
Doing that. Then "make" fails, with output that ends like this:
In file included from ag.c:23:
expGuile.c: In function 'ag_scm_type_e':
expGuile.c:72:9: warning: implicit declaration of function 'AG_SCM_IS_PROC'
[-Wimplicit-function-declaration]
72 | if (AG_SCM_IS_PROC( typ)) return GH_TYPE_PROCEDURE;
| ^~~~~~~~~~~~~~
expGuile.c:75:9: warning: implicit declaration of function 'AG_SCM_PAIR_P'; did
you mean 'AG_SCM_CHAR_P'? [-Wimplicit-function-declaration]
75 | if (AG_SCM_PAIR_P( typ)) return GH_TYPE_PAIR;
| ^~~~~~~~~~~~~
| AG_SCM_CHAR_P
expGuile.c:77:9: warning: implicit declaration of function 'AG_SCM_LIST_P'; did
you mean 'SCM_LIST_H'? [-Wimplicit-function-declaration]
77 | if (AG_SCM_LIST_P( typ)) return GH_TYPE_LIST;
| ^~~~~~~~~~~~~
| SCM_LIST_H
expGuile.c: In function 'ag_scm_max':
expGuile.c:168:19: warning: implicit declaration of function 'AG_SCM_TO_LONG'
[-Wimplicit-function-declaration]
168 | val = AG_SCM_TO_LONG(car);
| ^~~~~~~~~~~~~~
make[3]: *** [Makefile:654: autogen-ag.o] Error 1
Abandoning this route.
> bash -x config/bootstrap
I see it fail in autotool-out.txt.
autoopts/Makefile.am:128: error: GL_GENERATE_ALLOCA_H does not appear in
AM_CONDITIONAL
autoopts/Makefile.am:140: error: GL_COND_OBJ_DUP2 does not appear in
AM_CONDITIONAL
...
The complaints are about autoopts/Makefile.am, which contains pieces of
Gnulib code, cribbed out of the Gnulib repository without handling dependencies
and .m4 files. It does not even invoke gnulib-tool!
The fix will be the following:
1. Forget about the internal details of Gnulib, as you knew them from 7 years
ago. *The internal details have changed.*
2. Remove from autoopts/bootstrap.dir:add_files_to_mf() everything that is
related to Gnulib.
3. Read the Gnulib documentation
https://www.gnu.org/software/gnulib/manual/html_node/index.html
in particular, sections 1.1, 2.5, 2.9, and chapter 3 upto section 3.8.
Bruno