linux编译32位的参数,在64位环境下编译32位的应用程序

用PITA算法做靶标预测的时候,要用到ViennaRNA包做结构的折叠,这个包是被修改过的,原来的包在我机子上是可以装的。但是这个修改过的包编译不通过。很奇怪的错误,不知道怎么改。

好在它有两个版本,64位和32位的。我弄到大型机上去编译32位的,也是出错,不过是命名空间的问题,我改两个头文件就可以通过了。最近又要算。那个大型机最近被搬走了。只能本机上做。

所以折腾了一下,在64位的系统里编译32位的程序。

CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ OS: Ubuntu

7.10/Linux 2.6.20-15-server #2 SMP Sun Apr 15 06:22:36 UTC 2007

x86_64 GNU/Linux GCC: gcc (GCC) 4.1.2 (Ubuntu 4.1.2-0ubuntu4)

首先需要安装32位的兼容库

apt-get install ia32-libs libc6-dev-i386 linux32

1.用linux32命令在configure时改一下CHOST,设置一下编译环境

$ linux32 ./configure

#系统类型将变为:i686-pc-linux-gnu #而不是x86_64-unknown-linux-gnu

2.设定GCC的参数

export CFLAGS=”-m32 -04 -march=i386 -mtune=i386”

#最关键是-m32

-m32, -m64 Generate code for a 32-bit or 64-bit environment. The

32-bit environment sets int, long and pointer to 32 bits and generates

code that runs on any i386 system. The 64-bit environment sets int to

32 bits and long and pointer to 64 bits and generates code for AMD’s

x86-64 architecture.

3.编译

make

4.安装

sudo make install

最终是成功地安装了。破PC机又得跑好多天了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值