In fact, i've noticed that mpi_siesta.mod exists under the directory
siesta/Obj/, by copying it to the Util/Gen-basis/, the previous error
dissapears. Unfortunately, new error message poped up, as shown below.
Any ideas?

######################################################################
############################## Error Message #########################
gen-basis.o: In function `gen_basis':
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/gen-basis.F:68:
undefined reference to `mpi_init_'
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/gen-basis.F:69:
undefined reference to `mpi_comm_rank_'
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/gen-basis.F:70:
undefined reference to `mpi_comm_size_'
alloc.o: In function `print_report':
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/alloc.F90:1705:
undefined reference to `__mpi__r8_s_MOD_mpi_reduce_t'
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/alloc.F90:1707:
undefined reference to `__mpi__r8_v_MOD_mpi_reduce_t'
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/alloc.F90:1711:
undefined reference to `__mpi__integer_s_MOD_mpi_bcast_t'
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/alloc.F90:1723:
undefined reference to `__mpi__r8_s_MOD_mpi_recv_t'
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/alloc.F90:1718:
undefined reference to `__mpi__r8_s_MOD_mpi_send_t'
alloc.o: In function `__alloc_MOD_alloc_report':
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/alloc.F90:318: 
undefined
reference to `__mpi__integer_s_MOD_mpi_bcast_t'
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/alloc.F90:319: 
undefined
reference to `__mpi__integer_s_MOD_mpi_bcast_t'
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/alloc.F90:320: 
undefined
reference to `__mpi__character_s_MOD_mpi_bcast_t'
xcmod.o: In function `__xcmod_MOD_setxc':
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/xcmod.F:136:
undefined reference to `__mpi__integer_s_MOD_mpi_bcast_t'
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/xcmod.F:138:
undefined reference to `__mpi__character_v_MOD_mpi_bcast_t'
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/xcmod.F:140:
undefined reference to `__mpi__character_v_MOD_mpi_bcast_t'
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/xcmod.F:142:
undefined reference to `__mpi__r8_v_MOD_mpi_bcast_t'
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/xcmod.F:144:
undefined reference to `__mpi__r8_v_MOD_mpi_bcast_t'
memory.o: In function `printmemory_':
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/memory.F:144:
undefined reference to `__mpi__integer_s_MOD_mpi_allreduce_t'
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/memory.F:167:
undefined reference to `__mpi__integer_sv_MOD_mpi_gather_t'
atom_options.o: In function `__atom_options_MOD_get_atom_options':
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/atom_options.F90:26:
undefined reference to `mpi_comm_rank_'
sys.o: In function `__sys_MOD_bye':
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/sys.F:105:
undefined reference to `mpi_finalize_'
sys.o: In function `__sys_MOD_die':
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/sys.F:69:
undefined reference to `mpi_abort_'
timer.o: In function `timer1_':
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/timer.F:117:
undefined reference to `__mpi__r8_s_MOD_mpi_allreduce_t'
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/timer.F:164:
undefined reference to `__mpi__r8_v_MOD_mpi_reduce_t'
/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/timer.F:139:
undefined reference to `__mpi__r8_v_MOD_mpi_reduce_t'
collect2: error: ld returned 1 exit status
make: *** [gen-basis] Error 1
######################################################################
############################## Error Message #########################

At 2014/11/3 14:00, Bing Huang wrote:
> Hi, siesta users,
>
> i've got an error (see the last part of this message) when compiling
> the Gen-basis utility. Everything was just fine when compling the main
> program (MPI version) of siesta and its dependencies.
>
> As suggested in the Makefile (whose absolute path is
> `siesta-3.2/Util/Gen-basis/Makefile), i.e.,define an FC_SERIAL symbol
> in my top arch.make, to avoid linking in the mpi libraries even if we
> explicitly undefine MPI below.
>
> I've followed exactly the suggestion by insert one line with content
> "FC_SERIAL=gfortran" in top arch.make file and modified the related
> lines in `siesta-3.2/Util/Gen-basis/Makefile
> #+++++++++++++++++++++++++++++++++++++++++++++++++++
> #FC_DEFAULT:=$(FC)
> #FC_SERIAL?=$(FC_DEFAULT)
> FC:=$(FC_SERIAL) # Make it non-recursive
> #+++++++++++++++++++++++++++++++++++++++++++++++++++
> the error still exists. Any suggestions?
>
> Best regards,
> Bing
>
> ######################################################################
> ############################## *Error Message* #########################
> bhuang@ubuntu:~/src/siesta-3.2/Util/Gen-basis$ make
> (cd fdf ; make -f
> /home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/fdf/makefile 
> "FC=gfortran
> " "VPATH=/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/fdf" \
> "ARCH_MAKE=../../../Obj/arch.make" \
> "INCFLAGS=-I
> /home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/fdf
> -I/home/bhuang/netcdf/include " "FFLAGS=-g -O2" module)
> make[1]: Entering directory
> `/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/fdf'
> In fdf, INCFLAGS is: -I
> /home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/fdf
> -I/home/bhuang/netcdf/include
> gfortran -c -g -O2 -I
> /home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/fdf
> -I/home/bhuang/netcdf/include
> /home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/fdf/fdf.f
> Assembler messages:
> Fatal error: can't create fdf.o: Permission denied
> make[1]: *** [fdf.o] Error 1
> make[1]: Leaving directory
> `/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/fdf'
> make: *** [libfdf.a] Error 2
> bhuang@ubuntu:~/src/trash/siesta-3.2/Util/Gen-basis$ sudo make
> (cd fdf ; make -f
> /home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/fdf/makefile 
> "FC=gfortran
> " "VPATH=/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/fdf" \
> "ARCH_MAKE=../../../Obj/arch.make" \
> "INCFLAGS=-I
> /home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/fdf
> -I/home/bhuang/netcdf/include " "FFLAGS=-g -O2" module)
> make[1]: Entering directory
> `/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/fdf'
> In fdf, INCFLAGS is: -I
> /home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/fdf
> -I/home/bhuang/netcdf/include
> gfortran -c -g -O2 -I
> /home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/fdf
> -I/home/bhuang/netcdf/include
> /home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/fdf/fdf.f
> gfortran -c -g -O2 -I
> /home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/fdf
> -I/home/bhuang/netcdf/include
> /home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/fdf/parse.f
> gfortran -c -g -O2 -I
> /home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/fdf
> -I/home/bhuang/netcdf/include
> /home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/fdf/fdf_mod.f
> ar cru libfdf.a fdf.o fdf_mod.o parse.o
> ranlib libfdf.a
> cp libfdf.a ..
> make[1]: Leaving directory
> `/home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/fdf'
> gfortran -c -g -O2 -I/home/bhuang/netcdf/include
> /home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/parallel.f
> gfortran -c -g -O2 -I/home/bhuang/netcdf/include -UMPI -DMPI
> -DFC_HAVE_FLUSH -DFC_HAVE_ABORT -DCDF
> /home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/precision.F
> gfortran -c -g -O2 -I/home/bhuang/netcdf/include -UMPI -DMPI
> -DFC_HAVE_FLUSH -DFC_HAVE_ABORT -DCDF
> /home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/sys.F
> /home/bhuang/src/trash/siesta-3.2/Util/Gen-basis/../../Src/sys.F:23.9:
>
> use mpi_siesta
> 1
> Fatal Error: Can't open module file 'mpi_siesta.mod' for reading at
> (1): No such file or directory
> make: *** [sys.o] Error 1
> ######################################################################
> ############################## *Error Message* #########################

Responder a