http://www.perlmonks.org?node_id=485155


in reply to Re^3: Windows PDL complie issue
in thread Windows PDL complie issue

So I made the suggested edits to both pdlcore.c.PL and pdl.pl. And still no success. The make file looked the same but nmake failed on something different. The output is shown below (I will update he above post when I get a chance):

C:\Perl\bin\perl.exe "-Iblib\arch" "-Iblib\lib" pdldoc.PL pdldoc
Extracting pdldoc (NO bad value support)
cp Reduce.pm ..\blib\lib/PDL/Reduce.pm
cp default.pdl ..\blib\lib/PDL/default.pdl
cp PDL.pm ..\blib\lib/PDL.pm
cp Lite.pm ..\blib\lib/PDL/Lite.pm
cp Options.pm ..\blib\lib/PDL/Options.pm
cp LiteF.pm ..\blib\lib/PDL/LiteF.pm
cp AutoLoader.pm ..\blib\lib/PDL/AutoLoader.pm
cp Lvalue.pm ..\blib\lib/PDL/Lvalue.pm
cp Matrix.pm ..\blib\lib/PDL/Matrix.pm
cp BadValues.pod ..\..\blib\lib\PDL/BadValues.pod
cp Impatient.pod ..\..\blib\lib\PDL/Impatient.pod
cp Internals.pod ..\..\blib\lib\PDL/Internals.pod
cp PP-Inline.pod ..\..\blib\lib\PDL/PP-Inline.pod
cp Tips.pod ..\..\blib\lib\PDL/Tips.pod
cp Dataflow.pod ..\..\blib\lib\PDL/Dataflow.pod
cp Delta.pod ..\..\blib\lib\PDL/Delta.pod
cp FAQ.pod ..\..\blib\lib\PDL/FAQ.pod
cp Philosophy.pod ..\..\blib\lib\PDL/Philosophy.pod
cp Indexing.pod ..\..\blib\lib\PDL/Indexing.pod
cp Objects.pod ..\..\blib\lib\PDL/Objects.pod
cp Intro.pod ..\..\blib\lib\PDL/Intro.pod
cp PP.pod ..\..\blib\lib\PDL/PP.pod
cp API.pod ..\..\blib\lib\PDL/API.pod
C:\Perl\bin\perl.exe PP/dump.pp > PP/Dump.pm.tmp
move PP\Dump.pm.tmp PP\Dump.pm
C:\Perl\bin\perl.exe "-I..\..\blib\arch" "-I..\..\blib\lib" pptemplate.PL pptemplate
Extracting pptemplate (with variable substitutions)
podselect pptemplate > pptemplate.pod
cp PP.pm ..\..\blib\lib\PDL/PP.pm
cp PP/Var.pm ..\..\blib\lib\PDL/PP/Var.pm
cp PP/CType.pm ..\..\blib\lib\PDL/PP/CType.pm
cp PP/PDLCode.pm ..\..\blib\lib\PDL/PP/PDLCode.pm
cp PP/SymTab.pm ..\..\blib\lib\PDL/PP/SymTab.pm
cp PP/PdlParObj.pm ..\..\blib\lib\PDL/PP/PdlParObj.pm
cp PP/Signature.pm ..\..\blib\lib\PDL/PP/Signature.pm
cp PP/XS.pm ..\..\blib\lib\PDL/PP/XS.pm
cp PP/Dump.pm ..\..\blib\lib\PDL/PP/Dump.pm
cp pptemplate.pod ..\..\blib\lib\PDL/pptemplate.pod
cp PP/Struct.pm ..\..\blib\lib\PDL/PP/Struct.pm
cp PP/Dims.pm ..\..\blib\lib\PDL/PP/Dims.pm
cp Pdlpp.pm ..\..\..\blib\lib/Inline/Pdlpp.pm
cp MakePdlppInstallable.pm ..\..\..\blib\lib/Inline/MakePdlppInstallable.pm
C:\Perl\bin\perl.exe -MExtUtils::Command -e cp pptemplate ..\..\blib\script\pptemplate
pl2bat.bat ..\..\blib\script\pptemplate
cp NiceSlice.pm ..\..\blib\lib\PDL\NiceSlice.pm
C:\Perl\bin\perl.exe -I..\..\blib\arch -I..\..\blib\lib -IC:\Perl\lib -IC:\Perl\lib Core.pm.PL Core.pm
Extracting Core.pm (NO bad value support)
C:\Perl\bin\perl.exe -I..\..\blib\arch -I..\..\blib\lib -IC:\Perl\lib -IC:\Perl\lib Core.pm.PL Core.pm
Extracting Core.pm (NO bad value support)
C:\Perl\bin\perl.exe -I..\..\blib\arch -I..\..\blib\lib -IC:\Perl\lib -IC:\Perl\lib pdl.h.PL pdl.h
adding...
#define PDL_U PDL_US
#define PDL_Q PDL_LL
Extracting pdl.h
C:\Perl\bin\perl.exe "-I..\..\blib\arch" "-I..\..\blib\lib" pdlcore.h.PL pdlcore.h
Extracting pdlcore.h
C:\Perl\bin\perl.exe -I..\..\blib\arch -I..\..\blib\lib -IC:\Perl\lib -IC:\Perl\lib pdlcore.h.PL pdlcore.h
Extracting pdlcore.h
C:\Perl\bin\perl.exe "-I..\..\blib\arch" "-I..\..\blib\lib" pdlsimple.h.PL pdlsimple.h
adding...
#define PDL_U PDL_US
#define PDL_Q PDL_LL
Extracting pdlsimple.h (with variable substitutions)
C:\Perl\bin\perl.exe -I..\..\blib\arch -I..\..\blib\lib -IC:\Perl\lib -IC:\Perl\lib pdlsimple.h.PL pdlsimple.h
adding...
#define PDL_U PDL_US
#define PDL_Q PDL_LL
Extracting pdlsimple.h (with variable substitutions)
cp Dbg.pm ..\..\blib\lib\PDL/Dbg.pm
cp pdl.h ..\..\blib\lib\PDL/Core/pdl.h
cp Core.pm ..\..\blib\lib\PDL/Core.pm
cp Config.pm ..\..\blib\lib\PDL/Config.pm
cp Types.pm ..\..\blib\lib\PDL/Types.pm
cp Char.pm ..\..\blib\lib\PDL/Char.pm
cp Basic.pm ..\..\blib\lib\PDL/Basic.pm
cp pdlthread.h ..\..\blib\lib\PDL/Core/pdlthread.h
cp ppport.h ..\..\blib\lib\PDL/Core/ppport.h
cp Exporter.pm ..\..\blib\lib\PDL/Exporter.pm
cp Version.pm ..\..\blib\lib\PDL/Version.pm
cp pdlcore.h ..\..\blib\lib\PDL/Core/pdlcore.h
cp pdlsimple.h ..\..\blib\lib\PDL/Core/pdlsimple.h
cp typemap.pdl ..\..\blib\lib\PDL/Core/typemap.pdl
cp pdlmagic.h ..\..\blib\lib\PDL/Core/pdlmagic.h
cp Dev.pm ..\..\blib\lib\PDL/Core/Dev.pm
C:\Perl\bin\perl.exe "-I..\..\blib\arch" "-I..\..\blib\lib" pdlcore.c.PL pdlcore.c
Extracting pdlcore.c (NO bad value support)
#define finite _finite
#include <float.h>
Trying finite: math.h...
testfile.c
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.

/out:testfile.exe
/out:C:\DOCUME~1\BLANCH~1\LOCALS~1\Temp\testfile.exe
testfile.obj
testfile.obj : error LNK2019: unresolved external symbol _finite referenced in function _main
C:\DOCUME~1\BLANCH~1\LOCALS~1\Temp\testfile.exe : fatal error LNK1120: 1 unresolved externals
NO
Trying finite: ieeefp.h...
testfile.c
C:\Documents and Settings\blanchards\Local Settings\Temp\testfile.c(1) : fatal error C1083: Cannot open include
file: 'ieeefp.h': No such file or directory
NO
C:\Perl\bin\perl.exe -I..\..\blib\arch -I..\..\blib\lib -IC:\Perl\lib -IC:\Perl\lib pdlcore.c.PL pdlcore.c
Extracting pdlcore.c (NO bad value support)
#define finite _finite
#include <float.h>
Trying finite: math.h...
testfile.c
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.

/out:testfile.exe
/out:C:\DOCUME~1\BLANCH~1\LOCALS~1\Temp\testfile.exe
testfile.obj
testfile.obj : error LNK2019: unresolved external symbol _finite referenced in function _main
C:\DOCUME~1\BLANCH~1\LOCALS~1\Temp\testfile.exe : fatal error LNK1120: 1 unresolved externals
NO
Trying finite: ieeefp.h...
testfile.c
C:\Documents and Settings\blanchards\Local Settings\Temp\testfile.c(1) : fatal error C1083: Cannot open include
file: 'ieeefp.h': No such file or directory
NO
C:\Perl\bin\perl.exe -I..\..\blib\arch -I..\..\blib\lib -IC:\Perl\lib -IC:\Perl\lib pdlcore.c.PL pdlcore.c
Extracting pdlcore.c (NO bad value support)
#define finite _finite
#include <float.h>
Trying finite: math.h...
testfile.c
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.

/out:testfile.exe
/out:C:\DOCUME~1\BLANCH~1\LOCALS~1\Temp\testfile.exe
testfile.obj
testfile.obj : error LNK2019: unresolved external symbol _finite referenced in function _main
C:\DOCUME~1\BLANCH~1\LOCALS~1\Temp\testfile.exe : fatal error LNK1120: 1 unresolved externals
NO
Trying finite: ieeefp.h...
testfile.c
C:\Documents and Settings\blanchards\Local Settings\Temp\testfile.c(1) : fatal error C1083: Cannot open include
file: 'ieeefp.h': No such file or directory
NO
cl -c -nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT
-DNO_HASH_SEED -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG
-O1 -DVERSION=\"2.4.2\" -DXS_VERSION=\"2.4.2\" -IC:\Perl\lib\CORE pdlcore.c
pdlcore.c
c1 : warning C4349: /Gf is deprecated and will not be supported in future versions of Visual C++; remove /Gf or
use /GF instead
pdlcore.c(22) : warning C4101: 'ref' : unreferenced local variable
pdlcore.c(71) : warning C4244: 'initializing' : conversion from 'double' to 'PDL_Byte', possible loss of data
pdlcore.c(72) : warning C4244: 'initializing' : conversion from 'double' to 'PDL_Short', possible loss of data
pdlcore.c(73) : warning C4244: 'initializing' : conversion from 'double' to 'PDL_Ushort', possible loss of data
pdlcore.c(74) : warning C4244: 'initializing' : conversion from 'double' to 'PDL_Long', possible loss of data
pdlcore.c(75) : warning C4244: 'initializing' : conversion from 'double' to 'PDL_LongLong', possible loss of data
pdlcore.c(76) : warning C4244: 'initializing' : conversion from 'double' to 'PDL_Float', possible loss of data
pdlcore.c(88) : warning C4244: 'initializing' : conversion from 'double' to 'PDL_Float', possible loss of data
pdlcore.c(100) : warning C4101: 'hash' : unreferenced local variable
pdlcore.c(140) : warning C4101: 'fake' : unreferenced local variable
pdlcore.c(144) : warning C4101: 'dat' : unreferenced local variable
pdlcore.c(402) : warning C4018: '<' : signed/unsigned mismatch
pdlcore.c(455) : warning C4101: 'msg' : unreferenced local variable
c:\pdl-2.4.2\basic\core\pdlcore.c(65) : warning C4715: 'pdl_howbig' : not all control paths return a value
c:\pdl-2.4.2\basic\core\pdlcore.c(83) : warning C4715: 'pdl_whichdatatype' : not all control paths return a value
c:\pdl-2.4.2\basic\core\pdlcore.c(95) : warning C4715: 'pdl_whichdatatype_double' : not all control paths return
a value
c:\pdl-2.4.2\basic\core\pdlcore.c(386) : warning C4715: 'pdl_safe_indterm' : not all control paths return a value
cl -c -nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT
-DNO_HASH_SEED -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG
-O1 -DVERSION=\"2.4.2\" -DXS_VERSION=\"2.4.2\" -IC:\Perl\lib\CORE pdlapi.c
pdlapi.c
c1 : warning C4349: /Gf is deprecated and will not be supported in future versions of Visual C++; remove /Gf or
use /GF instead
pdlapi.c(81) : warning C4101: 'bar' : unreferenced local variable
pdlapi.c(162) : warning C4013: 'pdl__print_magic' undefined; assuming extern returning int
pdlapi.c(575) : warning C4101: 'i' : unreferenced local variable
pdlapi.c(599) : warning C4244: '=' : conversion from 'short' to 'unsigned char', possible loss of data
pdlapi.c(616) : warning C4244: '=' : conversion from 'short' to 'unsigned char', possible loss of data
pdlapi.c(1078) : warning C4101: 'c' : unreferenced local variable
pdlapi.c(1267) : warning C4101: 'i' : unreferenced local variable
cl -c -nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT
-DNO_HASH_SEED -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG
-O1 -DVERSION=\"2.4.2\" -DXS_VERSION=\"2.4.2\" -IC:\Perl\lib\CORE pdlhash.c
pdlhash.c
c1 : warning C4349: /Gf is deprecated and will not be supported in future versions of Visual C++; remove /Gf or
use /GF instead
pdlhash.c(59) : warning C4018: '<' : signed/unsigned mismatch
pdlhash.c(25) : warning C4101: 'hash' : unreferenced local variable
cl -c -nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT
-DNO_HASH_SEED -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG
-O1 -DVERSION=\"2.4.2\" -DXS_VERSION=\"2.4.2\" -IC:\Perl\lib\CORE pdlthread.c
pdlthread.c
c1 : warning C4349: /Gf is deprecated and will not be supported in future versions of Visual C++; remove /Gf or
use /GF instead
pdlthread.c(479) : warning C4005: 'croak' : macro redefinition
c:\Perl\lib\CORE\embed.h(5138) : see previous definition of 'croak'
pdlthread.c(443) : warning C4101: 'msv' : unreferenced local variable
C:\Perl\bin\perl.exe "-I..\..\blib\arch" "-I..\..\blib\lib" pdlconv.c.PL pdlconv.c
Extracting pdlconv.c
C:\Perl\bin\perl.exe -I..\..\blib\arch -I..\..\blib\lib -IC:\Perl\lib -IC:\Perl\lib pdlconv.c.PL pdlconv.c
Extracting pdlconv.c
cl -c -nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT
-DNO_HASH_SEED -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG
-O1 -DVERSION=\"2.4.2\" -DXS_VERSION=\"2.4.2\" -IC:\Perl\lib\CORE pdlconv.c
pdlconv.c
c1 : warning C4349: /Gf is deprecated and will not be supported in future versions of Visual C++; remove /Gf or
use /GF instead
pdlconv.c(361) : warning C4101: 'hash' : unreferenced local variable
cl -c -nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT
-DNO_HASH_SEED -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG
-O1 -DVERSION=\"2.4.2\" -DXS_VERSION=\"2.4.2\" -IC:\Perl\lib\CORE pdlmagic.c
pdlmagic.c
c1 : warning C4349: /Gf is deprecated and will not be supported in future versions of Visual C++; remove /Gf or
use /GF instead
C:\Perl\bin\perl.exe -e "require './getdev.pl'" pdlsections.g > pdlsections.c
cl -c -nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT
-DNO_HASH_SEED -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG
-O1 -DVERSION=\"2.4.2\" -DXS_VERSION=\"2.4.2\" -IC:\Perl\lib\CORE pdlsections.c
pdlsections.c
c1 : warning C4349: /Gf is deprecated and will not be supported in future versions of Visual C++; remove /Gf or
use /GF instead
pdlsections.c(307) : warning C4244: '=' : conversion from 'double' to 'PDL_Long', possible loss of data
pdlsections.c(315) : warning C4244: '=' : conversion from 'double' to 'PDL_Float', possible loss of data
pdlsections.c(323) : warning C4244: '=' : conversion from 'double' to 'PDL_Short', possible loss of data
pdlsections.c(331) : warning C4244: '=' : conversion from 'double' to 'PDL_Ushort', possible loss of data
pdlsections.c(347) : warning C4244: '=' : conversion from 'double' to 'PDL_Byte', possible loss of data
pdlsections.c(355) : warning C4244: '=' : conversion from 'double' to 'PDL_LongLong', possible loss of data
Running Mkbootstrap for PDL::Core ()
C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 Core.bs
C:\Perl\bin\perl.exe -MExtUtils::Mksymlists -e "Mksymlists('NAME'=>\"PDL::Core\", 'DLBASE' => 'Core',
'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);"
link -out:..\..\blib\arch\auto\PDL\Core\Core.dll -dll -nologo -nodefaultlib -debug -opt:ref,icf
-libpath:"C:\Perl\lib\CORE" -machine:x86 Core.obj pdlcore.obj pdlapi.obj pdlhash.obj pdlthread.obj pdlconv.obj
pdlmagic.obj pdlsections.obj C:\Perl\lib\CORE\perl58.lib C:\Perl\lib\CORE\oldnames.lib
C:\Perl\lib\CORE\kernel32.lib C:\Perl\lib\CORE\user32.lib C:\Perl\lib\CORE\gdi32.lib
C:\Perl\lib\CORE\winspool.lib C:\Perl\lib\CORE\comdlg32.lib C:\Perl\lib\CORE\advapi32.lib
C:\Perl\lib\CORE\shell32.lib C:\Perl\lib\CORE\ole32.lib C:\Perl\lib\CORE\oleaut32.lib
C:\Perl\lib\CORE\netapi32.lib C:\Perl\lib\CORE\uuid.lib C:\Perl\lib\CORE\wsock32.lib C:\Perl\lib\CORE\mpr.lib
C:\Perl\lib\CORE\winmm.lib C:\Perl\lib\CORE\version.lib C:\Perl\lib\CORE\odbc32.lib
C:\Perl\lib\CORE\odbccp32.lib C:\Perl\lib\CORE\msvcrt.lib -def:Core.def
LINK : fatal error LNK1181: cannot open input file 'Core.obj'

I will also update the PDL people. Thanks for your help.
-hokie