我尝试在 64 位 Solaris 环境中安装CGI、DBI和DBD::Oracle和驱动程序,但收效甚微。我遇到的错误数量令人难以置信,而我尝试过的变通解决方案的数量——从更改环境变量、更改目录引用、移动和复制文件、更改编译器等——甚至更糟。最糟糕的是,在最新版本的 Solaris 中安装上述模块的文档很少。
这是我们已经完成的初始步骤。
首先我们去http://search.cpan.org/。然后我们下载:
接下来我们打开一个终端窗口,切换到root,然后导航到我们的“下载”文件夹。
从这里我们解压之前下载的文件(这里没有问题):
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 -
然后我们将 tar 文件归档以备日后需要。
mkdir archive_tar mv *.gz $HOME/Downloads/archive_tar
这是有点令人困惑的地方,因为我们不确定这些步骤是否完全必要。基本上,我们认为我们需要设置正确的 Perl(最新的 Oracle 需要 64 位,默认使用的 Perl 是 32 位)。
- 键入
which perl
以确定您正在使用的 Perl 的当前版本。它应该表明您使用的是默认版本(或 32 位)。 - 通过执行以下操作验证您是否有可用的 64 位 Perl 安装:
file /opt/oracle/rdbms/perl/bin/perl
- 你应该看到
ELF 64-bit LSB executable AMD64 Version 1 [SSE2 SSE FXSR CMOV FPU], dynamically linked, not stripped<
。 - 通过将它添加到
PATH
变量来切换到使用这个版本的 Perl:export PATH=/opt/oracle/rdbms/perl/bin:$PATH
- 键入
which perl
。验证这现在是否显示位于 的 Perlopt/oracle/rdbms/perl/bin/perl
。 键入
perl -V
,如果显示错误,请设置以下变量:export PERL5LIB=/opt/oracle/rdbms/perl/lib/5.10.0 export PERLLIB=/opt/oracle/rdbms/perl/lib/5.10.0
- 键入
现在我们设置
cc
(编译器)工作,以便我们可以安装 CGI/DBI/DBD-Oracle。- 键入
cc --version
以验证它是否说cc
未找到。 - 打开浏览器并导航到Solaris Studio。在这里,您将找到一个包含 Sun 编译器的软件包。
- 下载适用于 Solaris 11 OS 平台的“Solaris SPARC 上的 Tarfile”。
- 在您的终端窗口中,通过键入以下内容解压缩上述文件:
bzcat SolarisStudio12.3-solaris-sparc-bin.tar.bz2 | tar xf -
- 将
.bz2
文件移动到我们之前创建的存档文件夹:mv SolarisStudio12.3-solaris-sparc-bin.tar.bz2 $HOME/Downloads/archive_tar
- 现在我们想将新编译器添加到我们的路径中,我们通过以下方式执行此操作:
export PATH=$PATH:/home/oracle/Downloads/SolarisStudio12.3-solaris-sparc-bin/solarisstudio12.3/bin
- Type
cc --version
,这个命令不应该做任何事情(可能会抛出一些警告),但它不会再说cc not found
了。
- 键入
在这里,我们开始安装模块和驱动程序,从 CGI 模块开始:
- 导航
$HOME/Downloads/CGI.pm-3.59
- 类型
perl Makefile.PL
我们需要更改 make 文件以指向正确的位置。
- 类型
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
- 类型
现在输入
make
- 然后输入
make install
- 接下来我们进入 DBI 模块。导航到
$HOME/Downloads/DBI-1.621
。 - 类型
perl Makefile.PL
同样,我们需要更改此 make 文件以指向正确的位置。
- 类型
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
- 类型
然而,这些改变了我们不想改变的两条线。因此,请查找
MAKEMAKER
并将XSUBPPDIR
它们设置回以下值。MAKEMAKER = /opt/oracle/rdbms/perl/lib/5.10.0/ExtUtils/MakeMaker.pm XSUBPPDIR = /opt/oracle/rdbms/perl/lib/5.10.0/ExtUtils
现在输入
make
- 然后输入
make install
- 现在导航到
$HOME/Downloads/DBD-Oracle-1.44
- 类型
perl Makefile.PL
- 导航
这基本上就是我们use DBI 1.51;
在 Makefile 中的第 21 行遇到致命错误的地方,并且跟踪堆栈表明@INC
cannot locate DBI.pm
。这就是我试图移动二进制库文件的原因。我目前无法访问 Solaris 盒子,所以我无法重新发布确切的错误代码,我应该可以在星期二包含该代码(我最早可以回到机器上)。有人对此有任何想法吗?
使用 CPAN shell 的替代路由
打开终端窗口并以
root
用户身份安装以下软件包:pkg install system/header pkg install gcc-45 pkg install developer/build/gnu-make pkg install archiver/gnu-tar
导航到 $oracle_home
cd $oracle_home
并:mkdir /apps mkdir /apps/twiki-root mkdir /apps/twiki-root/perlmodules
修改
PERL5LIB
环境变量:export PERL5LIB=/apps/twiki-root/perlmodules
- 通过键入以下内容进行验证:
echo $PERL5LIB
打开 CPAN shell 并更新它:
/usr/perl5/bin/perlgcc -MCPAN -e shell
如果这是第一次,请按
return
接受自动配置。现在输入以下命令来修改 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
打开
Config.pm
文件并按如下所述进行修改:cd /usr/perl5/5.12/lib/CPAN/ vi Config.pm
修改这些值:
'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],
写入/保存到文件并退出 →
:wq
确保您
gcc
已设置:通过以下方式验证:
which gcc
现在再次打开 CPAN shell 并开始安装 DBI 模块。
/usr/perl5/bin/perlgcc -MCPAN -e shell install DBI
这就是一切都变得废话的地方。错误:
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 dbi-dev@perl.org 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
对不起,我花了这么长时间来编辑这个并提出错误,一路上有点忙。任何人都知道这个巨大的错误意味着什么?我认为这与编译器有关,只是不确定是什么。
新编辑
因此,在我找到解决方法后,它经历了安装过程(花费了令人惊讶的时间),最终得到了这个......
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
正是基于此,我继续前进,/home/oracle/perl5/perlbrew/bin/perlbrew switch perl-5.16.0
但它又回来了,perl-5.16.0 is not installed
:/
我只是继续尝试寻找 perl-5.16.0 的实例并做了......
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
然后我尝试了,/home/oracle/perl5/perlbrew/bin/perlbrew switch /home/oracle/perl5/perlbrew/build/perl-5.16.0
我仍然得到:/home/oracle/perl5/perlbrew/build/perl-5.16.0 is not installed
:/