歡迎您光臨本站 註冊首頁

FC8 64bit pgi 安裝問題

←手機掃碼閱讀     火星人 @ 2014-03-25 , reply:0

glibc、crtbegin.o問題
問題:受系統安裝的gcc編譯器版本的影響,安裝pgi有時候會遇 到,例如我在安裝pgi7.0-5時出現 ERROR: unknown glibc version (2.4),或者還有朋友遇到安裝完畢後用pgf90編譯fortran程序提示找不到crtbegin.o文件,這屬於同一問題。

具體原因:
由於安裝文件中的makelocalrc不能正確生成localrc,所以pgi不能正常工作,這與使用哪個發行版無關.

解決方案:
以我的系統為例,我用ubuntu edgy,安裝pgi 7.0

1.手動編寫一個文本文件localrc,放在/usr/pgi/linux86-64/7.0/bin目錄下

set LFC=-lgfortran;
set LDSO=/lib64/ld-linux-x86-64.so.2;
set GCCDIR=/usr/lib/gcc/x86_64-redhat-linux/4.1.2;
set GCCINC=/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include;
set G77DIR="";
set OEM_INFO=64-bit target on x86-64 Linux;
set LOCALRC=YES;
set THROW=__THROW=;
set EXTENSION=__extension__=;
set LC=$if(-Bstatic,-lgcc -lgcc_eh -lc -lgcc -lgcc_eh -lc, -lgcc -lc -lgcc);
# GLIBC version 2.7
# GCC version 4.1.2
export PGI=/usr/local/pgi;
# makelocalrc executed by root 2008年 08月 17日 星期日

這一方案簡單有效

2.用如下文件替換安裝目錄中的makelocalrc文件,然後重新安裝(該文件需要設置為可執行)

修改 /usr/pgi/linux86-64/7.0/bin/makelocalrc:

..............................................

################################evision

GLIBC_VERSION=2.7 #$x

else
GLIBC_VERSION=2.7 ## 原來空的

###################

.............................

}####################adding the module

2.7 )
glibc=27
LIB=lib-linux86-g232
LIBLF=$LIB-lf
INC=include-g23
;;

############################


2.* )
echo "Unknown glibc version ($GLIBC_VERSION); treating like 2.4"
glibc=232
LIB=lib-linux86-g232
LIBLF=$LIB-lf
INC=include-g23
;;
* )
echo "ERROR: unknown glibc version ($GLIBC_VERSION)."
quit 1
;;
..........................
#####################revsion
#gccbase=`"$gcc" -print-search-dirs | sed -e 's/^install: //' -e 's/\/$//' -e 1q`
#if test -d "$gccbase"$subdir ; then
# GCCDIR="$gccbase$subdir"
#fi
#gccversion=`"$gcc" -dumpversion`

##############################revsion
libgcc=`$gcc -print-libgcc-file-name`
gccbase=`dirname $libgcc`
GCCDIR="$gccbase$subdir" ##自己加的
gccversion=`basename $gccbase`
###################################

...............................

quit 0

修改完后保存

(1)把/usr/local/pgi/linux86/7.0/include-g* 拷貝到/usr/local/pgi/linux86-64/7.0/下

(2)把/usr/local/pgi/linux86/7.0/lib/libpgbind_real.a 拷貝/usr/local/pgi/linux86-64/7.0/libso/

(3)把/usr/local/pgi/linux86/7.0/lib/libpgbind_real.so 拷貝到/usr/local/pgi/linux86-64/7.0/libso/

(4) ./makelocalrc -x /usr/local/pgi/linux86-64/7.0/bin

ok,大功告成,期待的locarc終於生成了,pgf90也能順利運行了。

[火星人 ] FC8 64bit pgi 安裝問題已經有301次圍觀

http://coctec.com/docs/linux/show-post-164655.html