Greetings Inliners!
I've gotten some complaints from users of my module Text::Scan, that it is no
longer installable as a precompiled binary via ActiveState's "ppm" command. Any
ideas why not? Is there some place I can go to look at error messages or
something? (I've already fruitlessly searched for such a way)
I have little clue how to compile things for Windows, or what's involved. And I
don't know what setup is used particularly by ActiveState. But at least one
user has tried and failed with the setup and compiler errors below.
Any help much appreciated!
---------------------------------------------------- Details from user:
As you asked, here is what I do:
I am using Windows XP, with Microsoft CL compiler. I am upgrading to
ActivePerl 5.8.7 (I was able to install this module in activeperl 5.6.1
which is a quite old version). I guess this setting is common in Windows
platform.
Since no ppd available for such setting, I did the following things:
1. Download Text::Scan v0.23 from cpan (and decompressed it).
2. Perl Makefile.PL
3. Nmake
When I "Nmake", there are warnings showing on screen and it stopped at
certain errors.
(My perl compiler is D:\activeperl\Perl\bin\perl.exe)
(The download Text-Scan files are in:
D:\activeperl8\Download\uncompress\Text-Scan-0.23)
----------------------------------------------------- Make errors:
D:\activeperl\Perl\bin\perl.exe -Mblib -MInline=NOISY,_INSTALL_
-MText::Scan -e1 0.23 blib\arch
Starting Build Prepocess Stage
Finished Build Prepocess Stage
Starting Build Parse Stage
Finished Build Parse Stage
Starting Build Glue 1 Stage
Finished Build Glue 1 Stage
Starting Build Glue 2 Stage
Finished Build Glue 2 Stage
Starting Build Glue 3 Stage
Finished Build Glue 3 Stage
Starting Build Compile Stage
Starting "perl Makefile.PL" Stage
Writing Makefile for Text::Scan
Finished "perl Makefile.PL" Stage
Starting "make" Stage
Microsoft (R) Program Maintenance Utility Version 8.00.50727.42
Copyright (C) Microsoft Corporation. All rights reserved.
D:\activeperl\Perl\bin\perl.exe D:\activeperl\Perl\lib\ExtUtils/xsubpp
-typemap D:\activeperl\Perl\lib\ExtUtils
\typemap Scan.xs > Scan.xsc && D:\activeperl\Perl\bin\perl.exe
-MExtUtils::Command -e mv Scan.xsc Scan.c
cl -c -ID:/activeperl8/Download/uncompress/Text-Scan-0.23 -nologo -Gf
-W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONS
OLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DUSE_SITECUSTOMIZE
-DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_P
ERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG -O1 -DVERSION=\"0.23\"
-DXS_VERSION=\"0.23\" "-ID:\activeperl\Perl\lib
\CORE" Scan.c
cl : Command line warning D9002 : ignoring unknown option '-Gf'
Scan.c
Scan.xs(251) : warning C4101: 't' : unreferenced local variable
Scan.xs(654) : warning C4244: 'function' : conversion from 'double' to
'size_t', possible loss of data
Scan.xs(690) : warning C4018: '<' : signed/unsigned mismatch
Scan.xs(650) : warning C4101: 'last' : unreferenced local variable
Scan.xs(747) : warning C4013: 'PerlSIO_getc' undefined; assuming extern
returning int
Scan.xs(725) : warning C4101: 'i' : unreferenced local variable
Scan.xs(727) : warning C4101: 'metastr' : unreferenced local variable
Running Mkbootstrap for Text::Scan ()
D:\activeperl\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 Scan.bs
D:\activeperl\Perl\bin\perl.exe -MExtUtils::Mksymlists -e
"Mksymlists('NAME'=>\"Text::Scan\", 'DLBASE' => 'Scan
', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);"
link -out:blib\arch\auto\Text\Scan\Scan.dll -dll -nologo -nodefaultlib
-debug -opt:ref,icf -libpath:"d:\activep
erl\Perl\lib\CORE" -machine:x86 Scan.obj
D:\activeperl\Perl\lib\CORE\perl58.lib oldnames.lib kernel32.lib user32.lib
gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib
oleaut32.lib netapi32.lib uuid.lib ws2_32.lib m
pr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib -def:Scan.def
Creating library blib\arch\auto\Text\Scan\Scan.lib and object
blib\arch\auto\Text\Scan\Scan.exp
Scan.obj : error LNK2019: unresolved external symbol _PerlSIO_getc referenced
in function __restore
blib\arch\auto\Text\Scan\Scan.dll : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: '"F:\Program Files\Microsoft Visual Studio
8\VC\BIN\link.EXE"' : return code '0x460'
Stop.
A problem was encountered while attempting to compile and install your Inline
C code. The command that failed was:
nmake
The build directory was:
D:\activeperl8\Download\uncompress\Text-Scan-0.23\_Inline\build\Text\Scan
To debug the problem, cd to the build directory, and inspect the output files.
at -e line 0
INIT failed--call queue aborted.
NMAKE : fatal error U1077: 'D:\activeperl\Perl\bin\perl.exe' : return code '0x2'
Stop.
-----------------------------------------------------------------------------------
ATTENTION: DO NOT read, copy or disseminate this communication unless you are
the intended addressee. This message and any file(s) or attachment(s)
transmitted with it are confidential, intended only for the named recipient,
and may contain information that is a trade secret, proprietary, protected by
the attorney work product doctrine, subject to the attorney-client privilege,
or is otherwise protected against unauthorized use or disclosure. This message
and any file(s) or attachment(s) transmitted with it are transmitted based on a
reasonable expectation of privacy consistent with ABA Formal Opinion No.
99-413. If you have received this communication in error, please e-mail the
sender and notify the sender immediately that you have received the
communication in error. Thank you.