Am 27.04.2017 um 16:55 schrieb Eli Zaretskii:

The configure script concludes that Perl extension XS cannot be built:

      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

I cannote figure out why it reaches this conclusion: the TestXS module
is built successfully.  How can I find out why the detection fails?

I ran into that at first, too.  In short:

        pacman mingw-w64-{i686,x86_64}-perl

fixed it for me.

The crucial output appears on the terminal only, with nothing useful in config.log. It's a missing <sys/wait.h> which the perl5 CORE/perl.h is trying to access in the test compile performed by configure (log excerpt attached), lead by CORE/config.h which claims it should be available.

But there is not <sys/wait.h> among Min's headers --- there's one in MSys2. That pointed me to the solution: you need to have _MinGW_ edition(s) of Perl installed, not just MSys2's own one, to build the XS stuff.
checking whether we can build Perl extension (XS) modules...
Making clean in lib
make[1]: Entering directory 
'/home/hbbro/prgbld/w64/texinfo-6.3.90/tp/Texinfo/Convert/XSParagraph/lib'
make[2]: Entering directory 
'/home/hbbro/prgbld/w64/texinfo-6.3.90/tp/Texinfo/Convert/XSParagraph/lib'
test -z "" || rm -f
rm -rf .libs _libs
test -z "" || rm -f
test -z "libgnu.la" || rm -f libgnu.la
rm -f ./so_locations
rm -f *.o
test -z "core *.stackdump alloca.h alloca.h-t errno.h errno.h-t float.h 
float.h-t limits.h limits.h-t stddef.h stddef.h-t stdint.h stdint.h-t stdio.h 
stdio.h-t string.h string.h-t sys/types.h sys/types.h-t wchar.h wchar.h-t" || 
rm -f core *.stackdump alloca.h alloca.h-t errno.h errno.h-t float.h float.h-t 
limits.h limits.h-t stddef.h stddef.h-t stdint.h stdint.h-t stdio.h stdio.h-t 
string.h string.h-t sys/types.h sys/types.h-t wchar.h wchar.h-t
rm -f *.lo
make[2]: Leaving directory 
'/home/hbbro/prgbld/w64/texinfo-6.3.90/tp/Texinfo/Convert/XSParagraph/lib'
make[1]: Leaving directory 
'/home/hbbro/prgbld/w64/texinfo-6.3.90/tp/Texinfo/Convert/XSParagraph/lib'
make[1]: Entering directory 
'/home/hbbro/prgbld/w64/texinfo-6.3.90/tp/Texinfo/Convert/XSParagraph'
test -z "TestXS.c XSParagraph.c" || rm -f TestXS.c XSParagraph.c
rm -rf .libs _libs
test -z "XSParagraph.la TestXS.la" || rm -f XSParagraph.la TestXS.la
rm -f ./so_locations
rm -f *.o
rm -f *.lo
make[1]: Leaving directory 
'/home/hbbro/prgbld/w64/texinfo-6.3.90/tp/Texinfo/Convert/XSParagraph'
/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. 
-I/c/prg/gnu/texinfo/texinfo-6.3.90/tp/Texinfo/Convert/XSParagraph  
-I/c/prg/gnu/texinfo/texinfo-6.3.90/tp/Texinfo/Convert/XSParagraph 
-I/c/prg/gnu/texinfo/texinfo-6.3.90/tp/Texinfo/Convert/XSParagraph/lib -I./lib  
-DPERL_USE_SAFE_PUTENV -D_GNU_SOURCE -U__STRICT_ANSI__ -march=x86-64 
-mtune=generic -O2 -pipe -fwrapv -fno-strict-aliasing -fstack-protector-strong 
-DVERSION=\"0\" -DXS_VERSION=\"0\" "-I/usr/lib/perl5/core_perl/CORE"  -MT 
TestXS_la-TestXS.lo -MD -MP -MF .deps/TestXS_la-TestXS.Tpo -c -o 
TestXS_la-TestXS.lo `test -f 'TestXS.c' || echo 
'/c/prg/gnu/texinfo/texinfo-6.3.90/tp/Texinfo/Convert/XSParagraph/'`TestXS.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. 
-I/c/prg/gnu/texinfo/texinfo-6.3.90/tp/Texinfo/Convert/XSParagraph 
-I/c/prg/gnu/texinfo/texinfo-6.3.90/tp/Texinfo/Convert/XSParagraph 
-I/c/prg/gnu/texinfo/texinfo-6.3.90/tp/Texinfo/Convert/XSParagraph/lib -I./lib 
-DPERL_USE_SAFE_PUTENV -D_GNU_SOURCE -U__STRICT_ANSI__ -march=x86-64 
-mtune=generic -O2 -pipe -fwrapv -fno-strict-aliasing -fstack-protector-strong 
-DVERSION=\"0\" -DXS_VERSION=\"0\" -I/usr/lib/perl5/core_perl/CORE -MT 
TestXS_la-TestXS.lo -MD -MP -MF .deps/TestXS_la-TestXS.Tpo -c 
/c/prg/gnu/texinfo/texinfo-6.3.90/tp/Texinfo/Convert/XSParagraph/TestXS.c  
-DDLL_EXPORT -DPIC -o .libs/TestXS_la-TestXS.o
In file included from TestXS.xs:5:0:
C:/msys64/usr/lib/perl5/core_perl/CORE/perl.h:809:25: fatal error: sys/wait.h: 
No such file or directory
 #   include <sys/wait.h>
                         ^
compilation terminated.
make: *** [Makefile:963: TestXS_la-TestXS.lo] Error 1
checking whether we can build Perl extension (XS) modules... no

Reply via email to