| 8 | 1/1 | 返回列表 |
| 查看: 1830 | 回復(fù): 7 | |||
mengfc金蟲(chóng) (正式寫(xiě)手)
|
[求助]
siesta-3.1并行編譯出錯(cuò)。
|
|
根據(jù)版主賀儀在 http://www.gaoyang168.com/bbs/viewthread.php?tid=3010970 中第一種方法進(jìn)行編譯。 步驟如下。 1.將siesta-3.0-rc2.tgz文件拷貝到一個(gè)臨時(shí)的目錄里面(如tem) 2.解壓文件:$ tar -zxvf siesta-3.0-rc2.tgz 3.進(jìn)入要生成執(zhí)行文件的目錄,可以自己隨便建立。這樣可以利用不同參數(shù)編譯 不同版本的siesta 放在不同的目錄里。這是與siesta-2.0.2 相比,采用的一種新的 執(zhí)行文件生成機(jī)制,例如到Obj 目錄生成執(zhí)行文件:$ cd siesta-3.0-rc2/Obj/ 4. 如果Obj 目錄和Src 目錄是平級(jí)的,運(yùn)行:$ sh ../Src/obj_setup.sh 總之要在你要生成可執(zhí)行文件的目錄下用sh 運(yùn)行Src/obj_setup.sh。 5. 在執(zhí)行文件生成目錄里運(yùn)行Src/configure,即: $ ../Src/configure 6.進(jìn)入/Src/MPI 7.修改Makefile vi Makefile 把 ARCH_MAKE_DEFAULT=../arch.make 修改為絕對(duì)路徑 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的時(shí)候出現(xiàn)如下錯(cuò)誤。 ifort: error #10236: File not found: 'libmpi_f90.a' make: *** [siesta] Error 1 這個(gè)libmpi_f90.a在第8步make的時(shí)候生成了。我就把它放在了/Obj目錄下(我不知道這樣做對(duì)不對(duì),應(yīng)該放在哪里?),然后重新編譯,又出現(xiàn)如下錯(cuò)誤。 /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 請(qǐng)問(wèn)這是什么問(wèn)題呢?是libmpi_f90.a放置的位置影響的嗎? |
科研工具 |
至尊木蟲(chóng) (職業(yè)作家)
木蟲(chóng) (著名寫(xiě)手)
|
用下面我給出的這個(gè)make.arch去編譯試試。另外不清楚你的mkl什么版本。 首先按照下面的內(nèi)容修改你的make.arch,修改好之后將其放到Obj下面(假設(shè)你在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) $< --------------------------------- |

金蟲(chóng) (正式寫(xiě)手)
金蟲(chóng) (正式寫(xiě)手)
金蟲(chóng) (正式寫(xiě)手)
金蟲(chóng) (小有名氣)
金蟲(chóng) (小有名氣)
|
呃。。。當(dāng)時(shí)看錯(cuò)了,具體這樣 1. cd obj 2. ../Src/obj_setup.sh 3. ../Src/configure (../Src/configure --help可以看到很多在編譯時(shí)需要設(shè)置的量,當(dāng)然很多可以用默認(rèn)的。如果你想編譯并行的,可以這樣 ../Src/configure MPIFC=mpif90 --enable-mpi) 4. 在3步生成的 arch.make 文件中根據(jù)你系統(tǒng)情況進(jìn)行相應(yīng)數(shù)學(xué)庫(kù)鏈接的設(shè)置 5. make (在當(dāng)前目錄下) |
| 8 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 278求調(diào)劑 +8 | 煙火先于春 2026-03-17 | 8/400 |
|
|---|---|---|---|---|
|
[考研] 268求調(diào)劑 +9 | 簡(jiǎn)單點(diǎn)0 2026-03-17 | 9/450 |
|
|
[考研] 材料與化工(0856)304求 B區(qū) 調(diào)劑 +3 | 邱gl 2026-03-21 | 3/150 |
|
|
[考研] 299求調(diào)劑 +3 | 某某某某位 2026-03-21 | 3/150 |
|
|
[考研] 313求調(diào)劑 +3 | 肆叁貳壹22 2026-03-19 | 3/150 |
|
|
[考研] 265求調(diào)劑 +3 | Jack?k?y 2026-03-17 | 3/150 |
|
|
[考研] 材料工程(專)一志愿985 初試335求調(diào)劑 +3 | hiloiy 2026-03-17 | 4/200 |
|
|
[考研] 求調(diào)劑 +3 | Ma_xt 2026-03-17 | 3/150 |
|
|
[考研]
|
.6lL 2026-03-18 | 8/400 |
|
|
[考研] 317求調(diào)劑 +8 | 申子申申 2026-03-19 | 13/650 |
|
|
[考研] 一志愿華中農(nóng)業(yè)071010,總分320求調(diào)劑 +3 | 困困困困坤坤 2026-03-20 | 3/150 |
|
|
[考研] 319求調(diào)劑 +3 | 小力氣珂珂 2026-03-20 | 3/150 |
|
|
[考研] 086500 325 求調(diào)劑 +3 | 領(lǐng)帶小熊 2026-03-19 | 3/150 |
|
|
[考研] 0856調(diào)劑,是學(xué)校就去 +8 | sllhht 2026-03-19 | 9/450 |
|
|
[考研] 081700化工學(xué)碩調(diào)劑 +3 | 【1】 2026-03-16 | 3/150 |
|
|
[考研] 生物學(xué)071000 329分求調(diào)劑 +3 | 我愛(ài)生物生物愛(ài)?/a> 2026-03-17 | 3/150 |
|
|
[考研] 326求調(diào)劑 +5 | 上岸的小葡 2026-03-15 | 6/300 |
|
|
[考研] 304求調(diào)劑 +5 | 素年祭語(yǔ) 2026-03-15 | 5/250 |
|
|
[考研] 一志愿211 0703方向310分求調(diào)劑 +3 | 努力奮斗112 2026-03-15 | 3/150 |
|
|
[考研] 070303 總分349求調(diào)劑 +3 | LJY9966 2026-03-15 | 5/250 |
|