Closed p5pRT closed 20 years ago
To: perlbug@perl.com Subject: MM_Win32\, pm_to_blib section causing "Error -- Expecting macro or rule defn\," then "Error -- rem: No such file or directory" Reply-To: an400@ncf.ca
This is a bug report for perl from an400@ncf.ca\, generated with the help of perlbug 1.28 running under perl v5.6.0.
This error is occurring in all my generated makefiles.
Commands executed:
1) perl makefile.pl verb verb cc=gcc lib=d:/server/lib
2) dmake -f makefile -v output ends at : DMAKE.EXE: makefile: line 650: Error -- Expecting macro or rule defn\, found neither DMAKE.EXE: Closing [makefile]
2a) line 650 is $(PM_TO_BLIB) in :
# --- 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) $@
2b) but the similar section in ext/B/makefile is
# --- 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[ $(mktmp\,pmfiles.dat $(PM_TO_BLIB:s\,\\,\\\,)\n) ]\,'$(INST_LIB)\auto')" @$(TOUCH) $@
3) use 2b) pm_to_blib section and repeat dmake output stops at 86 lines with:
cp diffnew.pl blib\lib\Algorithm\diffnew.pl cp diff.pl blib\lib\Algorithm\diff.pl cp lib/Algorithm/Diff.pm blib\lib\Algorithm\Diff.pm cp cdiff.pl blib\lib\Algorithm\cdiff.pl DMAKE.EXE: Left temp file [pmfiles.dat] DMAKE.EXE: Updating dir cache entry for [C:\WINDOWS\TEMP\Algorithm-Diff-1.06\pm_to_blib]\, new time is 961531318 DMAKE.EXE: \<\<\<\< Set [pm_to_blib] time stamp to 961531318 DMAKE.EXE: Infering prerequisite(s) and recipe for [subdirs] DMAKE.EXE: Time stamp of [subdirs] is 0 DMAKE.EXE: >>>> Making [subdirs::{1}] DMAKE.EXE: Updating [subdirs]\, (1 > 0) DMAKE.EXE: Error -- rem: No such file or directory
but does copy the .pm and .pl files to blib structure: C:\WINDOWS\TEMP\Algorithm-Diff-1.06 | cdiff.pl | Changes | diff.pl | diffnew.pl | Makefile | Makefile.PL | MANIFEST | pm_to_blib | pmfiles.dat | README | test.pl |
---|
+---blib | \---lib | +---Algorithm | .exists | cdiff.pl | diff.pl | Diff.pm | diffnew.pl | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
\---auto |
\---lib \---Algorithm Diff.pm
4) The makefile shows "rem" in configuration at
RANLIB = rem NOOP = rem # NOOP => q[rem] # RANLIB => q[rem]
Other Specs DMAKE.EXE - Copyright (c) 1990\,...\,1997 by WTI Corp.\, Version 4.10\, PL 1 Default Configuration: MAXLINELENGTH := 20460 MAXPROCESSLIMIT := 16 .IMPORT .IGNORE: ROOTDIR .MAKEFILES : makefile.mk makefile .SOURCE : .NULL MAKESTARTUP := $(MAKECMD:d)startup/startup.mk
What is/are the needed values?
Flags: category=install severity=medium
Site configuration information for perl v5.6.0:
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:\perl56\lib\CORE" -machine:x86' libpth="D:\perl56\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 uuid.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=' '\, lddlflags='-dll -nologo -nodefaultlib -release -libpath:"D:\perl56\lib\CORE" -machine:x86'
Locally applied patches: ACTIVEPERL_LOCAL_PATCHES_ENTRY
@INC for perl v5.6.0: d:\server\lib D:/perl56/lib D:/perl56/site/lib .
Environment for perl v5.6.0: HOME=d:\server\cgi-bin LANG (unset) LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset)
PATH=c:\windows;c:\windows\command;g:\;c:\;c:\batch;c:\batxtra;c:\glide;d:\p erl56\bin;C:\windows\system;D:\gcc52\bin PERL_BADLANG (unset) SHELL (unset) /Steve Taylor an400@ncf.ca http://www.ncf.ca/~an400 =~ / http://steptayl.vr9.com/ ICQ 16427228 'staler!'
The error occurred because config.pm still contained
make='nmake'
when I should have (dug deeper) to change it to
make='dmake'
since I'm using dmake. The only way to avoid is to give users a re-configure option or a warning to revise config.pm (unless MyConfig.pm can do it) when they change certain settings.
Thanks /Steve Taylor an400@ncf.ca http://www.ncf.ca/~an400 =~ / http://steptayl.vr9.com/ ICQ 16427228 'staler!'
Only an nmake vs dmake confusion\, not a bug.
@schwern - Status changed from 'open' to 'resolved'
Migrated from rt.perl.org#3407 (status was 'resolved')
Searchable as RT3407$