I tried to install CGI, DBI and DBD::Oracle and drivers in a 64-bit Solaris environment, but to little avail. The number of errors I have encountered is mind-boggling and the number of workaround solutions I have tried - from changing environment variables, changing directory references, moving and copying files, changing compilers, etc. - is even worse. And the worst part is that there is very little documentation for installing said modules in the newest version of Solaris.
Here are the initial steps we have been going through.
First we go to http://search.cpan.org/. Then we download:
Next we open up a terminal window, switch to root, then navigate to our "Downloads" folder.
From here we decompress the previously downloaded files (no problems here):
gunzip -c CGI.pm-3.59.tar.gz |tar xvf - gunzip -c DBI-1.621.tar.gz |tar xvf - gunzip -c DBD-Oracle-1.44.tar.gz |tar xvf -
Then we archive the tar files in case we might need them later on.
mkdir archive_tar mv *.gz $HOME/Downloads/archive_tar
Here is where it gets slightly confusing, as we are not sure if these steps are completely necessary. Basically, we believe we need to set up the correct Perl (64-bit required for the newest Oracle, default Perl used is 32-bit).
- Type
which perl
in order to determine which current version of Perl you are using. It should indicate you are using the default version (or 32-bit). - Verify that you have a 64-bit Perl installation available by doing the following: type
file /opt/oracle/rdbms/perl/bin/perl
- You should see
ELF 64-bit LSB executable AMD64 Version 1 [SSE2 SSE FXSR CMOV FPU], dynamically linked, not stripped<
. - Switch to using this version of Perl by adding it to the
PATH
variable:export PATH=/opt/oracle/rdbms/perl/bin:$PATH
- Type
which perl
. Verify that this now shows the Perl located atopt/oracle/rdbms/perl/bin/perl
. Type
perl -V
, if it shows errors, set the variables below:export PERL5LIB=/opt/oracle/rdbms/perl/lib/5.10.0 export PERLLIB=/opt/oracle/rdbms/perl/lib/5.10.0
- Type
Now we set up
cc
(the compiler) to work so that we can install CGI/DBI/DBD-Oracle.- Type
cc --version
to verify that it sayscc
is not found. - Open up a browser and navigate to Solaris Studio. Here you will find a package which contains Sun's compiler.
- Download "Tarfile on Solaris SPARC" for the Solaris 11 OS Platform.
- In your terminal window, decompress the above file by typing:
bzcat SolarisStudio12.3-solaris-sparc-bin.tar.bz2 | tar xf -
- Move the
.bz2
file to our previously created archive folder:mv SolarisStudio12.3-solaris-sparc-bin.tar.bz2 $HOME/Downloads/archive_tar
- Now we want to add the new compiler to our path, we do this through:
export PATH=$PATH:/home/oracle/Downloads/SolarisStudio12.3-solaris-sparc-bin/solarisstudio12.3/bin
- Type
cc --version
, this command shouldn't do anything (possibly throw a few warnings), but it won't saycc not found
anymore.
- Type
Here we begin to install the modules and the driver, starting with the CGI module:
- Navigate to
$HOME/Downloads/CGI.pm-3.59
- Type
perl Makefile.PL
We need to change the make file to point to the correct location.
- Type
vi Makefile
:%s,../lib/site_perl/5.10.0,/opt/oracle/rdbms/perl/lib/site_perl/5.10.0,g
:%s,../lib/5.10.0,/opt/oracle/rdbms/perl/lib/5.10.0,g
- Type
Now type
make
- Then type
make install
- Next we move onto the DBI module. Navigate to
$HOME/Downloads/DBI-1.621
. - Type
perl Makefile.PL
Again, we need to change this make file to point to the correct location.
- Type
vi Makefile
:%s,../lib/site_perl/5.10.0,/opt/oracle/rdbms/perl/lib/site_perl/5.10.0,g
:%s,../lib/5.10.0,/opt/oracle/rdbms/perl/lib/5.10.0,g
- Type
However, these change two lines that we don't want to change. So do a find for
MAKEMAKER
andXSUBPPDIR
and set them back to the below values.MAKEMAKER = /opt/oracle/rdbms/perl/lib/5.10.0/ExtUtils/MakeMaker.pm XSUBPPDIR = /opt/oracle/rdbms/perl/lib/5.10.0/ExtUtils
Now type
make
- Then type
make install
- Now navigate to
$HOME/Downloads/DBD-Oracle-1.44
- Type
perl Makefile.PL
- Navigate to
And that is basically where we get a fatal error at line 21, use DBI 1.51;
in the Makefile, and tracing up the stack indicates that @INC
cannot locate DBI.pm
. That is why I tried to move the binary library file. I can't access the Solaris box at this moment so I can't re-post the exact error code, I should be able to include that probably Tuesday (the earliest I can get back to the machine). Does anyone have any ideas to this point though?
alternative route using CPAN shell
Open up a terminal window and install the following packages as the
root
user:pkg install system/header pkg install gcc-45 pkg install developer/build/gnu-make pkg install archiver/gnu-tar
Navigate to $oracle_home
cd $oracle_home
and:mkdir /apps mkdir /apps/twiki-root mkdir /apps/twiki-root/perlmodules
Modify the
PERL5LIB
environment variable:export PERL5LIB=/apps/twiki-root/perlmodules
- Verify by typing:
echo $PERL5LIB
Open up the CPAN shell and update it:
/usr/perl5/bin/perlgcc -MCPAN -e shell
If this is the first time, press
return
to accept auto-configuration. And now enter the following commands to modify the mirror location for CPAN:o conf urllist shift o conf urllist o conf urllist unshift http://mirror.ox.ac.uk/sites/www.cpan.org/ o conf urllist o conf commit install Bundle::CPAN reload cpan
Open up the
Config.pm
file and modify it as described below:cd /usr/perl5/5.12/lib/CPAN/ vi Config.pm
Modify these values:
'make' => q[/usr/sfw/bin/gmake], 'make_install_make_command' => q[/usr/sfw/bin/gmake], 'makepl_arg' => q[LIB=/apps/twiki-root/perlmodules PREFIX=/apps/twiki-root/perlmodules INSTALLMAN3DIR=/apps/twiki-root/perlmodules/man/man3], 'mbuild_arg' => q[--install_base /apps/twiki-root/perlmodules], 'mbuild_install_arg' => q[--install_base /apps/twiki-root/perlmodules], 'mbuildpl_arg' => q[--install_base /apps/twiki-root/perlmodules], 'prefs_dir' => q[~/.cpan/prefs], 'tar' => q[/usr/sfw/bin/gtar],
Write/save to the file and quit →
:wq
Make sure that your
gcc
is set:Verify by:
which gcc
Now once again open up the CPAN shell and begin to install the DBI module.
/usr/perl5/bin/perlgcc -MCPAN -e shell install DBI
And this is where everything just goes to crap. Error:
Reading '/home/oracle/.cpan/Metadata'
Database was generated on Sun, 03 Jun 2012 22:27:03 GMT
Running install for module 'DBI'
Running make for T/TI/TIMB/DBI-1.621.tar.gz
Subroutine config redefined at /usr/perl5/5.12/lib/CPAN/LWP/UserAgent.pm line 12.
Subroutine get_basic_credentials redefined at /usr/perl5/5.12/lib/CPAN/LWP/UserAgent.pm line 23.
Subroutine no_proxy redefined at /usr/perl5/5.12/lib/CPAN/LWP/UserAgent.pm line 32.
Subroutine mirror redefined at /usr/perl5/5.12/lib/CPAN/LWP/UserAgent.pm line 67.
Fetching with HTTP::Tiny:
http://mirror.ox.ac.uk/sites/www.cpan.org/authors/id/T/TI/TIMB/DBI-1.621.tar.gz
Fetching with HTTP::Tiny:
http://mirror.ox.ac.uk/sites/www.cpan.org/authors/id/T/TI/TIMB/CHECKSUMS
Checksum for /home/oracle/.cpan/sources/authors/id/T/TI/TIMB/DBI-1.621.tar.gz ok
Scanning cache /home/oracle/.cpan/build for sizes
............................................................................DONE
CPAN.pm: Building T/TI/TIMB/DBI-1.621.tar.gz
*** Your LANG environment variable is set to 'en_US.UTF-8'
*** This may cause problems for some perl installations.
*** If you get test failures, please try again with LANG unset.
*** If that then works, please email [email protected] with details
*** including the output of 'perl -V'
Creating test wrappers for DBD::Gofer:
t/zvg_01basics.t
t/zvg_02dbidrv.t
t/zvg_03handle.t
t/zvg_04mods.t
t/zvg_05concathash.t
t/zvg_06attrs.t
t/zvg_07kids.t
t/zvg_08keeperr.t
t/zvg_09trace.t
t/zvg_10examp.t
t/zvg_11fetch.t
t/zvg_12quote.t
t/zvg_13taint.t
t/zvg_14utf8.t
t/zvg_15array.t
t/zvg_16destroy.t
t/zvg_19fhtrace.t
t/zvg_20meta.t
t/zvg_30subclass.t
t/zvg_31methcache.t
t/zvg_35thrclone.t
t/zvg_40profile.t
t/zvg_41prof_dump.t
t/zvg_42prof_data.t
t/zvg_43prof_env.t
t/zvg_48dbi_dbd_sqlengine.t
t/zvg_49dbd_file.t
t/zvg_50dbm_simple.t
t/zvg_51dbm_file.t
t/zvg_52dbm_complex.t
t/zvg_60preparse.t
t/zvg_65transact.t
t/zvg_70callbacks.t
t/zvg_72childhandles.t
t/zvg_80proxy.t
t/zvg_85gofer.t
t/zvg_86gofer_fail.t
t/zvg_87gofer_cache.t
t/zvg_90sql_type_cast.t
Creating test wrappers for DBI::SQL::Nano:
t/zvn_48dbi_dbd_sqlengine.t
t/zvn_49dbd_file.t
t/zvn_50dbm_simple.t
t/zvn_51dbm_file.t
t/zvn_52dbm_complex.t
t/zvn_85gofer.t
Creating test wrappers for DBI::PurePerl:
t/zvp_01basics.t
t/zvp_02dbidrv.t
t/zvp_03handle.t
t/zvp_04mods.t
t/zvp_05concathash.t
t/zvp_06attrs.t
t/zvp_07kids.t
t/zvp_08keeperr.t
t/zvp_09trace.t
t/zvp_10examp.t
t/zvp_11fetch.t
t/zvp_12quote.t
t/zvp_13taint.t
t/zvp_14utf8.t
t/zvp_15array.t
t/zvp_16destroy.t
t/zvp_19fhtrace.t
t/zvp_20meta.t
t/zvp_30subclass.t
t/zvp_31methcache.t
t/zvp_35thrclone.t
t/zvp_40profile.t
t/zvp_41prof_dump.t
t/zvp_42prof_data.t
t/zvp_43prof_env.t
t/zvp_48dbi_dbd_sqlengine.t
t/zvp_49dbd_file.t
t/zvp_50dbm_simple.t
t/zvp_51dbm_file.t
t/zvp_52dbm_complex.t
t/zvp_60preparse.t
t/zvp_65transact.t
t/zvp_70callbacks.t
t/zvp_72childhandles.t
t/zvp_80proxy.t
t/zvp_85gofer.t
t/zvp_86gofer_fail.t
t/zvp_87gofer_cache.t
t/zvp_90sql_type_cast.t
Creating test wrappers for DBD::Gofer + DBI::SQL::Nano:
t/zvxgn_48dbi_dbd_sqlengine.t
t/zvxgn_49dbd_file.t
t/zvxgn_50dbm_simple.t
t/zvxgn_51dbm_file.t
t/zvxgn_52dbm_complex.t
t/zvxgn_85gofer.t
Creating test wrappers for DBD::Gofer + DBI::PurePerl:
t/zvxgp_01basics.t
t/zvxgp_02dbidrv.t
t/zvxgp_03handle.t
t/zvxgp_04mods.t
t/zvxgp_05concathash.t
t/zvxgp_06attrs.t
t/zvxgp_07kids.t
t/zvxgp_08keeperr.t
t/zvxgp_09trace.t
t/zvxgp_10examp.t
t/zvxgp_11fetch.t
t/zvxgp_12quote.t
t/zvxgp_13taint.t
t/zvxgp_14utf8.t
t/zvxgp_15array.t
t/zvxgp_16destroy.t
t/zvxgp_19fhtrace.t
t/zvxgp_20meta.t
t/zvxgp_30subclass.t
t/zvxgp_31methcache.t
t/zvxgp_35thrclone.t
t/zvxgp_40profile.t
t/zvxgp_41prof_dump.t
t/zvxgp_42prof_data.t
t/zvxgp_43prof_env.t
t/zvxgp_48dbi_dbd_sqlengine.t
t/zvxgp_49dbd_file.t
t/zvxgp_50dbm_simple.t
t/zvxgp_51dbm_file.t
t/zvxgp_52dbm_complex.t
t/zvxgp_60preparse.t
t/zvxgp_65transact.t
t/zvxgp_70callbacks.t
t/zvxgp_72childhandles.t
t/zvxgp_80proxy.t
t/zvxgp_85gofer.t
t/zvxgp_86gofer_fail.t
t/zvxgp_87gofer_cache.t
t/zvxgp_90sql_type_cast.t
Creating test wrappers for DBI::SQL::Nano + DBI::PurePerl:
t/zvxnp_48dbi_dbd_sqlengine.t
t/zvxnp_49dbd_file.t
t/zvxnp_50dbm_simple.t
t/zvxnp_51dbm_file.t
t/zvxnp_52dbm_complex.t
t/zvxnp_85gofer.t
Creating test wrappers for DBD::Gofer + DBI::SQL::Nano + DBI::PurePerl:
t/zvxgnp_48dbi_dbd_sqlengine.t
t/zvxgnp_49dbd_file.t
t/zvxgnp_50dbm_simple.t
t/zvxgnp_51dbm_file.t
t/zvxgnp_52dbm_complex.t
t/zvxgnp_85gofer.t
Checking if your kit is complete...
Looks good
Have /usr/perl5/5.12/lib/Sun/Solaris/PerlGcc
Want /usr/perl5/5.12/lib/i86pc-solaris-64int
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [PerlGcc]
Config says: [i86pc-solaris-64int]
This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
I see you're using perl 5.012003 on i86pc-solaris-64int, okay.
Remember to actually *read* the README file!
Use 'make' to build the software (dmake or nmake on Windows).
Then 'make test' to execute self tests.
Then 'make install' to install the DBI and then delete this working
directory before unpacking and building any DBD::* drivers.
Writing Makefile for DBI
Writing MYMETA.yml and MYMETA.json
/usr/perl5/5.12/bin/perl -MExtUtils::Command -e 'mkpath' -- blib/lib/DBI
rm -f blib/lib/DBI/Changes.pm
cp Changes blib/lib/DBI/Changes.pm
cp Driver_xst.h blib/arch/auto/DBI/Driver_xst.h
cp lib/DBI/Gofer/Response.pm blib/lib/DBI/Gofer/Response.pm
cp lib/DBD/Proxy.pm blib/lib/DBD/Proxy.pm
cp lib/DBI/Util/_accessor.pm blib/lib/DBI/Util/_accessor.pm
cp lib/DBI/Gofer/Transport/Base.pm blib/lib/DBI/Gofer/Transport/Base.pm
cp lib/DBD/DBM.pm blib/lib/DBD/DBM.pm
cp DBIXS.h blib/arch/auto/DBI/DBIXS.h
cp dbixs_rev.pl blib/lib/dbixs_rev.pl
cp lib/DBI/Const/GetInfoType.pm blib/lib/DBI/Const/GetInfoType.pm
cp lib/DBI/Gofer/Serializer/DataDumper.pm blib/lib/DBI/Gofer/Serializer/DataDumper.pm
cp lib/DBI/DBD/Metadata.pm blib/lib/DBI/DBD/Metadata.pm
cp lib/DBI/Const/GetInfo/ODBC.pm blib/lib/DBI/Const/GetInfo/ODBC.pm
cp lib/DBD/Gofer/Transport/pipeone.pm blib/lib/DBD/Gofer/Transport/pipeone.pm
cp lib/DBI/ProfileDumper/Apache.pm blib/lib/DBI/ProfileDumper/Apache.pm
cp lib/DBD/File.pm blib/lib/DBD/File.pm
cp Driver.xst blib/arch/auto/DBI/Driver.xst
cp lib/DBD/File/Roadmap.pod blib/lib/DBD/File/Roadmap.pod
cp lib/DBI/Util/CacheMemory.pm blib/lib/DBI/Util/CacheMemory.pm
cp lib/DBI/ProfileSubs.pm blib/lib/DBI/ProfileSubs.pm
cp lib/DBD/NullP.pm blib/lib/DBD/NullP.pm
cp dbi_sql.h blib/arch/auto/DBI/dbi_sql.h
cp lib/DBD/Gofer.pm blib/lib/DBD/Gofer.pm
cp lib/DBD/File/HowTo.pod blib/lib/DBD/File/HowTo.pod
cp dbd_xsh.h blib/arch/auto/DBI/dbd_xsh.h
cp dbivport.h blib/arch/auto/DBI/dbivport.h
cp lib/DBI/DBD/SqlEngine/HowTo.pod blib/lib/DBI/DBD/SqlEngine/HowTo.pod
cp dbixs_rev.h blib/arch/auto/DBI/dbixs_rev.h
cp lib/DBD/Gofer/Transport/corostream.pm blib/lib/DBD/Gofer/Transport/corostream.pm
cp lib/DBD/Gofer/Transport/Base.pm blib/lib/DBD/Gofer/Transport/Base.pm
cp lib/DBI/FAQ.pm blib/lib/DBI/FAQ.pm
cp lib/DBD/Gofer/Policy/rush.pm blib/lib/DBD/Gofer/Policy/rush.pm
cp lib/DBI/SQL/Nano.pm blib/lib/DBI/SQL/Nano.pm
cp lib/DBI/Gofer/Request.pm blib/lib/DBI/Gofer/Request.pm
cp lib/DBI/Const/GetInfo/ANSI.pm blib/lib/DBI/Const/GetInfo/ANSI.pm
cp lib/DBD/Gofer/Transport/stream.pm blib/lib/DBD/Gofer/Transport/stream.pm
cp lib/DBD/Gofer/Policy/classic.pm blib/lib/DBD/Gofer/Policy/classic.pm
cp lib/DBI/Gofer/Transport/stream.pm blib/lib/DBI/Gofer/Transport/stream.pm
cp lib/DBI/Const/GetInfoReturn.pm blib/lib/DBI/Const/GetInfoReturn.pm
cp DBI.pm blib/lib/DBI.pm
cp lib/DBI/Gofer/Serializer/Storable.pm blib/lib/DBI/Gofer/Serializer/Storable.pm
cp lib/DBD/Gofer/Policy/Base.pm blib/lib/DBD/Gofer/Policy/Base.pm
cp lib/DBD/Sponge.pm blib/lib/DBD/Sponge.pm
cp lib/DBD/Gofer/Policy/pedantic.pm blib/lib/DBD/Gofer/Policy/pedantic.pm
cp lib/DBI/Gofer/Transport/pipeone.pm blib/lib/DBI/Gofer/Transport/pipeone.pm
cp lib/DBI/DBD/SqlEngine/Developers.pod blib/lib/DBI/DBD/SqlEngine/Developers.pod
cp lib/DBI/W32ODBC.pm blib/lib/DBI/W32ODBC.pm
cp lib/DBD/Gofer/Transport/null.pm blib/lib/DBD/Gofer/Transport/null.pm
cp lib/Bundle/DBI.pm blib/lib/Bundle/DBI.pm
cp lib/DBD/File/Developers.pod blib/lib/DBD/File/Developers.pod
cp lib/DBI/Profile.pm blib/lib/DBI/Profile.pm
cp lib/DBI/ProfileDumper.pm blib/lib/DBI/ProfileDumper.pm
cp lib/DBI/Gofer/Serializer/Base.pm blib/lib/DBI/Gofer/Serializer/Base.pm
cp lib/DBI/ProxyServer.pm blib/lib/DBI/ProxyServer.pm
cp dbipport.h blib/arch/auto/DBI/dbipport.h
cp lib/DBI/Gofer/Execute.pm blib/lib/DBI/Gofer/Execute.pm
cp lib/DBI/DBD.pm blib/lib/DBI/DBD.pm
cp lib/Win32/DBIODBC.pm blib/lib/Win32/DBIODBC.pm
cp lib/DBI/DBD/SqlEngine.pm blib/lib/DBI/DBD/SqlEngine.pm
cp lib/DBI/PurePerl.pm blib/lib/DBI/PurePerl.pm
cp lib/DBD/ExampleP.pm blib/lib/DBD/ExampleP.pm
cp lib/DBI/ProfileData.pm blib/lib/DBI/ProfileData.pm
/usr/perl5/5.12/bin/perl -p -e "s/~DRIVER~/Perl/g" ./Driver.xst > Perl.xsi
/usr/perl5/5.12/bin/perl /usr/perl5/5.12/lib/ExtUtils/xsubpp -typemap /usr/perl5/5.12/lib/ExtUtils/typemap -typemap typemap Perl.xs > Perl.xsc && mv Perl.xsc Perl.c
gcc -c -DPTR_IS_LONG -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -xO4 -DVERSION=\"1.621\" -DXS_VERSION=\"1.621\" -KPIC "-I/usr/perl5/5.12/lib/i86pc-solaris-64int/CORE" -DDBI_NO_THREADS Perl.c
gcc: unrecognized option '-KPIC'
gcc: language O4 not recognized
gcc: language O4 not recognized
gcc: Perl.c: linker input file unused because linking not done
/usr/perl5/5.12/bin/perl /usr/perl5/5.12/lib/ExtUtils/xsubpp -typemap /usr/perl5/5.12/lib/ExtUtils/typemap -typemap typemap DBI.xs > DBI.xsc && mv DBI.xsc DBI.c
gcc -c -DPTR_IS_LONG -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -xO4 -DVERSION=\"1.621\" -DXS_VERSION=\"1.621\" -KPIC "-I/usr/perl5/5.12/lib/i86pc-solaris-64int/CORE" -DDBI_NO_THREADS DBI.c
gcc: unrecognized option '-KPIC'
gcc: language O4 not recognized
gcc: language O4 not recognized
gcc: DBI.c: linker input file unused because linking not done
Running Mkbootstrap for DBI ()
chmod 644 DBI.bs
rm -f blib/arch/auto/DBI/DBI.so
cc -G -L/usr/lib -L/usr/ccs/lib -L/lib -L/usr/gnu/lib DBI.o -o blib/arch/auto/DBI/DBI.so \
\
gmake: cc: Command not found
gmake: *** [blib/arch/auto/DBI/DBI.so] Error 127
TIMB/DBI-1.621.tar.gz
/usr/sfw/bin/gmake -- NOT OK
Running make test
Can't test without successful make
Running make install
Make had returned bad status, install seems impossible
Failed during this command:
TIMB/DBI-1.621.tar.gz : make NO
Sorry I took so long to edit this and put up the error, got a little busy along the way. Anyone have any ideas what this gigantic error means? I figure it's something related to the compiler, just not sure what.
NEW EDIT
So after I found the workaround, it went through the installation process (which took surprisingly long) and finally came out with this...
Test Summary Report
-------------------
../cpan/CGI/t/tmpdir.t (Wstat: 0 Tests: 9 Failed: 0)
TODO passed: 3, 6, 8
../cpan/Socket/t/getnameinfo.t (Wstat: 256 Tests: 14 Failed: 1)
Failed test: 10
Non-zero exit status: 1
Files=2334, Tests=522101, 1212 wallclock secs (90.50 usr 58.34 sys + 533.70 cusr 288.26 csys = 970.80 CPU)
Result: FAIL
*** Error code 1
make: Fatal error: Command failed for target `test_harness'
Installed /home/oracle/perl5/perlbrew/build/perl-5.16.0 as perl-5.16.0 successfully. Run the following command to switch to it.
perlbrew switch perl-5.16.0
Just based on that, I went ahead and did /home/oracle/perl5/perlbrew/bin/perlbrew switch perl-5.16.0
but it returned, perl-5.16.0 is not installed
:/
I just went ahead and tried to look for an instance of perl-5.16.0 and did...
root@dr-solaris11:~/perl5/perlbrew/build# cd /home/oracle/perl5/perlbrew/build/perl-5.16.0
root@dr-solaris11:~/perl5/perlbrew/build/perl-5.16.0# ls
Artistic MANIFEST README.cn
AUTHORS mathoms.c README.cygwin
autodoc.pl mathoms.o README.dgux
av.c META.yml README.dos
av.h metaconfig.h README.epoc
av.o metaconfig.SH README.freebsd
beos mg_data.h README.haiku
bitcount.h mg_names.c README.hpux
cflags mg_raw.h README.hurd
cflags.SH mg_vtable.h README.irix
Changes mg.c README.jp
charclass_invlists.h mg.h README.ko
config_h.SH mg.o README.linux
config.h minimod.pl README.macos
config.over miniperl README.macosx
config.sh miniperlmain.c README.micro
configpm miniperlmain.o README.mpeix
Configure mkppport README.netware
configure.com mkppport.lst README.openbsd
configure.gnu mpeix README.os2
cop.h mro.c README.os390
Copying mro.o README.os400
cpan myconfig README.plan9
Cross myconfig.SH README.qnx
cv.h mydtrace.h README.riscos
cygwin NetWare README.solaris
deb.c nostdio.h README.symbian
deb.o numeric.c README.tru64
dist numeric.o README.tw
djgpp op_reg_common.h README.uts
doio.c op.c README.vmesa
doio.o op.h README.vms
doop.c op.o README.vos
doop.o opcode.h README.win32
dosish.h opmini.c realclean.sh
dquote_static.c opmini.o reentr.c
dump.c opnames.h reentr.h
dump.o os2 reentr.o
DynaLoader.o overload.c regcharclass.h
embed.fnc overload.h regcomp.c
embed.h pad.c regcomp.h
embedvar.h pad.h regcomp.o
epoc pad.o regcomp.sym
ext parser.h regen
ext.libs patchlevel.h regen_perly.pl
EXTERN.h perl regen.pl
extra.pods perl.c regexec.c
fakesdio.h perl.h regexec.o
fakethr.h perl.o regexp.h
feature.h perlapi.c regnodes.h
form.h perlapi.h run.c
generate_uudmap perlapi.o run.o
generate_uudmap.c perldtrace.d runtests
generate_uudmap.o perlio.c runtests.SH
genpacksizetables.pl perlio.h scope.c
git_version.h perlio.o scope.h
globals.c perlio.sym scope.o
globals.o perliol.h sv.c
globvar.sym perlmain.c sv.h
gv.c perlmain.o sv.o
gv.h perlmini.c symbian
gv.o perlmini.o t
h2pl perlsdio.h taint.c
haiku perlsfio.h taint.o
handy.h perlsh TestInit.pm
hints perlvars.h thread.h
hv.c perly.act time64_config.h
hv.h perly.c time64.c
hv.o perly.h time64.h
INSTALL perly.o toke.c
install_lib.pl perly.tab toke.o
installhtml perly.y uconfig.h
installman plan9 uconfig.sh
installperl pod uconfig64.sh
INTERN.h Policy_sh.SH universal.c
intrpvar.h Policy.sh universal.o
iperlsys.h Porting unixish.h
keywords.c pp_ctl.c utf8.c
keywords.h pp_ctl.o utf8.h
keywords.o pp_hot.c utf8.o
l1_char_class_tab.h pp_hot.o utfebcdic.h
lib pp_pack.c util.c
libperl.a pp_pack.o util.h
locale.c pp_proto.h util.o
locale.o pp_sort.c utils
mad pp_sort.o utils.lst
madly.c pp_sys.c uts
make_ext.pl pp_sys.o uudmap.h
make_patchnum.pl pp.c veryclean.sh
makedef.pl pp.h vmesa
makedepend pp.o vms
makedepend.SH proto.h vos
makefile qnx warnings.h
Makefile README win32
Makefile.micro README.aix write_buildcustomize.pl
makefile.old README.amiga x2p
Makefile.SH README.beos XSUB.h
malloc_ctl.h README.bs2000
malloc.c README.ce
Then I tried, /home/oracle/perl5/perlbrew/bin/perlbrew switch /home/oracle/perl5/perlbrew/build/perl-5.16.0
and I still got: /home/oracle/perl5/perlbrew/build/perl-5.16.0 is not installed
:/
perlbrew
. (Mind to set the environment variablePERLBREW_ROOT
first if you want to store perlbrew's files in a non-default directory.) At the end of its installation, it tells you to add shell commands to your login shell configuration and log in again, don't neglect those steps.Use
perlbrew
to install a supported Perl:cpanm
is a replacement forcpan
, no further configuration necessary.