undefined references in 6.1.1

From NWChem

Viewed 2531 times, With a total of 3 Posts
Jump to: navigation, search

Just Got Here
Threads 1
Posts 3
Hello, I compiled 6.1 on the Linux cluster, gcc version 4.4.6 20120305, but I am not able to do it for 6.1.1:

cd nwchem-6.1.1-src
cd src
export NWCHEM_TOP=/home/gb/nwchem-6.1.1-src
export NWCHEM_MODULES="all"
export USE_MPI=y
export USE_MPIF=y
export USE_MPIF4=y
export LIBMPI="-lmpichf90 -lmpich -lopa -lmpl -lpthread -lrdmacm -libverbs -libumad -ldl -lrt"
export MPI_LIB=/usr/lib64/mvapich2/lib
export MPI_INCLUDE=/usr/include/mvapich2-x86_64
export FC=gfortran
export CC=gcc
make nwchem_config
make >& make.log

Errors (only for 6.1.1) are:

gfortran -L/home/gb/nwchem-6.1.1-src/lib/LINUX64 -L/home/gb/nwchem-6.1.1-src/src/tools/install/lib -o /home/gb/nwchem-6.1.1-src/bin/LINUX64/nwchem nwchem.o stubs.o -lnwctask -lccsd -lmcscf -lselci -lmp2 -lmoints -lstepper -ldriver -loptim -lnwdft -lgradients -lcphf -lesp -lddscf -ldangchang -lguess -lhessian -lvib -lnwcutil -lrimp2 -lp
roperty -lnwints -lprepar -lnwmd -lnwpw -lofpw -lpaw -lpspw -lband -lnwpwlib -lcafe -lspace -lanalyze -lqhop -lpfft -ldplot -ldrdy -lvscf -lqmmm -lqmd -letrans -lpspw -ltce -lbq -lcons -lperfm -ldntmc -lccca -lnwcutil -lga -lpeigs -lperfm -lcons -lbq -lnwcutil -llapack -lblas -L/usr/lib64/mvapich2/lib -lmpichf90 -lmpich -lopa -lmpl -lpthread -lrdmacm
-libverbs -libumad -ldl -lrt -libverbs
/home/gb/nwchem-6.1.1-src/lib/LINUX64/libnwcutil.a(output.o): In function `output':
/home/gb/nwchem-6.1.1-src/src/util/output.f:41: undefined reference to `for_write_seq_fmt'
/home/gb/nwchem-6.1.1-src/src/util/output.f:52: undefined reference to `for_write_seq_fmt'
/home/gb/nwchem-6.1.1-src/src/util/output.f:52: undefined reference to `for_write_seq_fmt_xmit'
/home/gb/nwchem-6.1.1-src/src/util/output.f:52: undefined reference to `for_write_seq_fmt_xmit'
... (many similar lines)

Thank you for your advice.

  • Huub Forum:Admin, Forum:Mod, NWChemDeveloper, bureaucrat, sysop
    Send PM
Forum Regular
Threads 1
Posts 185
Hi Goranka,
I think you need to do a "make realclean" first. The symbols the linker cannot find have been introduced by the Intel fortran compiler. Obviously the gfortran compiler does not support these routines in its library. This suggests that somehow you have picked object files or libraries up that were generated with the Intel fortran compiler. Running "make realclean" is your best bet to recover from this.
Best wishes,

Just Got Here
Threads 1
Posts 3
Hi Huub,

Yes, admins of the cluster I am using changed the compiler from ifort to gfortran, and I did only make clean.

However, make realclean cleans too much in this case, and I had an error:
Making libraries in basis
make[1]: *** No rules to make target `/home/gb/nwchem-6.1.1-src/src/include/stdio.fh', needed by
`/home/gb/nwchem-6.1.1-src/lib/LINUX64/libnwcutil.a(basis.o)'. Stop.
make: *** [libraries] Error 1
I am writing this error message here because it is (perhaps) useful to know.

I have downloaded a new 6.1.1 package and now it compiles. The problem is solved. Thank you very much.

Clicked A Few Times
Threads 8
Posts 20
cp util/*.fh include/.

I guess by doing this after realclean will do the job.

Forum >> NWChem's corner >> Compiling NWChem

Who's here now Members 0 Guests 0 Bots/Crawler 1

AWC's: 2.5.10 MediaWiki - Stand Alone Forum Extension
Forum theme style by: AWC