[Debian-med-packaging] Missing define (Was: infernal: another autoreconf issue)

Andreas Tille andreas at an3as.eu
Mon Jul 16 08:41:18 BST 2018


Hi Yagor,

On Sun, Jul 15, 2018 at 11:33:36PM +0300, Yavor Doganov wrote:
> Andreas Tille wrote:
> > autoheader: warning: missing template: EASEL_COPYRIGHT
> > autoheader: Use AC_DEFINE([EASEL_COPYRIGHT], [], [Description])
> 
> The problem here is that AC_DEFINE and AC_DEFINE_UNQUOTED are used to
> define preprocessor symbols without the third argument which is the
> description.  This is fine as long as AC_CONFIG_HEADERS is *not* used.
> However, that is not the case -- there are three configuration headers
> with separate calls to AC_CONFIG_HEADERS.
> 
> The simple, but kinda tiresome solution is to add a third argument to
> every AC_DEFINE/AC_DEFINE_UNQUOTED call, like this:
> 
> AC_DEFINE_UNQUOTED([EASEL_COPYRIGHT], ["$EASEL_COPYRIGHT"],
>                    [Easel copyright information.])
> 
> Some of the symbols are already documented in the templates provided
> by upstream (the .h.in files) but they are invisible to autoheader.

Ahhh, this hint helped me to finalise the autoreconf step.  Thanks a lot
so far. Unfortunately I now get


     CC cm_dpsmall.o
cm_dpsmall.c: In function 'generic_splitter':
cm_dpsmall.c:721:51: error: expected expression before ')' token
   if (insideT_size(cm, L, r, z, i0, j0) < RAMLIMIT) {
                                                   ^
cm_dpsmall.c: In function 'wedge_splitter':
cm_dpsmall.c:943:51: error: expected expression before ')' token
       insideT_size(cm, L, r, z, i0, j0) < RAMLIMIT)
                                                   ^
cm_dpsmall.c: In function 'v_splitter':
cm_dpsmall.c:1120:57: error: expected expression before ')' token
       vinsideT_size(cm, r, z, i0, i1, j1, j0) < RAMLIMIT)
                                                         ^
cm_dpsmall.c: In function 'generic_splitter_b':
cm_dpsmall.c:3762:51: error: expected expression before ')' token
   if (insideT_size(cm, L, r, z, i0, j0) < RAMLIMIT) {
                                                   ^
cm_dpsmall.c: In function 'wedge_splitter_b':
cm_dpsmall.c:3991:51: error: expected expression before ')' token
       insideT_size(cm, L, r, z, i0, j0) < RAMLIMIT)
                                                   ^
cm_dpsmall.c: In function 'v_splitter_b':
cm_dpsmall.c:4184:57: error: expected expression before ')' token
       vinsideT_size(cm, r, z, i0, i1, j1, j0) < RAMLIMIT)
                                                         ^
cm_dpsmall.c: In function 'voutside_b':
cm_dpsmall.c:5718:3: warning: implicit declaration of function 'assert'; did you mean 'tzset'? [-Wimplicit-function-declaration]
   assert(dmin[r] <= (j0-i0)+1);
   ^~~~~~


RAMLIMIT is defined in src/config.h.in but for some reason not
propagated to src/config.h.  I tried to cure this via


 --- a/configure.ac
 +++ b/configure.ac
-@@ -121,24 +121,24 @@ AC_SUBST(EASEL_VERSION)
+@@ -120,25 +120,28 @@ AC_SUBST(EASEL_LICENSE)
+ AC_SUBST(EASEL_VERSION)
  AC_SUBST(EASEL_URL)
  
++AC_SUBST(RAMLIMIT)
++AC_DEFINE_UNQUOTED([RAMLIMIT], [], [This definition is needed to propagate it in src/config.h.in])
++
  # Preprocessor symbols (replace #undefs in hmmer/src/p7_config.h and src/config.h)
 -AC_DEFINE_UNQUOTED(INFERNAL_DATE,      "$INFERNAL_DATE")
 -AC_DEFINE_UNQUOTED(INFERNAL_COPYRIGHT, "$INFERNAL_COPYRIGHT")


but this did not help.  Any further hint

Kind regards

      Andreas.
 

-- 
http://fam-tille.de



More information about the Debian-med-packaging mailing list