• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

perl静态编译DBD

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

编译DBD

  项目中经常使用perl,但perl在连接数据库时,需要依赖DBI,DBD驱动,但默认安装DBD驱动时,需要依赖数据库的lib库。

  比如perl连接MySQL,需要安装MySQL client。

 

下面使用静态编译,把DBI, DBD, MySQL client的libclient库静态编译在一起。这样,分发到机器上,就可以使用。

  1. 编译perl, DBI

    这一步没有依赖,下载最新的perl,DBI,按照make&&make install安装到/home/myperl目录。

 2. 安装MySQL

    编译最新的MySQL,这里只需要静态编译出libclient.a就可以了,不需要so文件。

   3. 静态编译DBD

    使用/home/myperl的perl来编译

    /home/myperl/bin/perl Makefile.PL --mysql_config=/usr/local/bin/mysql_config

    这样编译出来的/home/myperl是静态编译了DBD的版本,直接分发到目标机器上使用就可以了。

     可以使用ldd mysql.so文件查看依赖。

使用的时候,pl脚本的解释器指向 #!/home/myperl/bin/perl

 

rpm打包

  

由于环境需要rpm包来使用,尝试写一个简单的makefile,spec文件,用rpmbuild来打一个rpm包。

步骤:

  1. 准备makefile:
test : test.o
cc -o test test.o

test.o : test.c
        cc -c test.c

clean :  
        rm -rf test.o test

install :
        install -d ${DESTDIR}/${PREFIX_PERL}
        install -d ${DESTDIR}/${PREFIX_MS}
        install -m 755 test ${DESTDIR}/${PREFIX_MS}
        cp -r bin/ ${DESTDIR}/${PREFIX_PERL} 
        cp -r lib/ ${DESTDIR}/${PREFIX_PERL}
        cp -r man/ ${DESTDIR}/${PREFIX_PERL}

 

2. 准备spec文件

  

Name:myperl
Version:1.0.0
Release:%(echo $RELEASE)%{?dist}
License:GPL

Group:Application
BuildRoot:%{_tmppath}/%{name}-%{version}-%{release}-root
AutoReqProv: no   :去掉所有依赖检查和提供
Summary:myperl

%description

%prep

%build
cd $OLDPWD/../
make

%install
cd $OLDPWD/../
make install DESTDIR=$RPM_BUILD_ROOT PREFIX=/home/myperl

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
/home/myperl/*
%changelog

3. build rpm包

  

  rpmbuild myperl.spec

  打出来的就是myperl-1.0.0-1.el6.x86_64.rpm, 这样就可以直接使用了,不依赖任何lib库。

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
寒假【perl语言学习脚本】8.1 8.2 8.3 8.4 8.5 8.6发布时间:2022-07-22
下一篇:
对数据访问层的重构(及重构中Perl的应用)发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap