Hello,
I have been trying to build libxml-perl for its PerlSAX module
needed by XML-DBMS, on a Windows 2000 system with ActivePerl
installed, but have run into a problem. I am having a different
problem with this effort on a Solaris 8 system, involving expat.
I have been attempting to join the ActiveState's perl-xml
discussion group to ask this question, and found an posting
about an identical problem from Daniel McMillan, but no
solution, and then I asked the maintainer of libxml-perl,
who suggested I ask the makemaker discussion group.
Here is some system information:
$ uname -a
Windows_NT WHAUFLER-0316 5 00 586
$ perl -V
Summary of my perl5 (revision 5 version 6 subversion 0) configuration:
Platform:
osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread
uname=''
config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef
usethreads=undef use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=undef d_sfio=undef uselargefiles=undef
use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef
Compiler:
cc='cl', optimize='-O1 -MD -DNDEBUG', gccversion=
cppflags='-DWIN32'
ccflags
='-O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_
IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX'
stdchar='char', d_stdstdio=define, usevfork=false
intsize=4, longsize=4, ptrsize=4, doublesize=8
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=4
alignbytes=8, usemymalloc=n, prototype=define
Linker and Libraries:
ld='link', ldflags
'-nologo -nodefaultlib -release -libpath:"D:\Perl\lib\CORE" -machine:x86'
libpth="D:\Perl\lib\CORE"
libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib
uui
d.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib
msvcrt.lib
libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl56.lib
Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ',
ddlflags='-dll -nologo -nodefaultlib -release -libpath:"D:\Perl\lib\CORE"
-machine:x86'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY USE_ITHREADS PERL_IMPLICIT_CONTEXT
PERL_IMPLICIT_SYS
Locally applied patches:
ActivePerl Build 623
Built under MSWin32
Compiled at Dec 15 2000 16:27:07
@INC:
d:/Perl/lib
d:/Perl/site/lib
.
cd D:\Perl-Other\XML-RDB\perl-libxml\libxml-perl-0.07
$ perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for libxml-perl
$ make
make: makefile: line 683: Error -- Expecting macro or rule defn, found
neither
In the resulting Makefile, line 683 is:
$(PM_TO_BLIB)
In context, this line is as follows:
...
# --- MakeMaker pm_to_blib section:
pm_to_blib: $(TO_INST_PM)
@$(PERL) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" \
"-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" -MExtUtils::Install \
-e "pm_to_blib(qw[ <<pmfiles.dat ],'$(INST_LIB)\auto')"
$(PM_TO_BLIB)
<<
@$(TOUCH) $@
# --- MakeMaker selfdocument section:
# --- MakeMaker postamble section:
# End.
I'm no make-guru, but these three lines don't look to me like
valid Makefile syntax, even after manually expanding the variables.
If this is valid, what does it mean?
If invalid, what is missing or wrong?
$(PM_TO_BLIB)
<<
@$(TOUCH) $@
The result looks like an INCOMPLETE Makefile, perhaps.
Thank you,
Wayne Haufler
MigraTEC, Inc.