| 8 | 1/1 | 返回列表 |
| 查看: 1829 | 回復: 7 | |||
mengfc金蟲 (正式寫手)
|
[求助]
siesta-3.1并行編譯出錯。
|
|
根據(jù)版主賀儀在 http://www.gaoyang168.com/bbs/viewthread.php?tid=3010970 中第一種方法進行編譯。 步驟如下。 1.將siesta-3.0-rc2.tgz文件拷貝到一個臨時的目錄里面(如tem) 2.解壓文件:$ tar -zxvf siesta-3.0-rc2.tgz 3.進入要生成執(zhí)行文件的目錄,可以自己隨便建立。這樣可以利用不同參數(shù)編譯 不同版本的siesta 放在不同的目錄里。這是與siesta-2.0.2 相比,采用的一種新的 執(zhí)行文件生成機制,例如到Obj 目錄生成執(zhí)行文件:$ cd siesta-3.0-rc2/Obj/ 4. 如果Obj 目錄和Src 目錄是平級的,運行:$ sh ../Src/obj_setup.sh 總之要在你要生成可執(zhí)行文件的目錄下用sh 運行Src/obj_setup.sh。 5. 在執(zhí)行文件生成目錄里運行Src/configure,即: $ ../Src/configure 6.進入/Src/MPI 7.修改Makefile vi Makefile 把 ARCH_MAKE_DEFAULT=../arch.make 修改為絕對路徑 ARCH_MAKE_DEFAULT=/home/zhou/soft/siesta/siesta-3.0-rc2/Obj/arch.make 8.再make 9.再切換到Obj目錄 10.修改arch.make # # This file is part of the SIESTA package. # # Copyright (c) Fundacion General Universidad Autonoma de Madrid: # E.Artacho, J.Gale, A.Garcia, J.Junquera, P.Ordejon, D.Sanchez-Portal # and J.M.Soler, 1996- . # # Use of this software constitutes agreement with the full conditions # given in the SIESTA license, as signed by all legitimate users. # .SUFFIXES: .SUFFIXES: .f .F .o .a .f90 .F90 SIESTA_ARCH=x86_64-unknown-linux-gnu--Intel FPP= FPP_OUTPUT= FC=/public/openmpi-141-icc/bin/mpif90 RANLIB=ranlib SYS=nag SP_KIND=4 DP_KIND=8 KINDS=$(SP_KIND) $(DP_KIND) FFLAGS= -O2 -i-static FFLAGS_DEBUG= -g LDFLAGS=-Vaxlib FPPFLAGS= -DMPI # -DFC_HAVE_FLUSH -DFC_HAVE_ABORT -DMPI ARFLAGS_EXTRA= FCFLAGS_fixed_f= FCFLAGS_free_f90= FPPFLAGS_fixed_F= FPPFLAGS_free_F90= BLAS_LIBS=-L/public/intel/mkl/lib/em64t -lmkl_solver_lp64 -lmkl_intel_lp64 -lguide LAPACK_LIBS=-L/public/intel/mkl/lib/em64t -lmkl_sequential -lmkl_core BLACS_LIBS=-L/public/intel/mkl/lib/em64t -lmkl_blacs_openmpi_lp64 SCALAPACK_LIBS=-L/public/intel/mkl/lib/em64t -lmkl_scalapack_lp64 COMP_LIBS= NETCDF_LIBS= NETCDF_INTERFACE= LIBS=$(SCALAPACK_LIBS) $(BLACS_LIBS) $(LAPACK_LIBS) $(BLAS_LIBS) $(NETCDF_LIBS) #SIESTA needs an F90 interface to MPI #This will give you SIESTA's own implementation #If your compiler vendor offers an alternative, you may change #to it here. MPI_INTERFACE=/home/zhou/soft/siesta/siesta-3.0-rc2/Src/MPI/libmpi_f90.a MPI_INCLUDE=/public/openmpi-141-icc/include #Dependency rules are created by autoconf according to whether #discrete preprocessing is necessary or not. .F.o: $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_fixed_F) $< .F90.o: $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_free_F90) $< .f.o: $(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_fixed_f) $< .f90.o: $(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_free_f90) $< 11,make 在最后一步make的時候出現(xiàn)如下錯誤。 ifort: error #10236: File not found: 'libmpi_f90.a' make: *** [siesta] Error 1 這個libmpi_f90.a在第8步make的時候生成了。我就把它放在了/Obj目錄下(我不知道這樣做對不對,應該放在哪里?),然后重新編譯,又出現(xiàn)如下錯誤。 /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:246: undefined reference to `blacs_get_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:247: undefined reference to `blacs_gridinit_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:255: undefined reference to `blacs_get_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:256: undefined reference to `blacs_gridinit_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:258: undefined reference to `blacs_gridinfo_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:264: undefined reference to `descinit_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:273: undefined reference to `numroc_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:274: undefined reference to `numroc_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:277: undefined reference to `descinit_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:333: undefined reference to `blacs_gridinfo_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:334: undefined reference to `indxg2p_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:335: undefined reference to `indxg2p_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:337: undefined reference to `blacs_gridinfo_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:338: undefined reference to `indxg2p_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:339: undefined reference to `indxg2p_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:343: undefined reference to `numroc_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:344: undefined reference to `numroc_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:345: undefined reference to `numroc_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:346: undefined reference to `numroc_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:359: undefined reference to `pjlaenv_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:361: undefined reference to `numroc_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:370: undefined reference to `iceil_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:412: undefined reference to `pzgemr2d_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:413: undefined reference to `pzgemr2d_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:434: undefined reference to `pzhegvx_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:438: undefined reference to `pzgemr2d_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:440: undefined reference to `pzhegvx_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:491: undefined reference to `pzpotrf_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:493: undefined reference to `pzpotrf_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:511: undefined reference to `pzhengst_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:514: undefined reference to `pzhengst_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:535: undefined reference to `pzhemm_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:537: undefined reference to `pzgemm_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:540: undefined reference to `pzhemm_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:542: undefined reference to `pzgemm_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:566: undefined reference to `pzheevd_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:570: undefined reference to `pzheevd_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:576: undefined reference to `pzheevx_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:581: undefined reference to `pzheevx_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:636: undefined reference to `pzgemm_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:640: undefined reference to `pzgemm_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:674: undefined reference to `pztrsm_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:676: undefined reference to `pzgemr2d_' /home/mengfc/Siesta/siesta-3.1/Src/cdiag.F:678: undefined reference to `pztrsm_' rdiag.o: In function `rdiag': /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:228: undefined reference to `blacs_get_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:229: undefined reference to `blacs_gridinit_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:237: undefined reference to `blacs_get_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:238: undefined reference to `blacs_gridinit_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:240: undefined reference to `blacs_gridinfo_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:246: undefined reference to `descinit_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:255: undefined reference to `numroc_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:256: undefined reference to `numroc_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:259: undefined reference to `descinit_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:306: undefined reference to `blacs_gridinfo_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:308: undefined reference to `blacs_gridinfo_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:311: undefined reference to `numroc_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:312: undefined reference to `numroc_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:316: undefined reference to `indxg2p_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:317: undefined reference to `indxg2p_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:318: undefined reference to `numroc_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:319: undefined reference to `numroc_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:327: undefined reference to `numroc_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:328: undefined reference to `numroc_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:331: undefined reference to `iceil_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:332: undefined reference to `pjlaenv_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:334: undefined reference to `numroc_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:365: undefined reference to `pdgemr2d_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:366: undefined reference to `pdgemr2d_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:388: undefined reference to `pdsygvx_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:392: undefined reference to `pdgemr2d_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:394: undefined reference to `pdsygvx_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:446: undefined reference to `pdpotrf_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:448: undefined reference to `pdpotrf_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:466: undefined reference to `pdsyngst_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:469: undefined reference to `pdsyngst_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:490: undefined reference to `pdsymm_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:492: undefined reference to `pdgemm_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:495: undefined reference to `pdsymm_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:497: undefined reference to `pdgemm_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:521: undefined reference to `pdsyevd_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:524: undefined reference to `pdsyevd_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:530: undefined reference to `pdsyevx_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:535: undefined reference to `pdsyevx_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:590: undefined reference to `pdgemm_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:594: undefined reference to `pdgemm_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:627: undefined reference to `pdtrsm_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:629: undefined reference to `pdgemr2d_' /home/mengfc/Siesta/siesta-3.1/Src/rdiag.F:631: undefined reference to `pdtrsm_' make: *** [siesta] Error 1 請問這是什么問題呢?是libmpi_f90.a放置的位置影響的嗎? |
科研工具 |
至尊木蟲 (職業(yè)作家)
木蟲 (著名寫手)
|
用下面我給出的這個make.arch去編譯試試。另外不清楚你的mkl什么版本。 首先按照下面的內(nèi)容修改你的make.arch,修改好之后將其放到Obj下面(假設你在Obj目錄下編譯)。 1. cd Obj 2. sh ../Src/obj_setup.sh 3. make 就等著編譯吧。 不要像你那么麻煩 --------------------------------- .SUFFIXES: .SUFFIXES: .f .F .o .a .f90 .F90 SIESTA_ARCH=x86_64-unknown-linux-gnu--Intel FPP= FPP_OUTPUT= FC=/public/openmpi-141-icc/bin/mpif90 RANLIB=ranlib SYS=nag SP_KIND=4 DP_KIND=8 KINDS=$(SP_KIND) $(DP_KIND) FFLAGS= -O2 -i-static FFLAGS_DEBUG= -g LDFLAGS=-Vaxlib FPPFLAGS= -DFC_HAVE_FLUSH -DFC_HAVE_ABORT -DMPI -DCDF -DGRID_DP -DPHI_GRID_SP ARFLAGS_EXTRA= FCFLAGS_fixed_f= FCFLAGS_free_f90= FPPFLAGS_fixed_F= FPPFLAGS_free_F90= BLAS_LIBS=-L/public/intel/mkl/lib/em64t -lmkl_solver_lp64 -lmkl_intel_lp64 -lguide LAPACK_LIBS=-L/public/intel/mkl/lib/em64t -lmkl_sequential -lmkl_core BLACS_LIBS=-L/public/intel/mkl/lib/em64t -lmkl_blacs_openmpi_lp64 SCALAPACK_LIBS=-L/public/intel/mkl/lib/em64t -lmkl_scalapack_lp64 COMP_LIBS= NETCDF_LIBS= NETCDF_INTERFACE= LIBS=$(SCALAPACK_LIBS) $(BLACS_LIBS) $(LAPACK_LIBS) $(BLAS_LIBS) $(NETCDF_LIBS) #SIESTA needs an F90 interface to MPI #This will give you SIESTA's own implementation #If your compiler vendor offers an alternative, you may change #to it here. MPI_INTERFACE=libmpi_f90.a MPI_INCLUDE=/public/openmpi-141-icc/include #Dependency rules are created by autoconf according to whether #discrete preprocessing is necessary or not. .F.o: $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_fixed_F) $< .F90.o: $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_free_F90) $< .f.o: $(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_fixed_f) $< .f90.o: $(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_free_f90) $< --------------------------------- |

金蟲 (正式寫手)
金蟲 (正式寫手)
金蟲 (正式寫手)
金蟲 (小有名氣)
金蟲 (小有名氣)
|
呃。。。當時看錯了,具體這樣 1. cd obj 2. ../Src/obj_setup.sh 3. ../Src/configure (../Src/configure --help可以看到很多在編譯時需要設置的量,當然很多可以用默認的。如果你想編譯并行的,可以這樣 ../Src/configure MPIFC=mpif90 --enable-mpi) 4. 在3步生成的 arch.make 文件中根據(jù)你系統(tǒng)情況進行相應數(shù)學庫鏈接的設置 5. make (在當前目錄下) |
| 8 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 初試 317 +3 | 半拉月丙 2026-03-20 | 3/150 |
|
|---|---|---|---|---|
|
[考研] 279分求調(diào)劑 一志愿211 +14 | chaojifeixia 2026-03-19 | 15/750 |
|
|
[考研] 0856材料專碩353求調(diào)劑 +3 | NIFFFfff 2026-03-20 | 3/150 |
|
|
[考研] 313求調(diào)劑 +3 | 肆叁貳壹22 2026-03-19 | 3/150 |
|
|
[考研] 316求調(diào)劑 +6 | 梁茜雯 2026-03-19 | 6/300 |
|
|
[考研] 初始318分求調(diào)劑(有工作經(jīng)驗) +3 | 1911236844 2026-03-17 | 3/150 |
|
|
[考研] 085700資源與環(huán)境308求調(diào)劑 +12 | 墨墨漠 2026-03-18 | 13/650 |
|
|
[考研] 一志愿華中科技大學,080502,354分求調(diào)劑 +5 | 守候夕陽CF 2026-03-18 | 5/250 |
|
|
[考研] 304求調(diào)劑 +6 | 曼殊2266 2026-03-18 | 6/300 |
|
|
[考研] 南京大學化學376求調(diào)劑 +3 | hisfailed 2026-03-19 | 6/300 |
|
|
[考研] 中南大學化學學碩337求調(diào)劑 +3 | niko- 2026-03-19 | 6/300 |
|
|
[考研] 一志愿華中農(nóng)業(yè)071010,總分320求調(diào)劑 +3 | 困困困困坤坤 2026-03-20 | 3/150 |
|
|
[考研] 一志愿北京化工大學0703化學318分,有科研經(jīng)歷,求調(diào)劑 +4 | 一瓶苯甲酸 2026-03-14 | 4/200 |
|
|
[考研] 一志愿吉林大學材料學碩321求調(diào)劑 +11 | Ymlll 2026-03-18 | 15/750 |
|
|
[考研] 求調(diào)劑 +3 | @taotao 2026-03-20 | 3/150 |
|
|
[考研] 288求調(diào)劑,一志愿華南理工大學071005 +5 | ioodiiij 2026-03-17 | 5/250 |
|
|
[考研] 311求調(diào)劑 +6 | 26研0 2026-03-15 | 6/300 |
|
|
[考研] 311求調(diào)劑 +11 | 冬十三 2026-03-15 | 12/600 |
|
|
[考研] 277調(diào)劑 +5 | 自由煎餅果子 2026-03-16 | 6/300 |
|
|
[考研] 考研化學學碩調(diào)劑,一志愿985 +4 | 張vvvv 2026-03-15 | 6/300 |
|