gpt4 book ai didi

perl - 为什么 Perl 的 DBD::DB2 在安装过程中找不到 dbivport.h?

转载 作者:行者123 更新时间:2023-12-04 06:54:21 33 4
gpt4 key购买 nike

我们正在使用 Perl 实用程序从 DB2 数据库中转储数据。我们安装了 DBI 包,它也要求 DBD 包。

我们没有 root 访问权限,当我们尝试安装 DBD 包时,我们收到以下错误:

错误构建 DB2.pm
[lijumathew@intblade03 DBD-DB2-1.78]$ 制作
make[1]: 进入目录'/home/lijumathew/lperl/perlsrc/DBD-DB2-1.78/Constants'
gcc -c -I"/db2/db2tf1/sqllib/include"-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -DVERSION=\"1.78\"-DXS_VERSION=\"1.78\"-fPIC "-I/usr/lib/perl5/5.8.5/i386 -linux-thread-multi/CORE"常量.c
为 DBD::DB2::Constants () 运行 Mkbootstrap
chmod 644 常量.bs
rm -f ../blib/arch/auto/DBD/DB2/Constants/Constants.so
gcc -shared -L/usr/local/lib Constants.o -o ../blib/arch/auto/DBD/DB2/Constants/Constants.so
chmod 755 ../blib/arch/auto/DBD/DB2/Constants/Constants.so
cp 常量.bs ../blib/arch/auto/DBD/DB2/Constants/Constants.bs
chmod 644 ../blib/arch/auto/DBD/DB2/Constants/Constants.bs
make[1]: 离开目录`/home/lijumathew/lperl/perlsrc/DBD-DB2-1.78/Constants'
gcc -c -I"/db2/db2tf1/sqllib/include"-I"/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/DBI"-I"/usr/lib/perl5/5.8.5/i386-linux-thread-multi/auto/DBI"-I"/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/auto/DBI"-I"/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/DBI"-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE - D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -DVERSION=\"1.78\"-DXS_VERSION=\"1.78\"-fPIC "-I/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE"DB2.c
在 DB2.h:22 包含的文件中,
从 DB2.xs:7:
dbdimp.h:10:22: dbivport.h: 没有这样的文件或目录
make: *** [DB2.o] 错误 1

我们如何解决这个问题?我们需要root访问权限来解决这个问题吗?

最佳答案

您遇到了问题,因为大多数 perl 模块,包括 DBD-DB2,都不是为了安装到与 DBI 模块不同的位置而编写的,如果您尝试以非 root 用户身份安装,就会发生这种情况。为了让它工作,你需要在 Makefile 中添加这样的一行:

DEFINE =  -DDB2_CACHE_FIX  -I${DBI_INCL}

并将 DBI_INCL 设置为具有 DBI 头文件的目录。

关于perl - 为什么 Perl 的 DBD::DB2 在安装过程中找不到 dbivport.h?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2727113/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com