centos6.9上安装:
先安装编译工具gcc:
yum install gcc
[root@localhost ~]# yum install gcc 已加载插件:fastestmirror, refresh-packagekit, security 设置安装进程 Determining fastest mirrors * base: mirrors.zju.edu.cn * extras: ftp.sjtu.edu.cn * updates: ftp.sjtu.edu.cn base | 3.7 kB 00:00 extras | 3.4 kB 00:00 updates | 3.4 kB 00:00 解决依赖关系 --> 执行事务检查 ---> Package gcc.x86_64 0:4.4.7-23.el6 will be 安装 --> 处理依赖关系 libgomp = 4.4.7-23.el6,它被软件包 gcc-4.4.7-23.el6.x86_64 需要 --> 处理依赖关系 cpp = 4.4.7-23.el6,它被软件包 gcc-4.4.7-23.el6.x86_64 需要 --> 处理依赖关系 libgcc >= 4.4.7-23.el6,它被软件包 gcc-4.4.7-23.el6.x86_64 需要 --> 处理依赖关系 cloog-ppl >= 0.15,它被软件包 gcc-4.4.7-23.el6.x86_64 需要 --> 执行事务检查 ---> Package cloog-ppl.x86_64 0:0.15.7-1.2.el6 will be 安装 --> 处理依赖关系 libppl_c.so.2()(64bit),它被软件包 cloog-ppl-0.15.7-1.2.el6.x86_64 需要 --> 处理依赖关系 libppl.so.7()(64bit),它被软件包 cloog-ppl-0.15.7-1.2.el6.x86_64 需要 ---> Package cpp.x86_64 0:4.4.7-23.el6 will be 安装 --> 处理依赖关系 libmpfr.so.1()(64bit),它被软件包 cpp-4.4.7-23.el6.x86_64 需要 ---> Package libgcc.i686 0:4.4.7-18.el6 will be 升级 ---> Package libgcc.x86_64 0:4.4.7-18.el6 will be 升级 ---> Package libgcc.i686 0:4.4.7-23.el6 will be an update ---> Package libgcc.x86_64 0:4.4.7-23.el6 will be an update ---> Package libgomp.x86_64 0:4.4.7-18.el6 will be 升级 ---> Package libgomp.x86_64 0:4.4.7-23.el6 will be an update --> 执行事务检查 ---> Package mpfr.x86_64 0:2.4.1-6.el6 will be 安装 ---> Package ppl.x86_64 0:0.10.2-11.el6 will be 安装 --> 完成依赖关系计算 依赖关系解决 =============================================================================================================================================================================================== 软件包 架构 版本 仓库 大小 =============================================================================================================================================================================================== 正在安装: gcc x86_64 4.4.7-23.el6 base 10 M 为依赖而安装: cloog-ppl x86_64 0.15.7-1.2.el6 base 93 k cpp x86_64 4.4.7-23.el6 base 3.7 M mpfr x86_64 2.4.1-6.el6 base 157 k ppl x86_64 0.10.2-11.el6 base 1.3 M 为依赖而更新: libgcc i686 4.4.7-23.el6 base 115 k libgcc x86_64 4.4.7-23.el6 base 104 k libgomp x86_64 4.4.7-23.el6 base 135 k 事务概要 =============================================================================================================================================================================================== Install 5 Package(s) Upgrade 3 Package(s) 总下载量:16 M 确定吗?[y/N]:y 下载软件包: (1/8): cloog-ppl-0.15.7-1.2.el6.x86_64.rpm | 93 kB 00:00 (2/8): cpp-4.4.7-23.el6.x86_64.rpm | 3.7 MB 00:04 (3/8): gcc-4.4.7-23.el6.x86_64.rpm | 10 MB 00:17 (4/8): libgcc-4.4.7-23.el6.i686.rpm | 115 kB 00:00 (5/8): libgcc-4.4.7-23.el6.x86_64.rpm | 104 kB 00:00 (6/8): libgomp-4.4.7-23.el6.x86_64.rpm | 135 kB 00:00 (7/8): mpfr-2.4.1-6.el6.x86_64.rpm | 157 kB 00:00 (8/8): ppl-0.10.2-11.el6.x86_64.rpm | 1.3 MB 00:00 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 总计 653 kB/s | 16 MB 00:24 运行 rpm_check_debug 执行事务测试 事务测试成功 执行事务 正在升级 : libgcc-4.4.7-23.el6.x86_64 1/11 正在安装 : ppl-0.10.2-11.el6.x86_64 2/11 正在安装 : cloog-ppl-0.15.7-1.2.el6.x86_64 3/11 正在安装 : mpfr-2.4.1-6.el6.x86_64 4/11 正在安装 : cpp-4.4.7-23.el6.x86_64 5/11 正在升级 : libgomp-4.4.7-23.el6.x86_64 6/11 正在安装 : gcc-4.4.7-23.el6.x86_64 7/11 正在升级 : libgcc-4.4.7-23.el6.i686 8/11 清理 : libgcc-4.4.7-18.el6 9/11 清理 : libgcc-4.4.7-18.el6 10/11 清理 : libgomp-4.4.7-18.el6.x86_64 11/11 Verifying : libgomp-4.4.7-23.el6.x86_64 1/11 Verifying : libgcc-4.4.7-23.el6.i686 2/11 Verifying : gcc-4.4.7-23.el6.x86_64 3/11 Verifying : mpfr-2.4.1-6.el6.x86_64 4/11 Verifying : cloog-ppl-0.15.7-1.2.el6.x86_64 5/11 Verifying : cpp-4.4.7-23.el6.x86_64 6/11 Verifying : ppl-0.10.2-11.el6.x86_64 7/11 Verifying : libgcc-4.4.7-23.el6.x86_64 8/11 Verifying : libgomp-4.4.7-18.el6.x86_64 9/11 Verifying : libgcc-4.4.7-18.el6.i686 10/11 Verifying : libgcc-4.4.7-18.el6.x86_64 11/11 已安装: gcc.x86_64 0:4.4.7-23.el6 作为依赖被安装: cloog-ppl.x86_64 0:0.15.7-1.2.el6 cpp.x86_64 0:4.4.7-23.el6 mpfr.x86_64 0:2.4.1-6.el6 ppl.x86_64 0:0.10.2-11.el6 作为依赖被升级: libgcc.i686 0:4.4.7-23.el6 libgcc.x86_64 0:4.4.7-23.el6 libgomp.x86_64 0:4.4.7-23.el6
按顺序安装oracle客户端的三个rpm包 (安装包地址(包含oracle的rpm客户端和DBI DBD二进制包)链接:https://pan.baidu.com/s/1D5Y-K_9DN9ZedTS60nfWVQ 提取码:nv8z )
[root@localhost tmp]# ls DBD-Oracle-1.74.tar.gz hsperfdata_root oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm orbit-gdm pulse-vPyrYHA1iiAy DBI-1.636.tar.gz oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm pulse-1nI8mIV3JWrV [root@localhost tmp]# rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm Preparing... ########################################### [100%] 1:oracle-instantclient11.########################################### [100%] [root@localhost tmp]# rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm Preparing... ########################################### [100%] 1:oracle-instantclient11.########################################### [100%] [root@localhost tmp]# rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm Preparing... ########################################### [100%] 1:oracle-instantclient11.########################################### [100%]
安装DBI:
解压缩DBI的包,进去
[root@localhost DBI-1.636]# perl Makefile.PL *** Your LANG environment variable is set to ‘zh_CN.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‘ Your perl was compiled with gcc (version 4.4.7 20120313 (Red Hat 4.4.7-18)), okay. 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 (use threads) 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_53sqlengine_adv.t t/zvg_60preparse.t t/zvg_65transact.t t/zvg_70callbacks.t t/zvg_72childhandles.t t/zvg_73cachedkids.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 t/zvg_91_store_warning.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 (use threads) 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_53sqlengine_adv.t t/zvp_60preparse.t t/zvp_65transact.t t/zvp_70callbacks.t t/zvp_72childhandles.t t/zvp_73cachedkids.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 t/zvp_91_store_warning.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 (use threads) 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_53sqlengine_adv.t t/zvxgp_60preparse.t t/zvxgp_65transact.t t/zvxgp_70callbacks.t t/zvxgp_72childhandles.t t/zvxgp_73cachedkids.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 t/zvxgp_91_store_warning.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 Warning: By default new modules are installed into your ‘site_lib‘ directories. Since site_lib directories come after the normal library directories you must delete old DBI files and directories from your ‘privlib‘ and ‘archlib‘ directories and their auto subdirectories. Reinstall DBI and your DBD::* drivers after deleting the old directories. Here‘s a list of probable old files and directories: /usr/lib64/perl5/Bundle/DBD /usr/lib64/perl5/Bundle/DBI.pm /usr/lib64/perl5/DBD /usr/lib64/perl5/DBI /usr/lib64/perl5/DBI.pm /usr/lib64/perl5/DBI/Changes.pm /usr/lib64/perl5/DBI/Const /usr/lib64/perl5/DBI/Const/GetInfo /usr/lib64/perl5/DBI/Const/GetInfo/ANSI.pm /usr/lib64/perl5/DBI/Const/GetInfo/ODBC.pm /usr/lib64/perl5/DBI/Const/GetInfoReturn.pm /usr/lib64/perl5/DBI/Const/GetInfoType.pm /usr/lib64/perl5/DBI/DBD /usr/lib64/perl5/DBI/DBD.pm /usr/lib64/perl5/DBI/DBD/Metadata.pm /usr/lib64/perl5/DBI/FAQ.pm /usr/lib64/perl5/DBI/Gofer /usr/lib64/perl5/DBI/Gofer/Execute.pm /usr/lib64/perl5/DBI/Gofer/Request.pm /usr/lib64/perl5/DBI/Gofer/Response.pm /usr/lib64/perl5/DBI/Gofer/Serializer /usr/lib64/perl5/DBI/Gofer/Serializer/Base.pm /usr/lib64/perl5/DBI/Gofer/Serializer/DataDumper.pm /usr/lib64/perl5/DBI/Gofer/Serializer/Storable.pm /usr/lib64/perl5/DBI/Gofer/Transport /usr/lib64/perl5/DBI/Gofer/Transport/Base.pm /usr/lib64/perl5/DBI/Gofer/Transport/pipeone.pm /usr/lib64/perl5/DBI/Gofer/Transport/stream.pm /usr/lib64/perl5/DBI/Profile.pm /usr/lib64/perl5/DBI/ProfileData.pm /usr/lib64/perl5/DBI/ProfileDumper /usr/lib64/perl5/DBI/ProfileDumper.pm /usr/lib64/perl5/DBI/ProfileDumper/Apache.pm /usr/lib64/perl5/DBI/ProfileSubs.pm /usr/lib64/perl5/DBI/ProxyServer.pm /usr/lib64/perl5/DBI/PurePerl.pm /usr/lib64/perl5/DBI/Roadmap.pm /usr/lib64/perl5/DBI/SQL /usr/lib64/perl5/DBI/SQL/Nano.pm /usr/lib64/perl5/DBI/Util /usr/lib64/perl5/DBI/Util/CacheMemory.pm /usr/lib64/perl5/DBI/Util/_accessor.pm /usr/lib64/perl5/auto/DBD /usr/lib64/perl5/auto/DBI /usr/lib64/perl5/auto/DBI/DBI.so /usr/lib64/perl5/auto/DBI/DBIXS.h /usr/lib64/perl5/auto/DBI/Driver.xst /usr/lib64/perl5/auto/DBI/Driver_xst.h /usr/lib64/perl5/auto/DBI/dbd_xsh.h /usr/lib64/perl5/auto/DBI/dbi_sql.h /usr/lib64/perl5/auto/DBI/dbipport.h /usr/lib64/perl5/auto/DBI/dbivport.h /usr/lib64/perl5/auto/DBI/dbixs_rev.h /usr/share/perl5/DBIx /usr/share/perl5/DBIx/Simple /usr/share/perl5/DBIx/Simple.pm /usr/share/perl5/DBIx/Simple/Comparison.pod /usr/share/perl5/DBIx/Simple/Examples.pod I see you‘re using perl 5.010001 on x86_64-linux-thread-multi, 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
[root@localhost DBI-1.636]# make /usr/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/DBD/Proxy.pm blib/lib/DBD/Proxy.pm cp lib/DBI/Gofer/Response.pm blib/lib/DBI/Gofer/Response.pm cp lib/DBI/Gofer/Transport/Base.pm blib/lib/DBI/Gofer/Transport/Base.pm cp lib/DBI/Util/_accessor.pm blib/lib/DBI/Util/_accessor.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/Gofer/Serializer/DataDumper.pm blib/lib/DBI/Gofer/Serializer/DataDumper.pm cp lib/DBI/Const/GetInfoType.pm blib/lib/DBI/Const/GetInfoType.pm cp lib/DBI/DBD/Metadata.pm blib/lib/DBI/DBD/Metadata.pm cp lib/DBD/Gofer/Transport/pipeone.pm blib/lib/DBD/Gofer/Transport/pipeone.pm cp lib/DBI/Const/GetInfo/ODBC.pm blib/lib/DBI/Const/GetInfo/ODBC.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/DBD/NullP.pm blib/lib/DBD/NullP.pm cp lib/DBI/ProfileSubs.pm blib/lib/DBI/ProfileSubs.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/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/DBD/Gofer/Policy/Base.pm blib/lib/DBD/Gofer/Policy/Base.pm cp DBI.pm blib/lib/DBI.pm cp lib/DBI/Gofer/Transport/stream.pm blib/lib/DBI/Gofer/Transport/stream.pm cp lib/DBI/Gofer/Serializer/Storable.pm blib/lib/DBI/Gofer/Serializer/Storable.pm cp lib/DBI/Const/GetInfoReturn.pm blib/lib/DBI/Const/GetInfoReturn.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/DBD/SqlEngine/Developers.pod blib/lib/DBI/DBD/SqlEngine/Developers.pod cp lib/DBI/Gofer/Transport/pipeone.pm blib/lib/DBI/Gofer/Transport/pipeone.pm 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/DBI/DBD/SqlEngine.pm blib/lib/DBI/DBD/SqlEngine.pm cp lib/Win32/DBIODBC.pm blib/lib/Win32/DBIODBC.pm cp lib/DBD/ExampleP.pm blib/lib/DBD/ExampleP.pm cp lib/DBI/PurePerl.pm blib/lib/DBI/PurePerl.pm cp lib/DBI/ProfileData.pm blib/lib/DBI/ProfileData.pm /usr/bin/perl -p -e "s/~DRIVER~/Perl/g" ./Driver.xst > Perl.xsi /usr/bin/perl /usr/share/perl5/ExtUtils/xsubpp -typemap /usr/share/perl5/ExtUtils/typemap -typemap typemap Perl.xs > Perl.xsc && mv Perl.xsc Perl.c gcc -c -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fe xceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DVERSION=\"1.636\" -DXS_VERSION=\"1.636\" -fPIC "-I/usr/lib64/perl5/CORE" -W -Wall -Wpointer-arith -Wbad-function-cast -Wno-comment -Wno-sign-compare -Wno-cast-qual -Wmissing-noreturn -Wno-unused-parameter Perl.c在包含自 DBIXS.h:38 的文件中, 从 Perl.xs:7: dbipport.h:6145:1: 警告:“MUTABLE_PTR”重定义 在包含自 /usr/lib64/perl5/CORE/perl.h:2424 的文件中, 从 DBIXS.h:23, 从 Perl.xs:7: /usr/lib64/perl5/CORE/handy.h:63:1: 警告:这是先前定义的位置 /usr/bin/perl /usr/share/perl5/ExtUtils/xsubpp -typemap /usr/share/perl5/ExtUtils/typemap -typemap typemap DBI.xs > DBI.xsc && mv DBI.xsc DBI.c gcc -c -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fe xceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DVERSION=\"1.636\" -DXS_VERSION=\"1.636\" -fPIC "-I/usr/lib64/perl5/CORE" -W -Wall -Wpointer-arith -Wbad-function-cast -Wno-comment -Wno-sign-compare -Wno-cast-qual -Wmissing-noreturn -Wno-unused-parameter DBI.c在包含自 DBIXS.h:38 的文件中, 从 DBI.xs:13: dbipport.h:6145:1: 警告:“MUTABLE_PTR”重定义 在包含自 /usr/lib64/perl5/CORE/perl.h:2424 的文件中, 从 DBIXS.h:23, 从 DBI.xs:13: /usr/lib64/perl5/CORE/handy.h:63:1: 警告:这是先前定义的位置 Running Mkbootstrap for DBI () chmod 644 DBI.bs rm -f blib/arch/auto/DBI/DBI.so gcc -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic DBI.o -o blib/arch/auto/DBI/DBI.so chmod 755 blib/arch/auto/DBI/DBI.so cp DBI.bs blib/arch/auto/DBI/DBI.bs chmod 644 blib/arch/auto/DBI/DBI.bs /usr/bin/perl "-Iblib/arch" "-Iblib/lib" dbiprof.PL dbiprof Extracted dbiprof from dbiprof.PL with variable substitutions. cp dbiprof blib/script/dbiprof /usr/bin/perl -MExtUtils::MY -e ‘MY->fixin(shift)‘ -- blib/script/dbiprof /usr/bin/perl "-Iblib/arch" "-Iblib/lib" dbiproxy.PL dbiproxy Extracted dbiproxy from dbiproxy.PL with variable substitutions. cp dbiproxy blib/script/dbiproxy /usr/bin/perl -MExtUtils::MY -e ‘MY->fixin(shift)‘ -- blib/script/dbiproxy /usr/bin/perl "-Iblib/arch" "-Iblib/lib" dbilogstrip.PL dbilogstrip Extracted dbilogstrip from dbilogstrip.PL with variable substitutions. cp dbilogstrip blib/script/dbilogstrip /usr/bin/perl -MExtUtils::MY -e ‘MY->fixin(shift)‘ -- blib/script/dbilogstrip Manifying blib/man1/dbiprof.1 Manifying blib/man1/dbiproxy.1 Manifying blib/man1/dbilogstrip.1 Manifying blib/man3/DBI::Gofer::Response.3pm Manifying blib/man3/DBD::Proxy.3pm Manifying blib/man3/DBI::Gofer::Transport::Base.3pm Manifying blib/man3/DBD::DBM.3pm Manifying blib/man3/DBI::Const::GetInfoType.3pm Manifying blib/man3/DBI::Gofer::Serializer::DataDumper.3pm Manifying blib/man3/DBI::DBD::Metadata.3pm Manifying blib/man3/DBI::Const::GetInfo::ODBC.3pm Manifying blib/man3/DBD::Gofer::Transport::pipeone.3pm Manifying blib/man3/DBI::ProfileDumper::Apache.3pm Manifying blib/man3/DBD::File::Roadmap.3pm Manifying blib/man3/DBD::File.3pm Manifying blib/man3/DBI::Util::CacheMemory.3pm Manifying blib/man3/DBI::ProfileSubs.3pm Manifying blib/man3/DBD::File::HowTo.3pm Manifying blib/man3/DBD::Gofer.3pm Manifying blib/man3/DBI::DBD::SqlEngine::HowTo.3pm Manifying blib/man3/DBD::Gofer::Transport::corostream.3pm Manifying blib/man3/DBD::Gofer::Transport::Base.3pm Manifying blib/man3/DBD::Gofer::Policy::rush.3pm Manifying blib/man3/DBI::SQL::Nano.3pm Manifying blib/man3/DBI::Const::GetInfo::ANSI.3pm Manifying blib/man3/DBI::Gofer::Request.3pm Manifying blib/man3/DBD::Gofer::Transport::stream.3pm Manifying blib/man3/DBD::Gofer::Policy::classic.3pm Manifying blib/man3/DBI::Const::GetInfoReturn.3pm Manifying blib/man3/DBI::Gofer::Serializer::Storable.3pm Manifying blib/man3/DBI::Gofer::Transport::stream.3pm Manifying blib/man3/DBI.3pm Manifying blib/man3/DBD::Gofer::Policy::Base.3pm Manifying blib/man3/DBD::Sponge.3pm Manifying blib/man3/DBD::Gofer::Policy::pedantic.3pm Manifying blib/man3/DBI::DBD::SqlEngine::Developers.3pm Manifying blib/man3/DBI::Gofer::Transport::pipeone.3pm Manifying blib/man3/DBI::W32ODBC.3pm Manifying blib/man3/DBD::Gofer::Transport::null.3pm Manifying blib/man3/Bundle::DBI.3pm Manifying blib/man3/DBD::File::Developers.3pm Manifying blib/man3/DBI::Profile.3pm Manifying blib/man3/DBI::ProfileDumper.3pm Manifying blib/man3/DBI::Gofer::Serializer::Base.3pm Manifying blib/man3/DBI::ProxyServer.3pm Manifying blib/man3/DBI::Gofer::Execute.3pm Manifying blib/man3/DBI::DBD.3pm Manifying blib/man3/DBI::DBD::SqlEngine.3pm Manifying blib/man3/Win32::DBIODBC.3pm Manifying blib/man3/DBI::PurePerl.3pm Manifying blib/man3/DBI::ProfileData.3pm
3.make test
[root@localhost DBI-1.636]# make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, ‘blib/lib‘, ‘blib/arch‘)" t/*.t t/01basics.t .................... # --- Perl 5.010001 on x86_64-linux-thread-multi t/01basics.t .................... ok t/02dbidrv.t .................... ok t/03handle.t .................... ok t/04mods.t ...................... ok t/05concathash.t ................ ok t/06attrs.t ..................... ok t/07kids.t ...................... ok t/08keeperr.t ................... ok t/09trace.t ..................... ok t/10examp.t ..................... ok t/11fetch.t ..................... ok t/12quote.t ..................... ok t/13taint.t ..................... ok t/14utf8.t ...................... ok t/15array.t ..................... ok t/16destroy.t ................... ok t/19fhtrace.t ................... ok t/20meta.t ...................... ok t/30subclass.t .................. ok t/31methcache.t ................. ok t/35thrclone.t .................. ok t/40profile.t ................... ok t/41prof_dump.t ................. ok t/42prof_data.t ................. ok t/43prof_env.t .................. ok t/48dbi_dbd_sqlengine.t ......... ok t/49dbd_file.t .................. ok t/50dbm_simple.t ................ ok t/51dbm_file.t .................. ok t/52dbm_complex.t ............... skipped: DBI::SQL::Nano is being used t/53sqlengine_adv.t ............. ok t/60preparse.t .................. ok t/65transact.t .................. ok t/70callbacks.t ................. ok t/72childhandles.t .............. ok t/73cachedkids.t ................ ok t/80proxy.t ..................... skipped: modules required for proxy are probably not installed (e.g., RPC/PlClient.pm) t/85gofer.t ..................... ok t/86gofer_fail.t ................ ok t/87gofer_cache.t ............... ok t/90sql_type_cast.t ............. ok t/91_store_warning.t ............ ok t/pod-coverage.t ................ skipped: Test::Pod::Coverage 1.04 required for testing POD coverage t/pod.t ......................... skipped: Test::Pod 1.41 required for testing POD t/zvg_01basics.t ................ # --- Perl 5.010001 on x86_64-linux-thread-multi t/zvg_01basics.t ................ ok t/zvg_02dbidrv.t ................ ok t/zvg_03handle.t ................ ok t/zvg_04mods.t .................. ok t/zvg_05concathash.t ............ ok t/zvg_06attrs.t ................. ok t/zvg_07kids.t .................. ok t/zvg_08keeperr.t ............... ok t/zvg_09trace.t ................. ok t/zvg_10examp.t ................. ok t/zvg_11fetch.t ................. ok t/zvg_12quote.t ................. ok t/zvg_13taint.t ................. skipped: Taint attribute tests not functional with DBI_AUTOPROXY t/zvg_14utf8.t .................. ok t/zvg_15array.t ................. ok t/zvg_16destroy.t ............... ok t/zvg_19fhtrace.t ............... ok t/zvg_20meta.t .................. ok t/zvg_30subclass.t .............. ok t/zvg_31methcache.t ............. ok t/zvg_35thrclone.t .............. ok t/zvg_40profile.t ............... ok t/zvg_41prof_dump.t ............. ok t/zvg_42prof_data.t ............. ok t/zvg_43prof_env.t .............. ok t/zvg_48dbi_dbd_sqlengine.t ..... ok t/zvg_49dbd_file.t .............. ok t/zvg_50dbm_simple.t ............ ok t/zvg_51dbm_file.t .............. ok t/zvg_52dbm_complex.t ........... skipped: DBI::SQL::Nano is being used t/zvg_53sqlengine_adv.t ......... skipped: Modifying driver state won‘t compute running behind Gofer t/zvg_60preparse.t .............. ok t/zvg_65transact.t .............. skipped: Transactions not supported by DBD::Gofer t/zvg_70callbacks.t ............. ok t/zvg_72childhandles.t .......... ok t/zvg_73cachedkids.t ............ ok t/zvg_80proxy.t ................. skipped: modules required for proxy are probably not installed (e.g., RPC/PlClient.pm) t/zvg_85gofer.t ................. ok t/zvg_86gofer_fail.t ............ skipped: Gofer DBI_AUTOPROXY t/zvg_87gofer_cache.t ........... skipped: Gofer DBI_AUTOPROXY t/zvg_90sql_type_cast.t ......... ok t/zvg_91_store_warning.t ........ ok t/zvn_48dbi_dbd_sqlengine.t ..... ok t/zvn_49dbd_file.t .............. ok t/zvn_50dbm_simple.t ............ ok t/zvn_51dbm_file.t .............. ok t/zvn_52dbm_complex.t ........... skipped: DBI::SQL::Nano is being used t/zvn_85gofer.t ................. ok t/zvp_01basics.t ................ # --- Perl 5.010001 on x86_64-linux-thread-multi t/zvp_01basics.t ................ ok t/zvp_02dbidrv.t ................ ok t/zvp_03handle.t ................ ok t/zvp_04mods.t .................. ok t/zvp_05concathash.t ............ ok t/zvp_06attrs.t ................. ok t/zvp_07kids.t .................. skipped: $h->{Kids} attribute not supported for DBI::PurePerl t/zvp_08keeperr.t ............... ok t/zvp_09trace.t ................. ok t/zvp_10examp.t ................. ok t/zvp_11fetch.t ................. ok t/zvp_12quote.t ................. ok t/zvp_13taint.t ................. skipped: Taint attributes not supported with DBI::PurePerl t/zvp_14utf8.t .................. ok t/zvp_15array.t ................. ok t/zvp_16destroy.t ............... ok t/zvp_19fhtrace.t ............... ok t/zvp_20meta.t .................. ok t/zvp_30subclass.t .............. ok t/zvp_31methcache.t ............. ok t/zvp_35thrclone.t .............. ok t/zvp_40profile.t ............... skipped: profiling not supported for DBI::PurePerl t/zvp_41prof_dump.t ............. skipped: profiling not supported for DBI::PurePerl t/zvp_42prof_data.t ............. skipped: profiling not supported for DBI::PurePerl t/zvp_43prof_env.t .............. skipped: profiling not supported for DBI::PurePerl t/zvp_48dbi_dbd_sqlengine.t ..... ok t/zvp_49dbd_file.t .............. ok t/zvp_50dbm_simple.t ............ ok t/zvp_51dbm_file.t .............. ok t/zvp_52dbm_complex.t ........... skipped: DBI::SQL::Nano is being used t/zvp_53sqlengine_adv.t ......... ok t/zvp_60preparse.t .............. skipped: preparse not supported for DBI::PurePerl t/zvp_65transact.t .............. ok t/zvp_70callbacks.t ............. skipped: $h->{Callbacks} attribute not supported for DBI::PurePerl t/zvp_72childhandles.t .......... ok t/zvp_73cachedkids.t ............ ok t/zvp_80proxy.t ................. skipped: modules required for proxy are probably not installed (e.g., RPC/PlClient.pm) t/zvp_85gofer.t ................. ok t/zvp_86gofer_fail.t ............ skipped: requires Callbacks which are not supported with PurePerl t/zvp_87gofer_cache.t ........... ok t/zvp_90sql_type_cast.t ......... ok t/zvp_91_store_warning.t ........ ok t/zvxgn_48dbi_dbd_sqlengine.t ... ok t/zvxgn_49dbd_file.t ............ ok t/zvxgn_50dbm_simple.t .......... ok t/zvxgn_51dbm_file.t ............ ok t/zvxgn_52dbm_complex.t ......... skipped: DBI::SQL::Nano is being used t/zvxgn_85gofer.t ............... ok t/zvxgnp_48dbi_dbd_sqlengine.t .. ok t/zvxgnp_49dbd_file.t ........... ok t/zvxgnp_50dbm_simple.t ......... ok t/zvxgnp_51dbm_file.t ........... ok t/zvxgnp_52dbm_complex.t ........ skipped: DBI::SQL::Nano is being used t/zvxgnp_85gofer.t .............. ok t/zvxgp_01basics.t .............. # --- Perl 5.010001 on x86_64-linux-thread-multi t/zvxgp_01basics.t .............. ok t/zvxgp_02dbidrv.t .............. ok t/zvxgp_03handle.t .............. ok t/zvxgp_04mods.t ................ ok t/zvxgp_05concathash.t .......... ok t/zvxgp_06attrs.t ............... ok t/zvxgp_07kids.t ................ skipped: $h->{Kids} attribute not supported for DBI::PurePerl t/zvxgp_08keeperr.t ............. ok t/zvxgp_09trace.t ............... ok t/zvxgp_10examp.t ............... ok t/zvxgp_11fetch.t ............... ok t/zvxgp_12quote.t ............... ok t/zvxgp_13taint.t ............... skipped: Taint attributes not supported with DBI::PurePerl t/zvxgp_14utf8.t ................ ok t/zvxgp_15array.t ............... ok t/zvxgp_16destroy.t ............. ok t/zvxgp_19fhtrace.t ............. ok t/zvxgp_20meta.t ................ ok t/zvxgp_30subclass.t ............ ok t/zvxgp_31methcache.t ........... ok t/zvxgp_35thrclone.t ............ ok t/zvxgp_40profile.t ............. skipped: profiling not supported for DBI::PurePerl t/zvxgp_41prof_dump.t ........... skipped: profiling not supported for DBI::PurePerl t/zvxgp_42prof_data.t ........... skipped: profiling not supported for DBI::PurePerl t/zvxgp_43prof_env.t ............ skipped: profiling not supported for DBI::PurePerl t/zvxgp_48dbi_dbd_sqlengine.t ... ok t/zvxgp_49dbd_file.t ............ ok t/zvxgp_50dbm_simple.t .......... ok t/zvxgp_51dbm_file.t ............ ok t/zvxgp_52dbm_complex.t ......... skipped: DBI::SQL::Nano is being used t/zvxgp_53sqlengine_adv.t ....... skipped: Modifying driver state won‘t compute running behind Gofer t/zvxgp_60preparse.t ............ skipped: preparse not supported for DBI::PurePerl t/zvxgp_65transact.t ............ skipped: Transactions not supported by DBD::Gofer t/zvxgp_70callbacks.t ........... skipped: $h->{Callbacks} attribute not supported for DBI::PurePerl t/zvxgp_72childhandles.t ........ ok t/zvxgp_73cachedkids.t .......... ok t/zvxgp_80proxy.t ............... skipped: modules required for proxy are probably not installed (e.g., RPC/PlClient.pm) t/zvxgp_85gofer.t ............... ok t/zvxgp_86gofer_fail.t .......... skipped: requires Callbacks which are not supported with PurePerl t/zvxgp_87gofer_cache.t ......... skipped: Gofer DBI_AUTOPROXY t/zvxgp_90sql_type_cast.t ....... ok t/zvxgp_91_store_warning.t ...... ok t/zvxnp_48dbi_dbd_sqlengine.t ... ok t/zvxnp_49dbd_file.t ............ ok t/zvxnp_50dbm_simple.t .......... ok t/zvxnp_51dbm_file.t ............ ok t/zvxnp_52dbm_complex.t ......... skipped: DBI::SQL::Nano is being used t/zvxnp_85gofer.t ............... ok All tests successful. Files=194, Tests=8965, 61 wallclock secs ( 1.54 usr 0.48 sys + 45.44 cusr 8.89 csys = 56.35 CPU) Result: PASS PERL_DL_NONLAZY=1 /usr/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl test.pl DBI test application $Revision$ Switch: DBI 1.636 by Tim Bunce, 1.636 Available Drivers: DBM, ExampleP, File, Gofer, Proxy, SQLite, Sponge, mysql dbi:ExampleP:: testing 3 sets of 20 connections: Connecting... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Disconnecting... Connecting... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Disconnecting... Connecting... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Disconnecting... connect 20 and disconnect them, 3 times: 0.0012s / 60 = 0.0000s Testing handle creation speed... 125000 NullP sth/s perl 5.010001 x86_64-linux-thread-multi (gcc 4.4.7 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic) 0.000008s test.pl done
4.make install
[root@localhost DBI-1.636]# make install Manifying blib/man1/dbiproxy.1 Manifying blib/man1/dbilogstrip.1 Files found in blib/arch: installing files in blib/lib into architecture dependent library tree Installing /usr/local/lib64/perl5/auto/DBI/dbipport.h Installing /usr/local/lib64/perl5/auto/DBI/DBIXS.h Installing /usr/local/lib64/perl5/auto/DBI/Driver_xst.h Installing /usr/local/lib64/perl5/auto/DBI/dbivport.h Installing /usr/local/lib64/perl5/auto/DBI/DBI.bs Installing /usr/local/lib64/perl5/auto/DBI/DBI.so Installing /usr/local/lib64/perl5/auto/DBI/Driver.xst Installing /usr/local/lib64/perl5/auto/DBI/dbixs_rev.h Installing /usr/local/lib64/perl5/auto/DBI/dbi_sql.h Installing /usr/local/lib64/perl5/auto/DBI/dbd_xsh.h Installing /usr/local/lib64/perl5/DBI.pm Installing /usr/local/lib64/perl5/dbixs_rev.pl Installing /usr/local/lib64/perl5/Win32/DBIODBC.pm Installing /usr/local/lib64/perl5/Bundle/DBI.pm Installing /usr/local/lib64/perl5/DBD/Proxy.pm Installing /usr/local/lib64/perl5/DBD/Gofer.pm Installing /usr/local/lib64/perl5/DBD/DBM.pm Installing /usr/local/lib64/perl5/DBD/Sponge.pm Installing /usr/local/lib64/perl5/DBD/NullP.pm Installing /usr/local/lib64/perl5/DBD/ExampleP.pm Installing /usr/local/lib64/perl5/DBD/File.pm Installing /usr/local/lib64/perl5/DBD/Gofer/Policy/rush.pm Installing /usr/local/lib64/perl5/DBD/Gofer/Policy/classic.pm Installing /usr/local/lib64/perl5/DBD/Gofer/Policy/Base.pm Installing /usr/local/lib64/perl5/DBD/Gofer/Policy/pedantic.pm Installing /usr/local/lib64/perl5/DBD/Gofer/Transport/null.pm Installing /usr/local/lib64/perl5/DBD/Gofer/Transport/pipeone.pm Installing /usr/local/lib64/perl5/DBD/Gofer/Transport/corostream.pm Installing /usr/local/lib64/perl5/DBD/Gofer/Transport/stream.pm Installing /usr/local/lib64/perl5/DBD/Gofer/Transport/Base.pm Installing /usr/local/lib64/perl5/DBD/File/Developers.pod Installing /usr/local/lib64/perl5/DBD/File/HowTo.pod Installing /usr/local/lib64/perl5/DBD/File/Roadmap.pod Installing /usr/local/lib64/perl5/DBI/ProxyServer.pm Installing /usr/local/lib64/perl5/DBI/Profile.pm Installing /usr/local/lib64/perl5/DBI/ProfileSubs.pm Installing /usr/local/lib64/perl5/DBI/PurePerl.pm Installing /usr/local/lib64/perl5/DBI/ProfileDumper.pm Installing /usr/local/lib64/perl5/DBI/Changes.pm Installing /usr/local/lib64/perl5/DBI/DBD.pm Installing /usr/local/lib64/perl5/DBI/W32ODBC.pm Installing /usr/local/lib64/perl5/DBI/ProfileData.pm Installing /usr/local/lib64/perl5/DBI/Gofer/Execute.pm Installing /usr/local/lib64/perl5/DBI/Gofer/Response.pm Installing /usr/local/lib64/perl5/DBI/Gofer/Request.pm Installing /usr/local/lib64/perl5/DBI/Gofer/Transport/pipeone.pm Installing /usr/local/lib64/perl5/DBI/Gofer/Transport/stream.pm Installing /usr/local/lib64/perl5/DBI/Gofer/Transport/Base.pm Installing /usr/local/lib64/perl5/DBI/Gofer/Serializer/Storable.pm Installing /usr/local/lib64/perl5/DBI/Gofer/Serializer/DataDumper.pm Installing /usr/local/lib64/perl5/DBI/Gofer/Serializer/Base.pm Installing /usr/local/lib64/perl5/DBI/SQL/Nano.pm Installing /usr/local/lib64/perl5/DBI/Const/GetInfoReturn.pm Installing /usr/local/lib64/perl5/DBI/Const/GetInfoType.pm Installing /usr/local/lib64/perl5/DBI/Const/GetInfo/ANSI.pm Installing /usr/local/lib64/perl5/DBI/Const/GetInfo/ODBC.pm Installing /usr/local/lib64/perl5/DBI/ProfileDumper/Apache.pm Installing /usr/local/lib64/perl5/DBI/DBD/Metadata.pm Installing /usr/local/lib64/perl5/DBI/DBD/SqlEngine.pm Installing /usr/local/lib64/perl5/DBI/DBD/SqlEngine/Developers.pod Installing /usr/local/lib64/perl5/DBI/DBD/SqlEngine/HowTo.pod Installing /usr/local/lib64/perl5/DBI/Util/_accessor.pm Installing /usr/local/lib64/perl5/DBI/Util/CacheMemory.pm Installing /usr/local/share/man/man1/dbiproxy.1 Installing /usr/local/share/man/man1/dbilogstrip.1 Installing /usr/local/share/man/man1/dbiprof.1 Installing /usr/local/share/man/man3/DBD::Proxy.3pm Installing /usr/local/share/man/man3/DBI::DBD::SqlEngine::HowTo.3pm Installing /usr/local/share/man/man3/DBI::Profile.3pm Installing /usr/local/share/man/man3/Win32::DBIODBC.3pm Installing /usr/local/share/man/man3/DBI::W32ODBC.3pm Installing /usr/local/share/man/man3/DBI::ProfileDumper::Apache.3pm Installing /usr/local/share/man/man3/DBD::Gofer.3pm Installing /usr/local/share/man/man3/DBI::Gofer::Serializer::DataDumper.3pm Installing /usr/local/share/man/man3/DBI::Gofer::Transport::pipeone.3pm Installing /usr/local/share/man/man3/DBI::ProfileSubs.3pm Installing /usr/local/share/man/man3/DBI::Gofer::Serializer::Base.3pm Installing /usr/local/share/man/man3/DBI::PurePerl.3pm Installing /usr/local/share/man/man3/DBD::Gofer::Transport::stream.3pm Installing /usr/local/share/man/man3/DBI::DBD::SqlEngine.3pm Installing /usr/local/share/man/man3/DBD::Gofer::Transport::Base.3pm Installing /usr/local/share/man/man3/DBD::Gofer::Transport::pipeone.3pm Installing /usr/local/share/man/man3/DBI::Gofer::Serializer::Storable.3pm Installing /usr/local/share/man/man3/DBD::DBM.3pm Installing /usr/local/share/man/man3/DBD::File::Roadmap.3pm Installing /usr/local/share/man/man3/DBI::Gofer::Transport::stream.3pm Installing /usr/local/share/man/man3/DBI::Const::GetInfo::ODBC.3pm Installing /usr/local/share/man/man3/DBD::File::HowTo.3pm Installing /usr/local/share/man/man3/DBI::DBD::Metadata.3pm Installing /usr/local/share/man/man3/DBI::DBD::SqlEngine::Developers.3pm Installing /usr/local/share/man/man3/DBI::ProfileData.3pm Installing /usr/local/share/man/man3/DBD::File::Developers.3pm Installing /usr/local/share/man/man3/DBI::ProxyServer.3pm Installing /usr/local/share/man/man3/DBI::Const::GetInfoType.3pm Installing /usr/local/share/man/man3/DBI::Const::GetInfo::ANSI.3pm Installing /usr/local/share/man/man3/DBD::Gofer::Transport::null.3pm Installing /usr/local/share/man/man3/DBI::DBD.3pm Installing /usr/local/share/man/man3/DBI.3pm Installing /usr/local/share/man/man3/DBD::Gofer::Policy::rush.3pm Installing /usr/local/share/man/man3/DBI::Gofer::Execute.3pm Installing /usr/local/share/man/man3/Bundle::DBI.3pm Installing /usr/local/share/man/man3/DBI::Gofer::Transport::Base.3pm Installing /usr/local/share/man/man3/DBD::File.3pm Installing /usr/local/share/man/man3/DBI::Const::GetInfoReturn.3pm Installing /usr/local/share/man/man3/DBD::Sponge.3pm Installing /usr/local/share/man/man3/DBI::Util::CacheMemory.3pm Installing /usr/local/share/man/man3/DBI::SQL::Nano.3pm Installing /usr/local/share/man/man3/DBI::Gofer::Response.3pm Installing /usr/local/share/man/man3/DBD::Gofer::Policy::classic.3pm Installing /usr/local/share/man/man3/DBI::Gofer::Request.3pm Installing /usr/local/share/man/man3/DBD::Gofer::Transport::corostream.3pm Installing /usr/local/share/man/man3/DBD::Gofer::Policy::Base.3pm Installing /usr/local/share/man/man3/DBI::ProfileDumper.3pm Installing /usr/local/share/man/man3/DBD::Gofer::Policy::pedantic.3pm Installing /usr/local/bin/dbiprof Installing /usr/local/bin/dbilogstrip Installing /usr/local/bin/dbiproxy Appending installation info to /usr/lib64/perl5/perllocal.pod
安装DBD,同样解压:
export ORACLE_HOME=/usr/lib/oracle/11.2/client64 && export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib 这两条环境变量必须要
perl Makefile.PL
[root@localhost DBD-Oracle-1.74]# perl Makefile.PL Multiple copies of Driver.xst found in: /usr/local/lib64/perl5/auto/DBI/ /usr/lib64/perl5/auto/DBI/ at Makefile.PL line 39 Using DBI 1.636 (for perl 5.010001 on x86_64-linux-thread-multi) installed in /usr/local/lib64/perl5/auto/DBI/ Configuring DBD::Oracle for perl 5.010001 on linux (x86_64-linux-thread-multi) Remember to actually *READ* the README file! Especially if you have any problems. Installing on a linux, Ver#3.10 Using Oracle in /usr/lib/oracle/11.2/client64 DEFINE _SQLPLUS_RELEASE = "1102000400" (CHAR) Oracle version 11.2.0.4 (11.2) Found /usr/share/oracle/11.2/client64/demo.mk Using /usr/share/oracle/11.2/client64/demo.mk Your LD_LIBRARY_PATH env var is set to ‘/usr/lib/oracle/11.2/client64/lib‘ Reading /usr/share/oracle/11.2/client64/demo.mk WARNING: Oracle /usr/share/oracle/11.2/client64/demo.mk doesn‘t define a ‘build‘ rule. WARNING: I will now try to guess how to build and link DBD::Oracle for you. This kind of guess work is very error prone and Oracle-version sensitive. It is possible that it won‘t be supported in future versions of DBD::Oracle. *PLEASE* notify dbi-users about exactly _why_ you had to build it this way. Found header files in /usr/include/oracle/11.2/client64. client_version=11.2 DEFINE= -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"11.2.0.4\" -DORA_OCI_102 -DORA_OCI_112 Checking for functioning wait.ph System: perl5.010001 linux c1bm.rdu2.centos.org 3.10.0-514.10.2.el7.x86_64 #1 smp fri mar 3 00:04:05 utc 2017 x86_64 x86_64 x86_64 gnulinux Compiler: gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe - fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64Linker: /usr/bin/ld Sysliblist: Oracle makefiles would have used these definitions but we override them: CC: /usr/bin/gcc LDFLAGS: -g [-g] Linking with -L../../ -locci -lclntsh -lpthread [from $(CCLIB)] Checking if your kit is complete... Looks good Warning: -L../../ changed to -L/tmp/DBD-Oracle-1.74/../../ LD_RUN_PATH=/usr/lib/oracle/11.2/client64/lib Using DBD::Oracle 1.74. Using DBD::Oracle 1.74. Multiple copies of Driver.xst found in: /usr/local/lib64/perl5/auto/DBI/ /usr/lib64/perl5/auto/DBI/ at Makefile.PL line 1789 Using DBI 1.636 (for perl 5.010001 on x86_64-linux-thread-multi) installed in /usr/local/lib64/perl5/auto/DBI/ Writing Makefile for DBD::Oracle *** If you have problems... read all the log printed above, and the README and README.help.txt files. (Of course, you have read README by now anyway, haven‘t you?)
make
[root@localhost DBD-Oracle-1.74]# make cp lib/DBD/Oracle/Troubleshooting/Cygwin.pod blib/lib/DBD/Oracle/Troubleshooting/Cygwin.pod cp lib/DBD/Oracle.pm blib/lib/DBD/Oracle.pm cp Oracle.h blib/arch/auto/DBD/Oracle/Oracle.h cp lib/DBD/Oracle/Troubleshooting/Hpux.pod blib/lib/DBD/Oracle/Troubleshooting/Hpux.pod cp lib/DBD/Oracle/Troubleshooting/Vms.pod blib/lib/DBD/Oracle/Troubleshooting/Vms.pod cp lib/DBD/Oracle/Troubleshooting/Linux.pod blib/lib/DBD/Oracle/Troubleshooting/Linux.pod cp lib/DBD/Oracle/GetInfo.pm blib/lib/DBD/Oracle/GetInfo.pm cp lib/DBD/Oracle/Troubleshooting.pod blib/lib/DBD/Oracle/Troubleshooting.pod cp dbdimp.h blib/arch/auto/DBD/Oracle/dbdimp.h cp ocitrace.h blib/arch/auto/DBD/Oracle/ocitrace.h cp lib/DBD/Oracle/Troubleshooting/Sun.pod blib/lib/DBD/Oracle/Troubleshooting/Sun.pod cp lib/DBD/Oracle/Troubleshooting/Macos.pod blib/lib/DBD/Oracle/Troubleshooting/Macos.pod cp lib/DBD/Oracle/Object.pm blib/lib/DBD/Oracle/Object.pm cp lib/DBD/Oracle/Troubleshooting/Aix.pod blib/lib/DBD/Oracle/Troubleshooting/Aix.pod cp lib/DBD/Oracle/Troubleshooting/Win64.pod blib/lib/DBD/Oracle/Troubleshooting/Win64.pod cp lib/DBD/Oracle/Troubleshooting/Win32.pod blib/lib/DBD/Oracle/Troubleshooting/Win32.pod cp mk.pm blib/arch/auto/DBD/Oracle/mk.pm /usr/bin/perl -p -e "s/~DRIVER~/Oracle/g" /usr/local/lib64/perl5/auto/DBI/Driver.xst > Oracle.xsi /usr/bin/perl /usr/share/perl5/ExtUtils/xsubpp -typemap /usr/share/perl5/ExtUtils/typemap -typemap typemap Oracle.xs > Oracle.xsc && mv Oracle.xsc Oracle.c gcc -c -I/usr/include/oracle/11.2/client64 -I/usr/local/lib64/perl5/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DVERSION=\"1.74\" -DXS_VERSION=\"1.74\" -fPIC "-I/usr/lib64/perl5/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"11.2.0.4\" -DORA_OCI_102 -DORA_OCI_112 Oracle.c在包含自 /usr/local/lib64/perl5/auto/DBI/DBIXS.h:38 的文件中, 从 Oracle.h:50, 从 Oracle.xs:1: /usr/local/lib64/perl5/auto/DBI/dbipport.h:6145:1: 警告:“MUTABLE_PTR”重定义 在包含自 /usr/lib64/perl5/CORE/perl.h:2424 的文件中, 从 /usr/local/lib64/perl5/auto/DBI/DBIXS.h:23, 从 Oracle.h:50, 从 Oracle.xs:1: /usr/lib64/perl5/CORE/handy.h:63:1: 警告:这是先前定义的位置 gcc -c -I/usr/include/oracle/11.2/client64 -I/usr/local/lib64/perl5/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DVERSION=\"1.74\" -DXS_VERSION=\"1.74\" -fPIC "-I/usr/lib64/perl5/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"11.2.0.4\" -DORA_OCI_102 -DORA_OCI_112 dbdimp.c在包含自 /usr/local/lib64/perl5/auto/DBI/DBIXS.h:38 的文件中, 从 Oracle.h:50, 从 dbdimp.c:21: /usr/local/lib64/perl5/auto/DBI/dbipport.h:6145:1: 警告:“MUTABLE_PTR”重定义 在包含自 /usr/lib64/perl5/CORE/perl.h:2424 的文件中, 从 /usr/local/lib64/perl5/auto/DBI/DBIXS.h:23, 从 Oracle.h:50, 从 dbdimp.c:21: /usr/lib64/perl5/CORE/handy.h:63:1: 警告:这是先前定义的位置 dbdimp.c: 在函数‘ora_db_login6’中: dbdimp.c:725: 警告:格式‘%d’需要类型‘int’,但实参 12 的类型为‘size_t’ dbdimp.c:725: 警告:格式‘%d’需要类型‘int’,但实参 14 的类型为‘size_t’ dbdimp.c: 在函数‘ora_st_FETCH_attrib’中: dbdimp.c:4349: 警告:未使用的变量‘imp_dbh’ gcc -c -I/usr/include/oracle/11.2/client64 -I/usr/local/lib64/perl5/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DVERSION=\"1.74\" -DXS_VERSION=\"1.74\" -fPIC "-I/usr/lib64/perl5/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"11.2.0.4\" -DORA_OCI_102 -DORA_OCI_112 oci8.c在包含自 /usr/local/lib64/perl5/auto/DBI/DBIXS.h:38 的文件中, 从 Oracle.h:50, 从 oci8.c:12: /usr/local/lib64/perl5/auto/DBI/dbipport.h:6145:1: 警告:“MUTABLE_PTR”重定义 在包含自 /usr/lib64/perl5/CORE/perl.h:2424 的文件中, 从 /usr/local/lib64/perl5/auto/DBI/DBIXS.h:23, 从 Oracle.h:50, 从 oci8.c:12: /usr/lib64/perl5/CORE/handy.h:63:1: 警告:这是先前定义的位置 oci8.c: 在函数‘ora_blob_read_mb_piece’中: oci8.c:1847: 警告:格式‘%lu’需要类型‘long unsigned int’,但实参 6 的类型为‘ub4’ Running Mkbootstrap for DBD::Oracle () chmod 644 Oracle.bs rm -f blib/arch/auto/DBD/Oracle/Oracle.so gcc -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic Oracle.o dbdimp.o oci8.o -o blib/arch/auto/DBD/Oracle/Ora cle.so \ -L/usr/lib/oracle/11.2/client64/lib -L/tmp/DBD-Oracle-1.74/../.. -locci -lclntsh -lpthread chmod 755 blib/arch/auto/DBD/Oracle/Oracle.so cp Oracle.bs blib/arch/auto/DBD/Oracle/Oracle.bs chmod 644 blib/arch/auto/DBD/Oracle/Oracle.bs Manifying blib/man3/DBD::Oracle::Troubleshooting.3pm Manifying blib/man3/DBD::Oracle::Troubleshooting::Cygwin.3pm Manifying blib/man3/DBD::Oracle.3pm Manifying blib/man3/DBD::Oracle::Troubleshooting::Sun.3pm Manifying blib/man3/DBD::Oracle::Troubleshooting::Hpux.3pm Manifying blib/man3/DBD::Oracle::Troubleshooting::Vms.3pm Manifying blib/man3/DBD::Oracle::Troubleshooting::Macos.3pm Manifying blib/man3/DBD::Oracle::Object.3pm Manifying blib/man3/DBD::Oracle::Troubleshooting::Aix.3pm Manifying blib/man3/DBD::Oracle::Troubleshooting::Linux.3pm Manifying blib/man3/DBD::Oracle::Troubleshooting::Win64.3pm Manifying blib/man3/DBD::Oracle::GetInfo.3pm Manifying blib/man3/DBD::Oracle::Troubleshooting::Win32.3pm
make test
[root@host108 DBD-Oracle-1.74]# make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, ‘blib/lib‘, ‘blib/arch‘)" t/*.t t/000-report-versions-tiny.t .. # # # Generated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.10 # perl: 5.010001 (wanted 5.006) on linux from /usr/bin/perl # # B => 1.22 (want any version) # Carp => 1.11 (want any version) # DBI => 1.636 (want 1.51) # Data::Dumper => 2.124 (want any version) # Devel::Peek => 1.04 (want any version) # DynaLoader => 1.10 (want any version) # Encode => 2.35 (want any version) # Exporter => 5.63 (want any version) # ExtUtils::MakeMaker => 6.55_02 (want 6.30) # Math::BigInt => 1.89 (want any version) # Test::More => 0.92 (want 0.88) # Thread::Semaphore => 2.09 (want any version) # lib => 0.62 (want any version) # strict => 1.04 (want any version) # utf8 => 1.07 (want any version) # vars => 1.01 (want any version) # warnings => 1.06 (want any version) # # Thanks for using my code. I hope it works for you. # If not, please try and include this output in the bug report. # That will help me reproduce the issue and solve your problem. # t/000-report-versions-tiny.t .. ok t/00versions.t ................ # OCI client library version: 11.2.0.4 t/00versions.t ................ ok t/01base.t .................... ok t/10general.t ................. skipped: Unable to connect to Oracle t/12impdata.t ................. skipped: Unable to connect to Oracle t/14threads.t ................. skipped: Unable to connect to Oracle t/15nls.t ..................... skipped: Unable to connect to Oracle t/20select.t .................. skipped: Unable to connect to oracle t/21nchar.t ................... skipped: Unable to connect to Oracle t/22nchar_al32utf8.t .......... skipped: Unable to connect to Oracle t/22nchar_utf8.t .............. skipped: Unable to connect to Oracle t/23wide_db.t ................. skipped: Unable to connect to Oracle t/23wide_db_8bit.t ............ skipped: Unable to connect to Oracle t/23wide_db_al32utf8.t ........ skipped: Unable to connect to Oracle t/24implicit_utf8.t ........... skipped: Unable to connect to Oracle t/25plsql.t ................... skipped: Unable to connect to Oracle t/26exe_array.t ............... skipped: Unable to connect to Oracle t/28array_bind.t .............. skipped: Unable to connect to Oracle t/30long.t .................... skipped: Unable to connect to Oracle t/31lob.t ..................... skipped: Unable to connect to Oracle t/31lob_extended.t ............ skipped: Unable to connect to Oracle t/32xmltype.t ................. skipped: Unable to connect to Oracle t/34pres_lobs.t ............... skipped: Unable to connect to Oracle t/36lob_leak.t ................ skipped: Unable to connect to Oracle t/38taf.t ..................... DBI connect(‘‘,‘scott/tiger‘,...) failed: ORA-12162: TNS:net service name is incorrectly specified (DBD ERROR: OCIServerAttach) at t/38taf.t line 19 t/38taf.t ..................... skipped: Unable to connect to Oracle t/39attr.t .................... DBI connect(‘‘,‘scott/tiger‘,...) failed: ORA-12162: TNS:net service name is incorrectly specified (DBD ERROR: OCIServerAttach) at t/39attr.t line 33 t/39attr.t .................... skipped: Unable to connect to Oracle t/40ph_type.t ................. skipped: Unable to connect to Oracle t/50cursor.t .................. skipped: Unable to connect to Oracle t/51scroll.t .................. skipped: Unable to connect to Oracle t/55nested.t .................. skipped: Unable to connect to Oracle t/56embbeded.t ................ skipped: Unable to connect to Oracle t/58object.t .................. skipped: Unable to connect to Oracle t/60reauth.t .................. skipped: ORACLE_USERID_2 not defined. t/70meta.t .................... skipped: Unable to connect to Oracle t/80ora_charset.t ............. skipped: Unable to connect to Oracle t/rt13865.t ................... skipped: can‘t connect to database t/rt74753-utf8-encoded.t ...... skipped: unable to connect to Oracle database t/rt85886.t ................... skipped: unable to connect to Oracle database All tests successful. Files=38, Tests=9, 2 wallclock secs ( 0.05 usr 0.02 sys + 1.62 cusr 0.21 csys = 1.90 CPU) Result: PASS
make install
[root@host108 DBD-Oracle-1.74]# make install
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so
Installing /usr/local/lib64/perl5/auto/DBD/Oracle/ocitrace.h
Installing /usr/local/lib64/perl5/auto/DBD/Oracle/dbdimp.h
Installing /usr/local/lib64/perl5/auto/DBD/Oracle/mk.pm
Installing /usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.h
Installing /usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.bs
Installing /usr/local/lib64/perl5/DBD/Oracle.pm
Installing /usr/local/lib64/perl5/DBD/Oracle/Object.pm
Installing /usr/local/lib64/perl5/DBD/Oracle/Troubleshooting.pod
Installing /usr/local/lib64/perl5/DBD/Oracle/GetInfo.pm
Installing /usr/local/lib64/perl5/DBD/Oracle/Troubleshooting/Win64.pod
Installing /usr/local/lib64/perl5/DBD/Oracle/Troubleshooting/Hpux.pod
Installing /usr/local/lib64/perl5/DBD/Oracle/Troubleshooting/Aix.pod
Installing /usr/local/lib64/perl5/DBD/Oracle/Troubleshooting/Win32.pod
Installing /usr/local/lib64/perl5/DBD/Oracle/Troubleshooting/Macos.pod
Installing /usr/local/lib64/perl5/DBD/Oracle/Troubleshooting/Vms.pod
Installing /usr/local/lib64/perl5/DBD/Oracle/Troubleshooting/Sun.pod
Installing /usr/local/lib64/perl5/DBD/Oracle/Troubleshooting/Cygwin.pod
Installing /usr/local/lib64/perl5/DBD/Oracle/Troubleshooting/Linux.pod
Installing /usr/local/share/man/man3/DBD::Oracle::Troubleshooting::Vms.3pm
Installing /usr/local/share/man/man3/DBD::Oracle::Troubleshooting::Linux.3pm
Installing /usr/local/share/man/man3/DBD::Oracle::Troubleshooting::Aix.3pm
Installing /usr/local/share/man/man3/DBD::Oracle::GetInfo.3pm
Installing /usr/local/share/man/man3/DBD::Oracle::Troubleshooting::Win64.3pm
Installing /usr/local/share/man/man3/DBD::Oracle::Troubleshooting::Cygwin.3pm
Installing /usr/local/share/man/man3/DBD::Oracle::Troubleshooting.3pm
Installing /usr/local/share/man/man3/DBD::Oracle::Troubleshooting::Macos.3pm
Installing /usr/local/share/man/man3/DBD::Oracle::Troubleshooting::Sun.3pm
Installing /usr/local/share/man/man3/DBD::Oracle.3pm
Installing /usr/local/share/man/man3/DBD::Oracle::Troubleshooting::Win32.3pm
Installing /usr/local/share/man/man3/DBD::Oracle::Troubleshooting::Hpux.3pm
Installing /usr/local/share/man/man3/DBD::Oracle::Object.3pm
Appending installation info to /usr/lib64/perl5/perllocal.pod
脚本检查
#!/usr/bin/perl use strict; use ExtUtils::Installed; my $inst=ExtUtils::Installed->new(); my @modules = $inst->modules(); foreach(@modules){ my $ver = $inst->version($_) || "???"; printf("%-12s -- %s\n",$_,$ver); } exit;
[root@host108 ~]# chmod +x /root/check.pl
[root@host108 ~]# /root/check.pl
DBD::Oracle -- 1.74
DBI -- 1.636
Perl -- 5.10.1
原文:https://www.cnblogs.com/lp19910807/p/10837428.html