English 中文(简体)
安装 CGI、 DBI 和 DBD:: 与 Solaris 11 64比特的Oracle
原标题:Installing CGI, DBI and DBD::Oracle with Solaris 11 64-bit

我试图安装 < a href=> " "http://p3rl.org/CGI" rel="nofollow" >CGI , DBDD:: Oracle 和64比特太阳系环境中的驱动器,但效果甚微。我遇到的错误数量是脑力错以及我尝试过的变通办法—— 从改变环境变量、改变目录引用、移动和复制文件、改变编译器等到的变通办法,甚至更糟。 最糟糕的是,在新版太阳号中安装所述模块的文件很少。

以下是我们所经历的初步步骤。

  1. 首先我们去"http://search.cpan.org/"rel="no follow">http://search.cpan.org/ 。然后我们下载:

  2. 接下来我们打开一个终端窗口, 切换到 root, 然后导航到我们的“ 下载” 文件夹 。

  3. 在此我们从这里解压缩先前下载的文件( 这里没有问题 ) :

    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 -
    
  4. 然后我们把焦油文件归档 以防以后需要

    mkdir archive_tar
    mv *.gz $HOME/Downloads/archive_tar
    
  5. 这里有点令人困惑,因为我们不确定这些步骤是否完全必要。 基本上,我们“ 相信” < / em> 我们需要设置正确的 Perl( 最新的甲骨文需要64比特, 使用的默认 Perl是32比特 ) 。

    1. 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).
    2. Verify that you have a 64-bit Perl installation available by doing the following: type file /opt/oracle/rdbms/perl/bin/perl
    3. You should see ELF 64-bit LSB executable AMD64 Version 1 [SSE2 SSE FXSR CMOV FPU], dynamically linked, not stripped<.
    4. Switch to using this version of Perl by adding it to the PATH variable: export PATH=/opt/oracle/rdbms/perl/bin:$PATH
    5. Type which perl. Verify that this now shows the Perl located at opt/oracle/rdbms/perl/bin/perl.
    6. 类型 perl -V 如果显示错误, 将变量设置如下:

      export PERL5LIB=/opt/oracle/rdbms/perl/lib/5.10.0
      export PERLLIB=/opt/oracle/rdbms/perl/lib/5.10.0
      
  6. 现在我们设置了 cc (编译器)来工作,以便安装 CGI/DBI/DBD-Oracle。

    1. Type cc --version to verify that it says cc is not found.
    2. Open up a browser and navigate to Solaris Studio. Here you will find a package which contains Sun s compiler.
    3. Download "Tarfile on Solaris SPARC" for the Solaris 11 OS Platform.
    4. In your terminal window, decompress the above file by typing: bzcat SolarisStudio12.3-solaris-sparc-bin.tar.bz2 | tar xf -
    5. Move the .bz2 file to our previously created archive folder: mv SolarisStudio12.3-solaris-sparc-bin.tar.bz2 $HOME/Downloads/archive_tar
    6. 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
    7. Type cc --version, this command shouldn t do anything (possibly throw a few warnings), but it won t say cc not found anymore.
  7. 我们在这里开始安装模块和驱动程序, 从 CGI 模块开始 :

    1. Navigate to $HOME/Downloads/CGI.pm-3.59
    2. Type perl Makefile.PL
    3. 我们需要更改文件文件以指向正确位置

      1. Type vi Makefile
      2. :%s,../lib/site_perl/5.10.0,/opt/oracle/rdbms/perl/lib/site_perl/5.10.0,g
      3. :%s,../lib/5.10.0,/opt/oracle/rdbms/perl/lib/5.10.0,g
    4. 键入 make 现在键入 make

    5. Then type make install
    6. Next we move onto the DBI module. Navigate to $HOME/Downloads/DBI-1.621.
    7. Type perl Makefile.PL
    8. 我们再次需要更改这个文件, 以指向正确的位置 。

      1. Type vi Makefile
      2. :%s,../lib/site_perl/5.10.0,/opt/oracle/rdbms/perl/lib/site_perl/5.10.0,g
      3. :%s,../lib/5.10.0,/opt/oracle/rdbms/perl/lib/5.10.0,g
    9. 但是,这些更改了我们不想更改的两行。 找到 MAKMAKER XSUBPPDIR 并把它们放回以下值。

      MAKEMAKER = /opt/oracle/rdbms/perl/lib/5.10.0/ExtUtils/MakeMaker.pm
      XSUBPPDIR = /opt/oracle/rdbms/perl/lib/5.10.0/ExtUtils
      
    10. 键入 make 现在键入 make

    11. Then type make install
    12. Now navigate to $HOME/Downloads/DBD-Oracle-1.44
    13. Type perl Makefile.PL

基本上这就是我们从第21行 < code> use DBI 1.51; in the Makefile, 并追踪堆叠中发现致命错误的地方, 并显示 < code\\ INC < /code > 无法找到 < code> DBI. pm < /code > 。 这就是为什么我试图移动二进制库文件。 我此时无法访问 Solaris 框, 无法重订准确的错误代码, 我应该能够包括这个可能周二( 我最早可以回到机器) 。 但是是否有人知道这一点?

alternative route using CPAN shell

  1. 打开终端窗口并安装以下软件包作为 root 用户:

    pkg install system/header
    pkg install gcc-45
    pkg install developer/build/gnu-make
    pkg install archiver/gnu-tar
    
  2. 导航至 $oracle_home cd$oracle_home 和:

    mkdir /apps
    mkdir /apps/twiki-root
    mkdir /apps/twiki-root/perlmodules
    
  3. 修改 PERL5LIB 环境变量 :

    • export PERL5LIB=/apps/twiki-root/perlmodules
    • Verify by typing: echo $PERL5LIB
  4. 打开 CPAN 外壳并更新 :

    /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
    
  5. 打开 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

  6. 确保设置您的 gcc :

    由 : < code> which gcc 校验

  7. 现在再次打开CPAN 外壳, 并开始安装 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 [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

抱歉我花了这么长时间才编辑这个错误, 并贴出错误, 路上有点忙。 有人知道这个巨大的错误意味着什么吗? 我认为它与编译者有关, 只是不知道是什么。

<强 > NEW EDIT

所以在我找到工作后, 它经过了安装过程(这花费了惊人的时间), 终于产生了这个...

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开关perlbrew perl5.16.0 ,但是它返回, perl-5.16.0没有安装


:/

我只是去尝试寻找一个例子 perl -5. 160,然后...

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/perlacle/perl5/perlbrew/bin/perlbrew 开关/ home/oracle/perl5/perlbrew/building/perl5.16.0 ,我仍然得到: / home/orcle/perlacle/perl5/perlbrew/building/perl-5.16.0没有安装

:/

最佳回答
  1. Undo everything, keep the GNU compiler toolchain (gnu-make, gcc-45).
  2. Follow the instructions at http://perlbrew.pl/ to install perlbrew. (Mind to set the environment variable PERLBREW_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.
  3. 使用 perbrew 安装支持的 Perl :

    perlbrew -v install perl-5.16.0 -Dcc=gcc
    perlbrew switch perl-5.16.0
    perlbrew install-cpanm
    
  4. cpanm cpan 的替换, 不需要进一步的配置 。

    cpanm -v CGI
    cpanm -v DBI
    cpanm -v DBD::Oracle
    
问题回答

返回您的安装 :

第1至5步是好的。 不要导出 PERL5LIB 或 PERLLIB 或 PERLIB 不知道这是什么意义。

步骤6 汇编DBI

cd DBI-1.621

由于您想要使用不同的 perl 来做以下操作:

/opt/oracle/rdbms/perl/bin/perl Makefield.PL /rdbms/perl/bin/perl makefile.

This should pickup the compiler option and perl libraries location of that perl (I assume you are trying to use the perl from oracle installation, not sure if that is wise). Run make in the DBI-1.621 and then make install.

步骤 7) 编译 DBD: Oracle 并再次在 Makefile. PL 上使用您的/opt/oracle/rdbms/perl/bin/perl/perl。 PL 创建 makefile, 不要编辑 Makefile. PL。 如果您想要做测试, 请确定您有 ORACLE_ HOME 设置和 ORACLE_ USERID 。 您可能需要同时设置 LD_ LIBRARY_ PATH 以包含 $ORACLE_ HOME/ lib, 如果还没有的话 。 运行和安装 DBI 一样, 运行并安装 。

步骤8)与在Makefile.PL上使用 /opt/orac/orac/rdbms/perl/bin/perl 之前一样,汇编CGI, 以生成正确的制作文件, 然后运行和安装 。

替代方法是:

do step1-5
export ORACLE_HOME="enter oracle home"
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib

/opt/oracle/rdbms/perl/bin/perl -MCPAN -e  shell 
cpan>install DBI
cpan>install DBD::Oracle
cpan>install CGI

  1. 我不知道为什么您要更改正在安装分发的地方, 但是要这样做, 请使用

    perl Makefile.PL PREFIX=/opt/oracle/rdbms
    

    不要编辑 Makefiles

  2. 您更改模块安装的位置, 但不清楚您是否告诉 Perl 它安装的位置。 对于以上命令, 您需要某种类型 :

    export PERL5LIB=/opt/oracle/rdbms/lib/site_perl
    

    如果您仍然无法让它工作, 请提供完整的错误信息 -- 它应该指定 Perl 的外观位置 -- 并且目录的完整补丁位于安装后 < code> DBI. pm 。 (如果使用上述设置, 可以在诸如 < code>/opt/ oracle/rdbms/lib/ site_perl/5.16. 0x86_ 64- linux- tread- multi/ DBI. pm 中找到) 。





相关问题
Export tables from SQL Server to be imported to Oracle 10g

I m trying to export some tables from SQL Server 2005 and then create those tables and populate them in Oracle. I have about 10 tables, varying from 4 columns up to 25. I m not using any constraints/...

Connecting to Oracle 10g with ODBC from Excel VBA

The following code works. the connection opens fine but recordset.recordCount always returns -1 when there is data in the table. ANd If I try to call any methods/properties on recordset it crashes ...

How to make a one to one left outer join?

I was wondering, is there a way to make a kind of one to one left outer join: I need a join that matches say table A with table B, for each record on table A it must search for its pair on table B, ...

Insert if not exists Oracle

I need to be able to run an Oracle query which goes to insert a number of rows, but it also checks to see if a primary key exists and if it does, then it skips that insert. Something like: INSERT ALL ...

How can I store NULLs in NOT NULL field?

I just came across NULL values in NOT-NULL fields in our test database. How could they get there? I know that NOT-NULL constraints can be altered with NOVALIDATE clause, but that would change table s ...

Type reference scope

I m studying databases and am currently working on a object-relational DB project and I ve encountered a small problem with the number of possible constraints in an object table. I m using "Database ...

OracleParameter and DBNull.Value

we have a table in an Oracle Database which contains a column with the type Char(3 Byte). Now we use a parameterized sql to select some rows with a DBNull.Value and it doesn t work: OracleCommand ...