http://qs321.pair.com?node_id=511699

jschollen has asked for the wisdom of the Perl Monks concerning the following question:

Hi Monks,

I'm trying to get PDL-2.4.2 running on my windows XP SP2 box. (Perl 5.8.6; Platform SDK 3790.1830; .NET framework 1.1; .NET framework SDK 1.1; Microsoft Visual C++ Toolkit 2003; Absoft Fortran 9.0; NMake 7.00.8882; cygwin (downloaded today)).

I've installed all the needed packages (and some extra's):
Astro::FITS::Header
ExtUtils::77
Inline
Filter
Text::Balanced
File::Spec
POD

I've already changed the lines in Basic\Core\pdlcore.c to:
((char*)pptr)+pdl->dimincs[pdl->ndims-1-plevel]* i * pdl_howbig(pdl->d +atatype)

I also made the changes as indicated in the install file delivered with the PDL package:
cd Basic\Core nmake Core.xs del getdev.pl # this one is important, otherwise you get + # a circular Makefile dependence! cd ..\.. perl Makefile.PL # with F77CONF=win32/win32f77.pl if you # want slatec nmake

After installing it all the way, I get an error in the final stage:

Error when running nmake test for the first time:
-------------------------------------------------
"****" " No f77 compiler found. Ought to skip PDL::Slatec on this system + " "****" "****" "Not building GSL modules: GSL version UNKNOWN VERSION found, but need + at least 1.3" "****" "****" " Skipping build of PDL::FFTW." "****" C:\Perl\bin\perl.exe -IC:/.cpan/build/PDL/blib/lib -IC:/.cpan/ +build/PDL/ blib/arch "-MPDL::PP qw/PDL::Transform PDL::Transform Transform/" tran +sform.pd cp Transform.pm ..\..\blib\lib\PDL/Transform.pm cp earth_coast.vec.fits ..\..\..\blib\lib\PDL\Transform/Cartography/ea +rth_coast. vec.fits cp earth_night.jpg ..\..\..\blib\lib\PDL\Transform/Cartography/earth_n +ight.jpg cp earth_day.jpg ..\..\..\blib\lib\PDL\Transform/Cartography/earth_day +.jpg cp Cartography.pm ..\..\..\blib\lib\PDL\Transform/Cartography.pm C:\Perl\bin\perl.exe -MExtUtils::Command -e touch Transform.xs C:\Perl\bin\perl.exe C:\Perl\lib\ExtUtils/xsubpp -typemap C:\ +Perl\lib\E xtUtils\typemap -typemap C:/.cpan/build/PDL/Basic/Core/typemap.pdl Tr +ansform.xs > Transform.xsc && C:\Perl\bin\perl.exe -MExtUtils::Command -e mv Tra +nsform.xsc Transform.c cl -c -IC:/.cpan/build/PDL/Basic/Core -nologo -Gf -W3 -MD -Z +i -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED - +DPERL_IMPL ICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -M +D -Zi -DND EBUG -O1 -DVERSION=\"2.4.2\" -DXS_VERSION=\"2.4.2\" "-IC:\Perl\li +b\CORE" Transform.c Transform.c c1 : warning C4349: /Gf is deprecated and will not be supported in fut +ure versio ns of Visual C++; remove /Gf or use /GF instead Transform.xs(38) : warning C4101: 'h2' : unreferenced local variable Transform.xs(38) : warning C4101: 'c2' : unreferenced local variable Transform.xs(230) : warning C4101: '__dim' : unreferenced local variab +le Transform.xs(302) : warning C4101: '__dim' : unreferenced local variab +le Transform.xs(381) : warning C4244: 'initializing' : conversion from 'd +ouble' to 'PDL_Byte', possible loss of data Transform.xs(450) : warning C4018: '<' : signed/unsigned mismatch Transform.xs(694) : warning C4244: '=' : conversion from 'PDL_Double' +to 'PDL_By te', possible loss of data Transform.xs(699) : warning C4244: '=' : conversion from 'PDL_Double' +to 'PDL_By te', possible loss of data Transform.xs(792) : warning C4244: 'initializing' : conversion from 'd +ouble' to 'PDL_Short', possible loss of data Transform.xs(861) : warning C4018: '<' : signed/unsigned mismatch Transform.xs(1105) : warning C4244: '=' : conversion from 'PDL_Double' + to 'PDL_S hort', possible loss of data Transform.xs(1110) : warning C4244: '=' : conversion from 'PDL_Double' + to 'PDL_S hort', possible loss of data Transform.xs(1203) : warning C4244: 'initializing' : conversion from ' +double' to 'PDL_Ushort', possible loss of data Transform.xs(1272) : warning C4018: '<' : signed/unsigned mismatch Transform.xs(1516) : warning C4244: '=' : conversion from 'PDL_Double' + to 'PDL_U short', possible loss of data Transform.xs(1521) : warning C4244: '=' : conversion from 'PDL_Double' + to 'PDL_U short', possible loss of data Transform.xs(1614) : warning C4244: 'initializing' : conversion from ' +double' to 'PDL_Long', possible loss of data Transform.xs(1683) : warning C4018: '<' : signed/unsigned mismatch Transform.xs(1927) : warning C4244: '=' : conversion from 'PDL_Double' + to 'PDL_L ong', possible loss of data Transform.xs(1932) : warning C4244: '=' : conversion from 'PDL_Double' + to 'PDL_L ong', possible loss of data Transform.xs(2025) : warning C4244: 'initializing' : conversion from ' +double' to 'PDL_LongLong', possible loss of data Transform.xs(2094) : warning C4018: '<' : signed/unsigned mismatch Transform.xs(2338) : warning C4244: '=' : conversion from 'PDL_Double' + to 'PDL_L ongLong', possible loss of data Transform.xs(2343) : warning C4244: '=' : conversion from 'PDL_Double' + to 'PDL_L ongLong', possible loss of data Transform.xs(2436) : warning C4244: 'initializing' : conversion from ' +double' to 'PDL_Float', possible loss of data Transform.xs(2505) : warning C4018: '<' : signed/unsigned mismatch Transform.xs(2749) : warning C4244: '=' : conversion from 'PDL_Double' + to 'PDL_F loat', possible loss of data Transform.xs(2754) : warning C4244: '=' : conversion from 'PDL_Double' + to 'PDL_F loat', possible loss of data Transform.xs(2916) : warning C4018: '<' : signed/unsigned mismatch Transform.xs(327) : warning C4101: '__dim' : unreferenced local variab +le Transform.xs(3221) : warning C4101: '__dim' : unreferenced local varia +ble Running Mkbootstrap for PDL::Transform () C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 Transfor +m.bs C:\Perl\bin\perl.exe -MExtUtils::Mksymlists -e "Mksymlists('N +AME'=>\"PD L::Transform\", 'DLBASE' => 'Transform', 'DL_FUNCS' => { }, 'FUNCLIST +' => [], ' IMPORTS' => { }, 'DL_VARS' => []);" link -out:..\..\blib\arch\auto\PDL\Transform\Transform.dll -dl +l -nologo -nodefaultlib -debug -opt:ref,icf -libpath:"C:\Perl\lib\CORE" -machi +ne:x86 Tra nsform.obj C:\Perl\lib\CORE\perl58.lib "C:\Program Files\Microsoft V +isual C++ Toolkit 2003\lib\oldnames.lib" "C:\Program Files\Microsoft Visual C++ +Toolkit 20 03\lib\kernel32.lib" "C:\Program Files\Microsoft Platform SDK\Lib\user +32.lib" "C :\Program Files\Microsoft Platform SDK\Lib\gdi32.lib" "C:\Program File +s\Microsof t Platform SDK\Lib\winspool.lib" "C:\Program Files\Microsoft Platform +SDK\Lib\co mdlg32.lib" "C:\Program Files\Microsoft Platform SDK\Lib\advapi32.lib" + "C:\Progr am Files\Microsoft Platform SDK\Lib\shell32.lib" "C:\Program Files\Mic +rosoft Pla tform SDK\Lib\ole32.lib" "C:\Program Files\Microsoft Platform SDK\Lib\ +oleaut32.l ib" "C:\Program Files\Microsoft Platform SDK\Lib\netapi32.lib" "C:\Pro +gram Files \Microsoft Platform SDK\Lib\uuid.lib" "C:\Program Files\Microsoft Plat +form SDK\L ib\ws2_32.lib" "C:\Program Files\Microsoft Platform SDK\Lib\mpr.lib" " +C:\Program Files\Microsoft Platform SDK\Lib\winmm.lib" "C:\Program Files\Microso +ft Platfor m SDK\Lib\version.lib" "C:\Program Files\Microsoft Platform SDK\Lib\od +bc32.lib" "C:\Program Files\Microsoft Platform SDK\Lib\odbccp32.lib" "C:\Program + Files\Mic rosoft Visual Studio .NET 2003\Vc7\lib\msvcrt.lib" -def:Transform.def Creating library ..\..\blib\arch\auto\PDL\Transform\Transform.lib a +nd object ..\..\blib\arch\auto\PDL\Transform\Transform.exp C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 755 ..\..\bl +ib\arch\au to\PDL\Transform\Transform.dll C:\Perl\bin\perl.exe -MExtUtils::Command -e cp Transform.bs .. +\..\blib\a rch\auto\PDL\Transform\Transform.bs C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 ..\..\bl +ib\arch\au to\PDL\Transform\Transform.bs podselect pdldoc > pdldoc.pod C:\Perl\bin\perl.exe "-Iblib\arch" "-Iblib\lib" perldl.PL perl +dl Extracting perldl (with variable substitutions) podselect perldl > perldl.pod cp perldl.pod blib\lib/PDL/perldl.pod cp pdldoc.pod blib\lib/PDL/pdldoc.pod C:\Perl\bin\perl.exe -MExtUtils::Command -e cp pdldoc blib\scr +ipt\pdldoc pl2bat.bat blib\script\pdldoc C:\Perl\bin\perl.exe -MExtUtils::Command -e cp perldl blib\scr +ipt\perldl pl2bat.bat blib\script\perldl C:\Perl\bin\perl.exe "-Iblib\arch" "-Iblib\lib" pdl.PL pdl C:\Perl\bin\perl.exe -MExtUtils::Command -e cp pdl blib\script +\pdl pl2bat.bat blib\script\pdl pl2bat.bat: Can't open blib\script\pdl: No such file or directory at C +:\Perl\bin \pl2bat.bat line 101. NMAKE : fatal error U1077: 'pl2bat.bat' : return code '0x1' Stop.

Error when running nmake test for the second time:
--------------------------------------------------
C:\.cpan\build\PDL-2.4.2>nmake test Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. C:\Perl\bin\perl.exe -MExtUtils::Command -e cp pptemplate ..\. +.\blib\scr ipt\pptemplate pl2bat.bat ..\..\blib\script\pptemplate "****" "No support for PDL::Graphics::IIS on win32 platform yet. Will skip bu +ild proces s" "****" "****" " Not building PDL::Graphics::Karma, turn on WITH_KARMA if this i +s incorrec t" "****" "****" "Cannot find plplot library (libplplotd.dll), skipping PDL::Graphics:: +PLplot Not building PDL::Graphics::PLplot" "****" "****" " No f77 compiler found. Ought to skip PDL::Slatec on this system + " "****" "****" "Not building GSL modules: GSL version UNKNOWN VERSION found, but need + at least 1.3" "****" "****" " Skipping build of PDL::FFTW." "****" podselect pdldoc > pdldoc.pod podselect perldl > perldl.pod Skip blib\lib/PDL/perldl.pod (unchanged) Skip blib\lib/PDL/pdldoc.pod (unchanged) C:\Perl\bin\perl.exe -MExtUtils::Command -e cp pdldoc blib\scr +ipt\pdldoc pl2bat.bat blib\script\pdldoc C:\Perl\bin\perl.exe "-Iblib\arch" "-Iblib\lib" pdl.PL pdl C:\Perl\bin\perl.exe -MExtUtils::Command -e cp pdl blib\script +\pdl pl2bat.bat blib\script\pdl pl2bat.bat: Can't open blib\script\pdl: No such file or directory at C +:\Perl\bin \pl2bat.bat line 101. NMAKE : fatal error U1077: 'pl2bat.bat' : return code '0x1' Stop.

I'm out of tricks for this one. Can someone help me?

Janitored: holli added readmore tags.

Replies are listed 'Best First'.
Re: PDL compilation problem
by swampyankee (Parson) on Nov 25, 2005 at 18:00 UTC

    Did you check to see if:

    • Absoft's command line interface is named "f77"
    • and it's in your path?

    One of the worst problems I find with Windows is that using any kind of command line app quickly gets to be a major pain in the a**neck.

    emc

      F77??? My keyboard only goes up to F12!!!
        lol... F77 = Fortran 77

        Jason L. Froebe

        Team Sybase member

        No one has seen what you have seen, and until that happens, we're all going to think that you're nuts. - Jack O'Neil, Stargate SG-1

      I find with Windows is that using any kind of command line app quickly gets to be a major pain

      If the command name is mis-spelt, or not in the path under unix, it would also have problems locating it. Why is this any worse under Windows?

      Come to that, if the command name is F77.exe, but the user/batch file invokes it as 'f77', Windows will still run it, if it is locatable, so if anything, it is slightly easier.


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
      Absoft's command line interface is indeed called "f77".
      I also set my path correct.
      But fellow monk Madcap Laughs gave the solution to this problem on the site he mentioned.
      Thanks thou.
Re: PDL compilation problem
by PodMaster (Abbot) on Nov 25, 2005 at 18:44 UTC
    Just call me eagle eye
    C:\Perl\bin\perl.exe -MExtUtils::Command -e cp pdl blib\script\pdl
    pl2bat.bat blib\script\pdl
    pl2bat.bat: Can't open blib\script\pdl: No such file or directory at C:\Perl\bin\pl2bat.bat line 101.
    So you just do a  echo #>pdl and you're done :)

    MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
    I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
    ** The third rule of perl club is a statement of fact: pod is sexy.

      Amazing! It works.

      Do you know why it works? (since it is an empty file you put in place).

      Thanks.
Re: PDL compilation problem
by Madcap Laughs (Acolyte) on Nov 26, 2005 at 00:18 UTC
      cool!
      your site got me helpt me to get rid of the F77 problem.
      Thanks.
Re: PDL compilation problem
by jfroebe (Parson) on Nov 25, 2005 at 16:49 UTC

    Hi,

    Can you add a readmore tag? It is quite a long post. - nevermind. I spoke too soon and should have used consider

    Thanks :)

    Update: Didn't know about consider. Now I do. :)

    Jason L. Froebe

    Team Sybase member

    No one has seen what you have seen, and until that happens, we're all going to think that you're nuts. - Jack O'Neil, Stargate SG-1

      Will do