perl如果正常安装DBI和DBD::mysql模块,以及怎么用perlapp去编译它
我在自己的电脑(redhat5.4)上装了一个ActivePerl5.8.8版本,环境变量有设置过,系统自带的没有卸载——————————————————————————...
我在自己的电脑(red hat 5.4)上装了一个ActivePerl 5.8.8版本,环境变量有设置过,系统自带的没有卸载
————————————————————————————————————
由于工作需要mysql,我用cpan安装过DBI和DBD::mysql模块,但没成功,下载安装包手动装也不行,后来用系统安装盘Server里面自带的rpm包安装上了,但是它是安装到了系统自带的perl目录去了,把它copy到ActivePerl所在目录后测试可以运行。
以前没装过这个驱动,不知道是否合法。。。。
————————————————————————————————————
程序调试完毕用perlapp编译时有出现问题:
Waming:auto/Mysql/Mysql.so not found
我有进site/lib/auto/DBD/Mysql/Mysql.so文件夹看过,这个Mysql.so文件是有的,直接编译,在本机可执行。
把编译后的文件放到另外一台机(red hat 5.4)不可运行,后把
libmysqlclient.so.15 libmysqlclient_r.so.15 mysql_config
libmysqlclient.so.15.0.0 libmysqlclient_r.so.15.0.0 mysqlbug
文件复制到/usr/lib文件夹下可执行
但是换到另外一台(red hat 6)的电脑上就不行了,提示:
install_driver(mysql) failed: Can't load 'auto/DBD/mysql/mysql.so' for module DBD::mysql: auto/DBD/mysql/mysql.so: cannot open shared object file: No such file or directory at /</gen_db/odb5/lib/ext/mysqld_v5>DynaLoader.pm line 219.
at perlapp line 843
Perhaps a required shared library or dll isn't installed where expected
at mysqld line 9
我看了这台机的/usr/lib下有个mysql文件夹,里面有mysql的lib文件只是后面是16的,我把这个文件夹删除后把red hat 5 电脑下的lib文件copy过去之后还是不行
##################################################################
路过的大侠们帮我看看是我perl安装出错还是编译有问题啊,有没有什么对策? 展开
————————————————————————————————————
由于工作需要mysql,我用cpan安装过DBI和DBD::mysql模块,但没成功,下载安装包手动装也不行,后来用系统安装盘Server里面自带的rpm包安装上了,但是它是安装到了系统自带的perl目录去了,把它copy到ActivePerl所在目录后测试可以运行。
以前没装过这个驱动,不知道是否合法。。。。
————————————————————————————————————
程序调试完毕用perlapp编译时有出现问题:
Waming:auto/Mysql/Mysql.so not found
我有进site/lib/auto/DBD/Mysql/Mysql.so文件夹看过,这个Mysql.so文件是有的,直接编译,在本机可执行。
把编译后的文件放到另外一台机(red hat 5.4)不可运行,后把
libmysqlclient.so.15 libmysqlclient_r.so.15 mysql_config
libmysqlclient.so.15.0.0 libmysqlclient_r.so.15.0.0 mysqlbug
文件复制到/usr/lib文件夹下可执行
但是换到另外一台(red hat 6)的电脑上就不行了,提示:
install_driver(mysql) failed: Can't load 'auto/DBD/mysql/mysql.so' for module DBD::mysql: auto/DBD/mysql/mysql.so: cannot open shared object file: No such file or directory at /</gen_db/odb5/lib/ext/mysqld_v5>DynaLoader.pm line 219.
at perlapp line 843
Perhaps a required shared library or dll isn't installed where expected
at mysqld line 9
我看了这台机的/usr/lib下有个mysql文件夹,里面有mysql的lib文件只是后面是16的,我把这个文件夹删除后把red hat 5 电脑下的lib文件copy过去之后还是不行
##################################################################
路过的大侠们帮我看看是我perl安装出错还是编译有问题啊,有没有什么对策? 展开
1个回答
展开全部
右点一下 Bound file , 你可以加入自己想加入的档案. perlapp 其实只是将你的代码和目录结构打包, 所以, 只要你能把的要的档案成功加到你要的目录下, 应该就没问题了.
而如果遇到找不到 module 的时候, 就在 added modules 上加点一下, 再手动加入你想要的 module 就可以了...
最後, 你还得在 options 1 的 tab 下, 选取 use no run library.
而如果遇到找不到 module 的时候, 就在 added modules 上加点一下, 再手动加入你想要的 module 就可以了...
最後, 你还得在 options 1 的 tab 下, 选取 use no run library.
追问
这样做之后在red hat 5 下面编译后的文件是否可以拿到red hat 6 下去运行呢?
追答
理论上, 就跟你说的那样了. 不过... 我得强调一点..
这是 "打包", 不是 "编译" .. perlapp 能做的也只这样,
这过程就是像在 windows 里将 zip 档封装成 exe (self-extract)档,
能不能将 winxp 打包出来的 exe 拿到 win8 上执行,
那有一半是平台的问题, 有时也不能一概而论.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询