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

Hello,
Phase 1 of installing the Perl DBI module ended in utter failure with PPM's inability to converse with my proxy server and yes I had the HTTP_proxy environment variable set per the FAQ.

Phase 2 involved downloading the DBI gz file, unzipping it into a temp directory, running perl makefile.pl and then running nmake.

Perl Makefile.pl says that I have the MS Visual C++ compiler installed. Well I don't - I have OpenWatcom installed. The Makefile says that I don't have my LIB and INCLUDE environment variables sets. A simple SET command shows that I do have the INCLUDE correctly set and LIB is not needed according to the OpenWatcom documentation. Anyway, makefile.pl appears to terminate normally.

Next I run nmake which gives me the following output:

C:\jptemp\DBI-1.48>nmake (the one that comes with OpenWatcom)
Open Watcom C/C++ NMAKE Clone for 386 Version 1.3
Portions Copyright (c) 1995-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.
See http://www.openwatcom.org/ for details.
makefile(450): Error(E21): Extension(s) (.PHONY) not defined
makefile(450): Error(E09): Ignoring out of place Path Specifier
makefile(450): Error(E09): Ignoring out of place Path Specifier
makefile(450): Error(E09): Ignoring out of place Path Specifier
makefile(450): Error(E09): Ignoring out of place Path Specifier
makefile(450): Error(E09): Ignoring out of place Path Specifier
makefile(450): Error(E09): Ignoring out of place Path Specifier
makefile(456): Error(E23): Extensions reversed in implicit rule
makefile(462): Error(E23): Extensions reversed in implicit rule
makefile(498): Warning(W18): Unrecognized or out of place character '='
makefile(501): Warning(W18): Unrecognized or out of place character '='
makefile(504): Warning(W18): Unrecognized or out of place character '='
makefile(525): Warning(W18): Unrecognized or out of place character '='
makefile(535): Warning(W18): Unrecognized or out of place character '='
makefile(576): Warning(W18): Unrecognized or out of place character '='
makefile(584): Warning(W18): Unrecognized or out of place character '='
makefile(597): Warning(W18): Unrecognized or out of place character '='
makefile(611): Warning(W18): Unrecognized or out of place character '='
makefile(1061): Warning(W18): Unrecognized or out of place character '='
makefile(1061): Warning(W18): Unrecognized or out of place character '='
Error(E02): Make execution terminated


Okay so that failed. I now put the MS nmake in the DBI directory and set the LIB variable. Now Makefile.pl runs without error. I run nmake which seems to go well until the following:
Fatal error: Nothing to do!
NMAKE : fatal error U1077: 'C:\WINNT\system32\cmd.exe' :
return code '0xff'
Stop.

nmake test yields the same error.
The same happens when I run namke install.

Recklessly forging ahead, I write a small script to test things. Following is the log.

C:\jptemp\DBI-1.48>perl testdbi.pl
Can't locate loadable object for module DBI in @INC (@INC contains: C:/Perl/lib
C:/Perl/site/lib .) at DBI.pm line 254
BEGIN failed--compilation aborted at DBI.pm line 254.
Compilation failed in require at testdbi.pl line 3.
BEGIN failed--compilation aborted at testdbi.pl line 3.

Following is the script code:
#!/usr/bin/perl
use strict; # compiler pragma
use DBI;
print "DB Drivers\n";
print "==========\n";
print join("\n",DBI->available_drivers()),"\n\n";


FYI I am running Perl 5.8.7 under XP.
My question: what the blazes does it take to get a Perl module installed?

Signed Frustrated Perl Newbie.

Retitled by holli from 'Install Module Madness'.

  • Comment on Proxy server thwarts installation of DBI on Win32

Replies are listed 'Best First'.
Re: Proxy server thwarts installation of DBI on Win32
by samtregar (Abbot) on Jul 12, 2005 at 21:40 UTC
    Did you compile Perl itself with OpenWatcom? If not, I would not expect this to work. Usually XS Perl modules (like DBI) need to be compiled by the same compiler that compiled Perl.

    I think you should try harder to get PPM to work. That's almost certainly going to be less trouble than what you're doing now.

    -sam

      Hi Sam,

      I used the standard Active Perl MSI install version so in answer to your question, No I did not compile Perl myself.

      Regarding PPM, I have reinstalled Perl, played with many commands unrelated to install (only to get "method not implemented" error messages on several), read the doc, confirmed that the proxy environment variable was correctly set by using the SET command in my DOS session. I really don't know what more I can do re PPM.

      I think it would be really nice if there was a bulletproof way to install Perl modules.

      Thanks from a frustrated Perl Newbie.
        I'm sorry I can't help you get PPM working. I've never used it with a proxy; it's always just worked for me! Perhaps you can beg your system administrator for a direct route to the internet?

        -sam

Re: Proxy server thwarts installation of DBI on Win32
by sasikumar (Monk) on Jul 12, 2005 at 21:03 UTC
    Hi


    Do not get frustrated. Its simple to install perl modules.
    Just do this If u have downloaded the perl from active state
    ppm install DBI
    Thanks
    SasiKumar
      I voted this ++ and noticed after my vote, it still had -2... so I had to follow-up.

      Please see this comp.lang.perl.misc discussion and try and use the HTTP_Proxy variables again. But if that doesn't work the 3rd post down in the link will work. I have the same issues at work and this is exactly how I accomplish getting DBI installed on my local machine (for bare-bones testing of simple scripts, we have AIX machines for dev/test/QA/prod environments).

        Hi etm117,
        Read the thread at comp.lang.perl.misc. The instructions as presented there did not work. In fact I see no reason to expect those instructions to work. Why would just downloading the ppd file to your PC automatically change the way PPM works, as is implied in the instructions?

        Still Frustrated.
      Hi SasiKumar,

      Note that in my original post I indicated that PPM fails. And I did set the necessary environment variable. As of yesterday attempts at issuing any one of several commands resulted in a "method not found" error message.

      This morning using the install command, I got a URL not found message which is new. Now given that nothing has changed on my machine between yesterday and today, I find this curious.

      So I stand by my frustration. It really shouldn't be this hard.

      Thanks for taking the time to respond.

      Still Frustrated With It All
      (who is really Jim Plaxco of http://www.marsartgallery.com)
Re: Proxy server thwarts installation of DBI on Win32
by spectraphonic (Scribe) on Jul 12, 2005 at 22:16 UTC

    My question: what the blazes does it take to get a Perl module installed?

    My answer: perl -MCPAN -e shell

    ><

      Your answer is incorrect in this case. Just try installing DBI that way on a Windows box using Activestate Perl without MS Visual C++ and see what it gets you!

      -sam