編譯netCDF庫(並行版本)時出現問題。'make'error:設置編譯路徑
特別是這個問題與我猜測的不同路徑有關。 問題是我不是機器的管理員。但是,管理員himselfe已經在自己的目錄(這裏是:/ root/treiber)中安裝了舊版本。
Tus我想在/ home/stephcar/bin中安裝自己的版本loacal。
因此,我開的目錄,用不同的編譯器標誌:
CPPFLAGS=-I/home/stephcar/bin/include LDFLAGS=-L/home/stephcar/bin/lib LIBS='-L/home stephcar/bin/lib -lnetcdf -L/home/stephcar/bin/lib -lhdf5_hl -lhdf5 -lz -lm -L/home/stephcar/bin/lib -lsz' CC=/home/stephcar/bin/bin/mpicc FC=/home/stephcar/bin/bin/mpif90 ./configure --enable-pnetcdf --prefix=/home/stephcar/bin/
另外:我也把我的--prefix路徑(/家/ stephcar /斌/)也是在$第一位置PATH和$ LD_LIBRARY_PATH。
但是,由於某種原因,我便無法弄清楚,根目錄(/根/二極管驅動器)進行搜索,而不是我一個......這是錯誤的「製作」:
/bin/sh ../libtool --tag=CC --mode=link /home/stephcar/bin/bin/mpicc -g -O2 -L/home/stephcar/bin/lib -o liboc.la
liboc_la-oc.lo liboc_la-daplex.lo liboc_la-dapparse.lo liboc_la-daptab.lo liboc_la- occlientparams.lo liboc_la-occompile.lo
liboc_la-occurlfunctions.lo liboc_la-ocdata.lo liboc_la-ocdebug.lo liboc_la-ocdump.lo liboc_la-ocinternal.lo liboc_la-ocnode.lo
liboc_la-ochttp.lo liboc_la-ocrc.lo liboc_la-ocread.lo liboc_la-ocutil.lo liboc_la-ocbytes.lo liboc_la-oclist.lo liboc_la-ocuri.lo
liboc_la-oclog.lo liboc_la-xxdr.lo -lpnetcdf -lm -L/home/stephcar/bin/lib -lnetcdf -L/home/stephcar/bin/lib -lhdf5_hl -lhdf5
-lz -lm -L/home/stephcar/bin/lib -lsz
/usr/bin/grep: /root/treiber/hdf5-1.8.8/hdf5/lib/libhdf5_hl.la: Permission denied
/usr/bin/sed: can't read /root/treiber/hdf5-1.8.8/hdf5/lib/libhdf5_hl.la: Permission denied
libtool: link: `/root/treiber/hdf5-1.8.8/hdf5/lib/libhdf5_hl.la' is not a valid libtool archive
make[2]: *** [liboc.la] Fehler 1
你有好主意嗎?我把旗子弄錯了嗎? 或者還有其他的默認路徑可用,我沒有看過。 如何在模式之後在默認路徑中搜索(這裏是:/ root/treiber)?也許我可以在這裏得到一個提示!
感謝斯蒂芬
編輯只是爲了澄清:的netCDF NEADS另一個庫HDF5,我已經成功編譯並安裝到〜/斌/ lib目錄下。缺少的libhdf5_hl.la也存儲在那裏。 實際的問題是我的配置環境沒有找到這個目錄。相反,它嘗試使用/ root /中的一個。
指定'--prefix =/home/stephcar/bin'會將二進制文件放在'/ home/stephcar/bin/bin'等目錄中,您可能需要指定'--prefix =/home/stephcar相反。我懷疑這是否與你的其他麻煩有關......或者更可能的是,你還沒有解決這個問題。話雖如此,你似乎已經安裝了其他軟件與該前綴,所以也許這是一個非問題畢竟。 –
不,我猜,--prefix-stuff是好的。我試圖在上面的主線中澄清我的問題。 @ jonathan-leffler – Stephan