Tried to build this today.  Hit several problems right at the
beginning, in the configure step.

First, this:

  checking ExtUtils::Embed... yes
  Warning (mostly harmless): No library found for -lmoldname
  Warning (mostly harmless): No library found for -lkernel32
  Warning (mostly harmless): No library found for -luser32
  Warning (mostly harmless): No library found for -lgdi32
  Warning (mostly harmless): No library found for -lwinspool
  Warning (mostly harmless): No library found for -lcomdlg32
  Warning (mostly harmless): No library found for -ladvapi32
  Warning (mostly harmless): No library found for -lshell32
  Warning (mostly harmless): No library found for -lole32
  Warning (mostly harmless): No library found for -loleaut32
  Warning (mostly harmless): No library found for -lnetapi32
  Warning (mostly harmless): No library found for -luuid
  Warning (mostly harmless): No library found for -lws2_32
  Warning (mostly harmless): No library found for -lmpr
  Warning (mostly harmless): No library found for -lwinmm
  Warning (mostly harmless): No library found for -lversion
  Warning (mostly harmless): No library found for -lodbc32
  Warning (mostly harmless): No library found for -lodbccp32
  Warning (mostly harmless): No library found for -lcomctl32

Some (if not all) of these libraries do exist here.  And many of them
don't need to be specified explicitly, since MinGW GCC links against
them by default.

The message seems to come from this snippet of the configure script:

  if test "z$extutils_embed" = 'zyes' ; then
    PERL_EXTUTILS_EMBED_ccopts=`${PERL} -MExtUtils::Embed -e ccopts`
    PERL_EXTUTILS_EMBED_ldopts=`${PERL} -MExtUtils::Embed -e ldopts`
  fi

If I run "${PERL} -MExtUtils::Embed -e ldopts", I get this:

  It looks like you don't have either nmake.exe or dmake.exe on your PATH,
  so you will not be able to execute the commands from a Makefile.  You can
  install dmake.exe with the Perl Package Manager by running:

      ppm install dmake

  Warning (mostly harmless): No library found for -lmoldname
  Warning (mostly harmless): No library found for -lkernel32
  Warning (mostly harmless): No library found for -luser32
  Warning (mostly harmless): No library found for -lgdi32
  Warning (mostly harmless): No library found for -lwinspool
  Warning (mostly harmless): No library found for -lcomdlg32
  Warning (mostly harmless): No library found for -ladvapi32
  Warning (mostly harmless): No library found for -lshell32
  Warning (mostly harmless): No library found for -lole32
  Warning (mostly harmless): No library found for -loleaut32
  Warning (mostly harmless): No library found for -lnetapi32
  Warning (mostly harmless): No library found for -luuid
  Warning (mostly harmless): No library found for -lws2_32
  Warning (mostly harmless): No library found for -lmpr
  Warning (mostly harmless): No library found for -lwinmm
  Warning (mostly harmless): No library found for -lversion
  Warning (mostly harmless): No library found for -lodbc32
  Warning (mostly harmless): No library found for -lodbccp32
  Warning (mostly harmless): No library found for -lcomctl32
    -s -static-libgcc -static-libstdc++ -L"D:\usr\Perl\lib\CORE" 
-L"C:\MinGW\i686-w64-mingw32\lib"  D:\usr\Perl\lib\CORE\libperl520.a

Why does it want nmake.exe or dmake.exe?

And does the build really must have ExtUtils::Embed?

Next problem is that configure concludes that XS modules cannot be
built:

  /bin/sh ./libtool  --tag=CC    --mode=link d:/usr/bin/gcc.exe -s -O2 -DWIN32 
-DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT 
-DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields    
 -avoid-version -module -s -static-libgcc -static-libstdc++ 
-L"D:/usr/Perl/lib/CORE" -L"C:/MinGW/i686-w64-mingw32/lib" -no-undefined  -o 
TestXS.la -rpath d:/usr/lib/ TestXS_la-TestXS.lo -LD:/usr/Perl/lib/CORE 
-lperl520 -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 
-ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr 
-lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32
  libtool: link: ar cr .libs/TestXS.a .libs/TestXS_la-TestXS.o
  libtool: link: ranlib .libs/TestXS.a
  libtool: link: ( cd ".libs" && rm -f "TestXS.la" && cp -pR "../TestXS.la" 
"TestXS.la" )
  libtool: warning: Linker path does not have real file for library -luuid.
  libtool: warning: I have the capability to make that library automatically 
link in when
  libtool: warning: you link to this library.  But I can only do this if you 
have a
  libtool: warning: shared version of the library, which you do not appear to 
have
  libtool: warning: because I did check the linker path looking for a file 
starting
  libtool: warning: with libuuid and none of the candidates passed a file 
format test
  libtool: warning: using a file magic. Last file checked: d:/usr/lib/libuuid.a
  libtool: warning: libtool could not satisfy all declared inter-library
  libtool: warning: dependencies of module TestXS.  Therefore, libtool will 
create
  libtool: warning: a static module, that should work as long as the dlopening
  libtool: warning: application is linked with the -dlopen flag.
  checking ./TestXS.la
  found ./TestXS.la
  TestXS: couldn't find name of shared object
  no fallback module for TestXS
  checking whether we can build Perl extension (XS) modules... no

Any idea why it decides Perl extensions cannot be built?  I've built
then for Texinfo 7.2, with exactly the same MinGW installation on the
same system, with no problems at all.  Why does it fail now?

And finally, this:

  config.status: creating C/config.h
  config.status: executing depfiles commands
  config.status: error: in '/d/gnu/texinfo-7.2.90/tta':
  config.status: error: Something went wrong bootstrapping makefile fragments
      for automatic dependency tracking.  If GNU make was not used, consider
      re-running the configure script with MAKE="gmake" (or whatever is
      necessary).  You can also 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
  configure: error: ./configure failed for tta

Here's what I see in config.log:

  config.status:3042: executing depfiles commands
  config.status:3119: cd C       && sed -e '/# am--include-marker/d' Makefile   
      | make -f - am--depfiles
  /d/usr/tmp/Gm195856:1955: *** missing separator.  Stop.

That's because the output of the Sed command includes this around line
1955:

  PERL_EXTUTILS_EMBED_ldopts = 
  It looks like you don't have either nmake.exe or dmake.exe on your PATH,
  so you will not be able to execute the commands from a Makefile.  You can
  install dmake.exe with the Perl Package Manager by running:

      ppm install dmake

    -s -static-libgcc -static-libstdc++ -L"D:\usr\Perl\lib\CORE" 
-L"C:\MinGW\i686-w64-mingw32\lib"  D:\usr\Perl\lib\CORE\libperl520.a

which is not in Makefile format.  That's the same text I show above
emitted by "${PERL} -MExtUtils::Embed -e ldopts".  Thus "missing
separator".

So basically all of these problems are caused by ExtUtils::Embed.

I'm a bit surprised by all these problems, since Texinfo 7.2 built
okay for me, and this is supposed to be the next minor release.  So I
didn't expect a revolution.  Could it be that the machinery used here
is somehow too fragile (since others reported problems of similar
nature on other systems)?

Let me know if you need additional information.

Thanks.

Reply via email to