OpenFOAM 发表于 2009-11-29 01:59:48

编译过过程中".weakref"问题

在编译OpenFOAM的代码时,有时候会遇到这个错误:
/tmp/ccVp9Gv4.s:2431:Error: unknown peseduo-op: `.weakref'
这个错误的原因是因为链接器(linker)版本的问题。可以通过
ld --version
查看这个“ld” 工具的本版号。对RedHat AS4的用户,应该是2.14 这个版本有点老。需要升级binutil(binutil 是linux下的二进制工具集。含有ld,as等常用工具),相关的资料可以在网上查看到。2.16以上的版本才行(印象中),我尝试过2.18是没有问题的。
一些网友是集群用户,没有管理员权限。但不影响你安装,在linux下可以将安装位置指定到用户有权限的安装目录,并设定相关的环境变量就可以了。

下面是 安装过程
mkdir $HOME/OpenFOAM/ThirdParty-1.6/tmp
cd $HOME/OpenFOAM/ThirdParty-1.6/tmp

解压缩
tar -jxfbinutils-2.18.tar.bz2

# 设置
./configure --prefix=$HOME/OpenFOAM/ThirdParty-1.6/binutils-2.18 //--prefix = ...是指将安装位置放为$HOME/OpenFOAM/ThirdParty-1.6/binutil-2.18\
                                                                                                          configure还有其他很多参数,可以在网上搜到

# 编译
make

#安装
make install

# 更新环境变量 (for bash),将下面这句加入$HOME/.bashrc
export PATH=$HOME/OpenFOAM/ThirdParty/binutils-2.18/bin:$PATH

# 安装检查
which ld
如果显示为
$HOME/OpenFOAM/ThirdParty/binutils-2.18/bin/ld
则表示正确 安装并指定安装位置了。
页: [1]
查看完整版本: 编译过过程中".weakref"问题