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.