您好,我这边申请了一个测试账号,想测试一下简单的非结构网格的cfd程序,这个程序需要几个外部库:hdf5,parmetis,ptscoth,我把源代码上传上去后,在编译parmetis 到最后时报错:
/usr/sw-mpp/bin/sw5cc -host -DLINUX -D_FILE_OFFSET_BITS=64 -DNDEBUG -DNDEBUG2 -DHAVE_EXECINFO_H -DHAVE_GETLINE -O3 CMakeFiles/mtest.dir/mtest.c.o CMakeFiles/mtest.dir/io.c.o -o mtest -L/usr/sw-mpp/mpi2/lib ../libparmetis/libparmetis.a ../libmetis/libmetis.a -lm -Wl,-rpath,/usr/sw-mpp/mpi2/lib
CMakeFiles/mtest.dir/mtest.c.o: In function `main':/home/export/base/nsccwuxi_swtest/swtest011/online1/parmetis-4.0.3/programs/mtest.c:33:对‘MPI_Init’未定义的引用
:/home/export/base/nsccwuxi_swtest/swtest011/online1/parmetis-4.0.3/programs/mtest.c:33:对‘MPI_Init’未定义的引用
:/home/export/base/nsccwuxi_swtest/swtest011/online1/parmetis-4.0.3/programs/mtest.c:34:对‘MPI_Comm_dup’未定义的引用
。。。
make: *** [all] 错误 2
这个错误似乎是mpi相关的,请问无锡上mpi怎么设置呀?目前我只是参考demo里面例子在编译选项中加入了-/usr/sw-mpp/mpi2/include
另外在编译ptscotch时第一步就报错了:
make[2]: Entering directory `/home/export/online1/swtest011/scotch_5.1.12/src/libscotch'
sw5cc -O3 -host -I/sw-mpp/mpi2/include -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict -DIDXSIZE64 -DSCOTCH_VERSION=5 -DSCOTCH_RELEASE=1 -DSCOTCH_PATCHLEVEL=12 dummysizes.c -o dummysizes -lz -lm -lrt
./dummysizes library.h scotch.h
./dummysizes: ./dummysizes: cannot execute binary file
make[2]: *** [scotch.h] 错误 126
这个问题似乎是不允许执行文件,但是这个库编译时好像需要执行一些编辑后的可执行文件,这个问题怎么解决呀?