Operating System - HP-UX
1823417 Members
2763 Online
109655 Solutions
New Discussion юеВ

perl: Can't locate ExtUtils/MakeMaker.pm

 
SOLVED
Go to solution
Carme Torca
Super Advisor

perl: Can't locate ExtUtils/MakeMaker.pm

Hi,

I want to install the module DBI-1.46 in perl.
I have download the file, but when I do

# perl Makefile.PL
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: lib /project/iASv2/sr
c/pdc_perl/bin/HPUX/Opt/lib/5.6.1/PA-RISC2.0 /project/iASv2/src/pdc_perl/bin/HPU
X/Opt/lib/5.6.1 /project/iASv2/src/pdc_perl/bin/HPUX/Opt/lib/site_perl/5.6.1/PA-
RISC2.0 /project/iASv2/src/pdc_perl/bin/HPUX/Opt/lib/site_perl/5.6.1 /project/iA
Sv2/src/pdc_perl/bin/HPUX/Opt/lib/site_perl .) at Makefile.PL line 31.
BEGIN failed--compilation aborted at Makefile.PL line 31.

its shows this error.
I have prove to put this files in the same directory that is this module, but there are a lot of files. Does anyone knows how I could modify @INC to put there all the paths with librarys??

Thanks a lot of,
Carmen.
Users are not too bad ;-)
13 REPLIES 13
Fred Ruffet
Honored Contributor

Re: perl: Can't locate ExtUtils/MakeMaker.pm

IMHO ExtUtils::MakeMaker is part of perl distribution. It sound strange you don't have it, but as long as it doesn't seem to be installed in a conventionnal PATH, you maybe not used depot file. It is normally located in lib/5.6.1 subdirectory of your perl installation dir. If it not there, you can download module from http://cpan.org/

Regards,

Fred
--

"Reality is just a point of view." (P. K. D.)
Ralph Grothe
Honored Contributor
Solution

Re: perl: Can't locate ExtUtils/MakeMaker.pm

Check your Include Array.
It should look similar (version, architecture dependant) to this

# perl -le 'print join "\n",@INC'
/opt/perl5/lib/5.8.0/PA-RISC2.0-LP64
/opt/perl5/lib/5.8.0
/opt/perl5/lib/site_perl/5.8.0/PA-RISC2.0-LP64
/opt/perl5/lib/site_perl/5.8.0
/opt/perl5/lib/site_perl
.

The ExtUtils::MakeMaker module should be in the search path

e.g.

# ll /opt/perl5/lib/5.8.0/ExtUtils/MakeMaker.pm
-r--r--r-- 1 root sys 73040 Jul 4 2003 /opt/perl5/lib/5.8.0/ExtUtils/MakeMaker.pm
Madness, thy name is system administration
Ralph Grothe
Honored Contributor

Re: perl: Can't locate ExtUtils/MakeMaker.pm

Forgot,
if really necessary you could unshift your own search path in the @INC array by using the "use lib" pragma, or on the command line like

# perl -Mlib=/home/me/my/modules -le 'print join "\n",@INC'
/home/me/my/modules
/opt/perl5/lib/5.8.0/PA-RISC2.0-LP64
/opt/perl5/lib/5.8.0
/opt/perl5/lib/site_perl/5.8.0/PA-RISC2.0-LP64
/opt/perl5/lib/site_perl/5.8.0
/opt/perl5/lib/site_perl
.

However, MakeMaker is part of the basic Perl distro and should already be included in the search path.

Please check also

# perl -MExtUtils::MakeMaker -le 'print $ExtUtils::MakeMaker::VERSION'
6.03
Madness, thy name is system administration
H.Merijn Brand (procura
Honored Contributor

Re: perl: Can't locate ExtUtils/MakeMaker.pm

If you are planning to make DBI in order to install DBD::Oracle, stop now, before you get frustrated, because the perl you are using does is not built to support DBD::Oracle. I'm sure. It's a 5.6.1 build that - unless you were an expert when you built it yourself - does not have the needed libs in the right place. And /if/ you were an expert, you would have solved this question yourself anyway.

So, assuming I'm correct, you either fetch a more recent perl binary prebuild from one of the available sources (HP Porting center on http://hpux.connect.org.uk/ or my site at http://mirrors.develooper.com/hpux/ ), or rebuild perl from source yourself, which is a good option if you are using HP C-ANSI-C, because all binary distro's for HP-UX are - as far as I know - built with GNU gcc, and your problem post does not state what compiler you use.

My build includes the most recent DBI at the moment of build.

And to answer your question, you can set the perl lib path in $PERL5LIB

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
Ralph Grothe
Honored Contributor

Re: perl: Can't locate ExtUtils/MakeMaker.pm

Sorry, I wasn't paying enough attention to your output.
Your @INC looks strange, at least non-standard to me.
Have you installed your Perl under /project/iASv2, or has someone modified it (e.g. in a profile script or other)?
If you are using the precompiled HP-UX Perl build it should have been installed beneath /opt.
Please post the output of "perl -V",
to see if you're running a custom built Perl.
Madness, thy name is system administration
Carme Torca
Super Advisor

Re: perl: Can't locate ExtUtils/MakeMaker.pm

Hi,

I have do this:

# perl -le 'print join "\n", @INC'
/project/iASv2/src/pdc_perl/bin/HPUX/Opt/lib/5.6.1/PA-RISC2.0
/project/iASv2/src/pdc_perl/bin/HPUX/Opt/lib/5.6.1
/project/iASv2/src/pdc_perl/bin/HPUX/Opt/lib/site_perl/5.6.1/PA-RISC2.0
/project/iASv2/src/pdc_perl/bin/HPUX/Opt/lib/site_perl/5.6.1
/project/iASv2/src/pdc_perl/bin/HPUX/Opt/lib/site_perl

but I don't have this directory.

#find / -name MakeMaker.pm
/opt/perl/lib/5.6.1/ExtUtils/MakeMaker.pm
/opt/OV/contrib/perl/lib/5.6.1/ExtUtils/MakeMaker.pm
/Serveis/oas10g/perl/lib/5.6.1/ExtUtils/MakeMaker.pm

I would like to install this module in /Serveis/oas10g/perl/lib/5.6.1, so:

#pwd
/Serveis/oas10g/perl/lib/5.6.1

#perl -Mlib=/Serveis/oas10g/perl/lib/5.6.1 -le 'print join "\n",@INC'
Can't locate Config.pm in @INC (@INC contains: /project/iASv2/src/pdc_perl/bin/HPUX/Opt/lib/5.6.1/PA-RISC2.0 /project/iASv2/src/pdc_perl/bin/HPUX/Opt/lib/5.6.1 /project/iASv2/src/pdc_perl/bin/HPUX/Opt/lib/site_perl/5.6.1/PA-RISC2.0 /project/iASv2/src/pdc_perl/bin/HPUX/Opt/lib/site_perl/5.6.1 /project/iASv2/src/pdc_perl/bin/HPUX/Opt/lib/site_perl .) at lib.pm line 4.
BEGIN failed--compilation aborted at lib.pm line 4.
Compilation failed in require.
BEGIN failed--compilation aborted.


but its returns this error. Any idea??

Thanks,
Carmen.
Users are not too bad ;-)
Fred Ruffet
Honored Contributor

Re: perl: Can't locate ExtUtils/MakeMaker.pm

Where do you get this perl from ? Have you compiled from source ?

Regards,

Fred
--

"Reality is just a point of view." (P. K. D.)
Carme Torca
Super Advisor

Re: perl: Can't locate ExtUtils/MakeMaker.pm

I have download the file DBI-1.46.tar, and I have only gunzip and tar xvf in /tmp/perl, and I an doing there:

# perl Makefile.PL


Maybe this is not correct??

Thanks!,
Carmen.
Users are not too bad ;-)
Carme Torca
Super Advisor

Re: perl: Can't locate ExtUtils/MakeMaker.pm

I have download it from: http://search.cpan.org/~timb/DBI-1.46/

Users are not too bad ;-)
Fred Ruffet
Honored Contributor

Re: perl: Can't locate ExtUtils/MakeMaker.pm

I'm not talking about DBI, but really perl itself.

Regards,

Fred
--

"Reality is just a point of view." (P. K. D.)
Ralph Grothe
Honored Contributor

Re: perl: Can't locate ExtUtils/MakeMaker.pm

From your find I gather that you have three different Perl interpreters and your environment got a bit mingled.

Besides, don't use the -M option to load another path that I told you before.
As procura suggested the usual way would be to set the PERL5LIB variable (if you really need to).
I simply forgot about that one.

First find out which of the three interpreters gets invoked.

e.g.
which perl
or
type perl

As said before, to see how this Perl was built (i.e. which compiler etc) post the output from
"perl -V"
Alternatively you could post us the dump from

perl -MConfig -e 'map{printf "%s => %s\n",$Config{$_},$_} sort keys %Config'

(no, just kidding, this would be overkill)
Madness, thy name is system administration
Ralph Grothe
Honored Contributor

Re: perl: Can't locate ExtUtils/MakeMaker.pm

Presumably it's just a symlink pointing to the wrong directory.
If so, where is it pointing to?

# ll $(which perl)
lrwxr-xr-x 1 root sys 19 Jul 6 2003 /usr/bin/perl -> /opt/perl5/bin/perl

If your Perl isn't a very special custom built Perl that contains special modules,
go and download the build from procura, or if you're adventuous get the sources and build your own.

(Outch, by accident I swapped key and value, and the formatting yields clutter,
maybe this works better?

perl -MConfig -e 'map{printf "%-20s => %s\n",$_,$Config{$_}} sort keys %Config'
Madness, thy name is system administration
Carme Torca
Super Advisor

Re: perl: Can't locate ExtUtils/MakeMaker.pm

Hi,

Finally I have do one link between
/project/iASv2/src/pdc_perl/bin/HPUX/Opt/lib
and /Serveis/oas10g/perl/lib/5.6.1

and then it has works ok.

Thanks everyone.
Carmen.


Users are not too bad ;-)