bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: texinfo-6.3.90 pretest


From: Hans-Bernhard Bröker
Subject: Re: texinfo-6.3.90 pretest
Date: Sat, 29 Apr 2017 21:31:44 +0200
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.0.1

Am 29.04.2017 um 09:14 schrieb Eli Zaretskii:

The crucial output appears on the terminal only, with nothing useful in
config.log.

There are 2 config.log files, one in the top-level directory, the
other somewhere under tp/ (I forgot the actual directory, and don't
have my build system accessible where I'm typing this).  Did you
check in both?

Not at first, but I repeated the exercise now. The only lines mentioning Perl extension module building are in the top-level config.log:

configure:25092: checking whether we can build Perl extension (XS) modules
configure:25094: result:
configure:25105: checking whether we can build Perl extension (XS) modules
configure:25107: result: no

The output I attached yesterday was created between those pairs of log file lines, those in turn generated from line 388 to 402 of the top-level configure.ac.

I don't use MinGW64 Perl, I use ActiveState Perl, which doesn't have
that problem.
[...]
The problem in my case is that the extension somehow fails to load, as
witnessed by this error message I cited in my message:

      no fallback module for TestXS at ../../../Texinfo/XSLoader.pm line 241.
      BEGIN failed--compilation aborted at 
../../../Texinfo/Convert/XSParagraph/TestXS.pm line 31.
      Compilation failed in require at 
../../../Texinfo/Convert/XSParagraph/fail.pl line 1.
      checking whether we can build Perl extension (XS) modules... no

These are Perl errors, not compiler errors.

I re-tried with MSys2, MinGW64 and ActiveState Perl instead. Again, no problem like the above:

libtool: link: C:/msys64/mingw64/bin/gcc.exe -shared .libs/TestXS_la-TestXS.o -LC:/Perl64/lib/CORE -lperl524 -O2 -mms-bitfields -o .libs/TestXS.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/TestXS.dll.a
libtool: link: ar cru .libs/TestXS.a  TestXS_la-TestXS.o
libtool: link: ranlib .libs/TestXS.a
libtool: link: ( cd ".libs" && rm -f "TestXS.la" && cp -pR "../TestXS.la" "TestXS.la" )
message from XS module
checking whether we can build Perl extension (XS) modules... yes

My guess would be that the configure script tried to load the TestXS
extension into the Perl that is found along PATH, not into the Perl
specified via the PERL= setting with which the configure script was
invoked.

The 'configure.ac' snippet doesn't look like that might be the problem. It does invoke $(PERL), not 'perl'.

But that's just a guess, and I'm now even less sure it's correct,
because you say you've succeeded building with the C extensions.

I didn't say the build itself went well --- only the configure did.

The build itself fails because of the conflict between xspara.c and gnulib headers:

make[5]: Entering directory '/home/hbbro/prgbld/w64/txisvn_ASPerl/tp/Texinfo/Convert/XSParagraph' /bin/sh ./libtool --tag=CC --mode=compile C:/msys64/mingw64/bin/gcc.exe -DHAVE_CONFIG_H -I. -I/c/prg/gnu/texinfo/svn/tp/Texinfo/Convert/XSParagraph -I/c/prg/gnu/texinfo/svn/tp/Texinfo/Convert/XSParagraph -I/c/prg/gnu/texinfo/svn/tp/Texinfo/Convert/XSParagraph/lib -I./lib -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fwrapv -fno-strict-aliasing -mms-bitfields -DVERSION=\"0\" -DXS_VERSION=\"1\" "-IC:/Perl64/lib/CORE" -MT XSParagraph_la-xspara.lo -MD -MP -MF .deps/XSParagraph_la-xspara.Tpo -c -o XSParagraph_la-xspara.lo `test -f 'xspara.c' || echo '/c/prg/gnu/texinfo/svn/tp/Texinfo/Convert/XSParagraph/'`xspara.c libtool: compile: C:/msys64/mingw64/bin/gcc.exe -DHAVE_CONFIG_H -I. -I/c/prg/gnu/texinfo/svn/tp/Texinfo/Convert/XSParagraph -I/c/prg/gnu/texinfo/svn/tp/Texinfo/Convert/XSParagraph -I/c/prg/gnu/texinfo/svn/tp/Texinfo/Convert/XSParagraph/lib -I./lib -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fwrapv -fno-strict-aliasing -mms-bitfields -DVERSION=\"0\" -DXS_VERSION=\"1\" -IC:/Perl64/lib/CORE -MT XSParagraph_la-xspara.lo -MD -MP -MF .deps/XSParagraph_la-xspara.Tpo -c /c/prg/gnu/texinfo/svn/tp/Texinfo/Convert/XSParagraph/xspara.c -DDLL_EXPORT -DPIC -o .libs/XSParagraph_la-xspara.o
In file included from C:/Perl64/lib/CORE/perl.h:718:0,
from C:/prg/gnu/texinfo/svn/tp/Texinfo/Convert/XSParagraph/xspara.c:34: C:/prg/gnu/texinfo/svn/tp/Texinfo/Convert/XSParagraph/xspara.c:174:1: error: expected declaration specifiers or '...' before numeric constant
 iswspace (wint_t wc)
 ^
C:/prg/gnu/texinfo/svn/tp/Texinfo/Convert/XSParagraph/xspara.c:201:1: error: expected declaration specifiers or '...' before numeric constant
 iswupper (wint_t wc)
 ^
make[5]: *** [Makefile:967: XSParagraph_la-xspara.lo] Error 1

And another problem further down, in MiscXS:

make[4]: Entering directory '/home/hbbro/prgbld/w64/txisvn_ASPerl/tp/Texinfo/MiscXS' /bin/sh ./libtool --tag=CC --mode=compile C:/msys64/mingw64/bin/gcc.exe -DHAVE_CONFIG_H -I. -I/c/prg/gnu/texinfo/svn/tp/Texinfo/MiscXS -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fwrapv -fno-strict-aliasing -mms-bitfields -DVERSION=\"0\" -DXS_VERSION=\"0\" "-IC:/Perl64/lib/CORE" -MT MiscXS_la-misc.lo -MD -MP -MF .deps/MiscXS_la-misc.Tpo -c -o MiscXS_la-misc.lo `test -f 'misc.c' || echo '/c/prg/gnu/texinfo/svn/tp/Texinfo/MiscXS/'`misc.c libtool: compile: C:/msys64/mingw64/bin/gcc.exe -DHAVE_CONFIG_H -I. -I/c/prg/gnu/texinfo/svn/tp/Texinfo/MiscXS -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fwrapv -fno-strict-aliasing -mms-bitfields -DVERSION=\"0\" -DXS_VERSION=\"0\" -IC:/Perl64/lib/CORE -MT MiscXS_la-misc.lo -MD -MP -MF .deps/MiscXS_la-misc.Tpo -c /c/prg/gnu/texinfo/svn/tp/Texinfo/MiscXS/misc.c -DDLL_EXPORT -DPIC -o .libs/MiscXS_la-misc.o
In file included from C:/prg/gnu/texinfo/svn/tp/Texinfo/MiscXS/misc.c:34:0:
C:/prg/gnu/texinfo/svn/tp/Texinfo/MiscXS/misc.c: In function 'xs_unicode_text': C:/Perl64/lib/CORE/perl.h:166:16: error: 'my_perl' undeclared (first use in this function)
 #  define aTHX my_perl
                ^
C:/Perl64/lib/CORE/embedvar.h:38:18: note: in expansion of macro 'aTHX'
 #    define vTHX aTHX
                  ^~~~
C:/Perl64/lib/CORE/embedvar.h:62:19: note: in expansion of macro 'vTHX'
 #define PL_Mem   (vTHX->IMem)
                   ^~~~
C:/Perl64/lib/CORE/iperlsys.h:813:4: note: in expansion of macro 'PL_Mem'
  (*PL_Mem->pMalloc)(PL_Mem, (size))
    ^~~~~~
C:/Perl64/lib/CORE/XSUB.h:628:21: note: in expansion of macro 'PerlMem_malloc'
 #    define malloc  PerlMem_malloc
                     ^~~~~~~~~~~~~~
C:/prg/gnu/texinfo/svn/tp/Texinfo/MiscXS/misc.c:468:9: note: in expansion of macro 'malloc'
   new = malloc (new_space + 1);
         ^


Oh, and BTW: 'info.exe' fails to build because some of the dummy functions in pcterm.c::1685 ff. have the wrong prototypes:

In file included from C:/prg/gnu/texinfo/svn/info/terminal.c:1299:0:
C:/prg/gnu/texinfo/svn/info/pcterm.c:1685:11: error: conflicting types for 'tputs'
 int       tputs (const char *a, int b, int (*c)(int))
           ^~~~~
In file included from C:/prg/gnu/texinfo/svn/info/terminal.c:40:0:
C:/msys64/mingw64/include/termcap.h:31:13: note: previous declaration of 'tputs' was here
 extern void tputs (const char *string, int nlines, int (*outfun) (int));
             ^~~~~

and once those are fixed, they collide with actual ncurses functions at link time:

C:/msys64/mingw64/lib/libncurses.a(lib_termcap.o):(.text+0x870): multiple definition of `tgetent'
terminal.o:C:/prg/gnu/texinfo/svn/info/pcterm.c:1711: first defined here
C:/msys64/mingw64/lib/libncurses.a(lib_termcap.o):(.text+0x9a0): multiple definition of `tgetflag'
terminal.o:C:/prg/gnu/texinfo/svn/info/pcterm.c:1701: first defined here
C:/msys64/mingw64/lib/libncurses.a(lib_termcap.o):(.text+0xad0): multiple definition of `tgetnum'
terminal.o:C:/prg/gnu/texinfo/svn/info/pcterm.c:1696: first defined here
C:/msys64/mingw64/lib/libncurses.a(lib_termcap.o):(.text+0xcf0): multiple definition of `tgetstr'
terminal.o:C:/prg/gnu/texinfo/svn/info/pcterm.c:1706: first defined here
C:/msys64/mingw64/lib/libncurses.a(lib_tputs.o):(.text+0x7e0): multiple definition of `tputs'
terminal.o:C:/prg/gnu/texinfo/svn/info/pcterm.c:1687: first defined here

I had to #ifndef HAVE_NCURSES_TERMCAP_H the lot to get info to build...




reply via email to

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