times-software / OCEAN

BSE code for core spectroscopy
Other
14 stars 12 forks source link

Compilation error #301

Closed mretegan closed 1 year ago

mretegan commented 1 year ago

I try to compile OCEAN 3.0.2 on an Ubuntu 20.04 machine using the GNU compiler and linking against the MKL library. TheMakefile.arch and error message are listed below. Any ideas about what might be wrong?

# Change these settings for your install

# Fortran compiler
FC = gfortran
MPIFORT = mpif90

# Flags for the fortran compiler
OPTIONS = -O2

# Currently the bse solver needs MPI and BLAS
OPTIONS += -DBLAS -DMPI

# Some installations of MPI don't have latest calls
# ( MPI_IALLREDUCE, etc. )
OPTIONS += -D__OLD_MPI

# We have some preprocessor macros using the "c-style"
OPTIONS += -cpp

# For newer gfortran
# OPTIONS += -fallow-argument-mismatch

# Some of the legacy routines don't always declare variables well
# We can force the promotion of single to double
# For ifort
# LEGACY_REAL = -real-size 64
# For gfortran (don't push doubles to quads)
# LEGACY_REAL = -fdefault-real-8 -default-double-8
# Other compiles likely have similar settings

# Many compilers have flush. We use it sometimes to force output before crashes
# OPTIONS += -DHAVE_FLUSH

# Linear algebra libraries
BLAS = -L/sware/devel_tools/packages/ubuntu20.04/x86_64/intel/oneapi/mkl/latest/lib/intel64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core

# FFTW path. Several programs can use FFTW. Find it at fftw.org.
#  (There is a fallback fft so FFTW is not required)
# OPTIONS += -D__FFTW3
# FFTWI = -I/usr/include
# FFTWL = -L/usr/lib -lfftw3

# Install Directory.
INSTDIR = ../bin

# OCEAN can use either ABINIT or QE.
# If you only want one then leave the other's varables commented out

#######################
# ABINIT Flags
# This says where abinit and cut3d live
#   (cut3d is a post-processing tool available as part of the abinit toolset)
# ABINIT_DIR = /path/to/abinit/install
# ABINIT_EXE = $(ABINIT_DIR)/abinit
# CUT3D_EXE  = $(ABINIT_DIR)/cut3d
#######################

#######################
# ESPRESSO Flags
# ESPRESSO_DIR = /path/to/espresso
# PW_EXE = apptainer run ${QUANTUM_ESPRESSO_IMAGE} pw.x
# PP_EXE = apptainer run ${QUANTUM_ESPRESSO_IMAGE} pp.x
#######################

# To support newer, oncvpsp pseudopotentials, download the latest release from https://github.com/jtv3/oncvpsp
#######################
# ONCVPSP Flags
# ONCVPSP_DIR = /path/to/oncvpsp
#######################
make[1]: Entering directory '/home/esrf/retegan/Code/ocean/src/OCEAN2'
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o AI_kinds.o AI_kinds.f90
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_mpi.o OCEAN_mpi.f90
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o  OCEAN_system.o OCEAN_system.f90
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_bloch.o OCEAN_bloch.f90
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_obf.o OCEAN_obf.f90
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_constants.o OCEAN_constants.f90
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_timekeeper.o OCEAN_timekeeper.f90
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_filenames.o OCEAN_filenames.f90
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_rixs_holder.o OCEAN_rixs_holder.f90
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_psi.o OCEAN_psi.f90
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_multiplet.o OCEAN_multiplet.f90                                                                                                                                                                                                                      mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o long_range.o long_range.f90  -I../zbridge/
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_val_energy.o OCEAN_val_energy.f90
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_energies.o OCEAN_energies.f90
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_val_states.o OCEAN_val_states.f90
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_bubble.o OCEAN_bubble.f90 -I../zbridge/
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_hyb_louie_levine.o OCEAN_hyb_louie_levine.f90
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_WRR.o OCEAN_WRR.f90
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_ladder.o OCEAN_ladder.f90 -I../zbridge/
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_load_data.o OCEAN_load_data.f90
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_pfy.o OCEAN_pfy.f90
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_corewidths.o OCEAN_corewidths.f90
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_action.o OCEAN_action.f90
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o  OCEAN_haydock.o OCEAN_haydock.f90
mpif90 -O2  -DBLAS -DMPI -D__OLD_MPI -cpp  -I../SCREEN/src -c -o OCEAN_gmres.o OCEAN_gmres.f90
OCEAN_gmres.f90:667:132:

  667 |         if( myid .eq. root ) write( 6, * ) 'recycle: ', prev_iter, (gmres_energy_list( step_iter ) - gmres_energy_list( step_iter -1))* eV2Hartree, (ener - prev_energy)
      |                                                                                                                                    1
Error: Line truncated at (1) [-Werror=line-truncation]
OCEAN_gmres.f90:667:119:

  667 |         if( myid .eq. root ) write( 6, * ) 'recycle: ', prev_iter, (gmres_energy_list( step_iter ) - gmres_energy_list( step_iter -1))* eV2Hartree, (ener - prev_energy)
      |                                                                                                                       1
Error: Missing ‘)’ in statement at or before (1)
f951: some warnings being treated as errors
make[1]: *** [Makefile:185: OCEAN_gmres.o] Error 1
make[1]: Leaving directory '/home/esrf/retegan/Code/ocean/src/OCEAN2'
make: *** [Makefile:22: all] Error 2
jjkas commented 1 year ago

Hi Marius, Try adding the following flag to the OPTIONS

-ffree-line-length-none Cheers, Josh Kas

On Fri, Jan 27, 2023 at 5:00 AM Marius Retegan @.***> wrote:

I try to compile OCEAN 3.0.2 on an Ubuntu 20.04 machine using the GNU compiler and linking against the MKL library. TheMakefile.arch and error message are listed below. Any ideas about what might be wrong?

Change these settings for your install

Fortran compilerFC = gfortranMPIFORT = mpif90

Flags for the fortran compilerOPTIONS = -O2

Currently the bse solver needs MPI and BLASOPTIONS += -DBLAS -DMPI

Some installations of MPI don't have latest calls# ( MPI_IALLREDUCE, etc. )OPTIONS += -D__OLD_MPI

We have some preprocessor macros using the "c-style"OPTIONS += -cpp

For newer gfortran# OPTIONS += -fallow-argument-mismatch

Some of the legacy routines don't always declare variables well# We can force the promotion of single to double# For ifort# LEGACY_REAL = -real-size 64# For gfortran (don't push doubles to quads)# LEGACY_REAL = -fdefault-real-8 -default-double-8# Other compiles likely have similar settings

Many compilers have flush. We use it sometimes to force output before crashes# OPTIONS += -DHAVE_FLUSH

Linear algebra librariesBLAS = -L/sware/devel_tools/packages/ubuntu20.04/x86_64/intel/oneapi/mkl/latest/lib/intel64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core

FFTW path. Several programs can use FFTW. Find it at fftw.org.# (There is a fallback fft so FFTW is not required)# OPTIONS += -D__FFTW3# FFTWI = -I/usr/include# FFTWL = -L/usr/lib -lfftw3

Install Directory.INSTDIR = ../bin

OCEAN can use either ABINIT or QE.# If you only want one then leave the other's varables commented out

######################## ABINIT Flags# This says where abinit and cut3d live# (cut3d is a post-processing tool available as part of the abinit toolset)# ABINIT_DIR = /path/to/abinit/install# ABINIT_EXE = $(ABINIT_DIR)/abinit# CUT3D_EXE = $(ABINIT_DIR)/cut3d#######################

######################## ESPRESSO Flags# ESPRESSO_DIR = /path/to/espresso# PW_EXE = apptainer run ${QUANTUM_ESPRESSO_IMAGE} pw.x# PP_EXE = apptainer run ${QUANTUM_ESPRESSO_IMAGE} pp.x#######################

To support newer, oncvpsp pseudopotentials, download the latest release from https://github.com/jtv3/oncvpsp https://urldefense.com/v3/__https://github.com/jtv3/oncvpsp__;!!K-Hz7m0Vt54!kyA39rUPsPAbZBsj2iorXEjFgVhIBNWVB84d3atxQ3WTYKPuQbPLvVi2JPwKXUtKHRIGLDQYagZiCKxU11aGTQ$######################## ONCVPSP Flags# ONCVPSP_DIR = /path/to/oncvpsp

make[1]: Entering directory '/home/esrf/retegan/Code/ocean/src/OCEAN2' mpif90 -O2 -DBLAS -DMPI -DOLD_MPI -cpp -I../SCREEN/src -c -o AI_kinds.o AI_kinds.f90 mpif90 -O2 -DBLAS -DMPI -D__OLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_mpi.o OCEAN_mpi.f90 mpif90 -O2 -DBLAS -DMPI -DOLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_system.o OCEAN_system.f90 mpif90 -O2 -DBLAS -DMPI -DOLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_bloch.o OCEAN_bloch.f90 mpif90 -O2 -DBLAS -DMPI -D__OLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_obf.o OCEAN_obf.f90 mpif90 -O2 -DBLAS -DMPI -DOLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_constants.o OCEAN_constants.f90 mpif90 -O2 -DBLAS -DMPI -DOLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_timekeeper.o OCEAN_timekeeper.f90 mpif90 -O2 -DBLAS -DMPI -D__OLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_filenames.o OCEAN_filenames.f90 mpif90 -O2 -DBLAS -DMPI -DOLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_rixs_holder.o OCEAN_rixs_holder.f90 mpif90 -O2 -DBLAS -DMPI -DOLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_psi.o OCEAN_psi.f90 mpif90 -O2 -DBLAS -DMPI -D__OLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_multiplet.o OCEAN_multiplet.f90 mpif90 -O2 -DBLAS -DMPI -DOLD_MPI -cpp -I../SCREEN/src -c -o long_range.o long_range.f90 -I../zbridge/ mpif90 -O2 -DBLAS -DMPI -DOLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_val_energy.o OCEAN_val_energy.f90 mpif90 -O2 -DBLAS -DMPI -D__OLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_energies.o OCEAN_energies.f90 mpif90 -O2 -DBLAS -DMPI -DOLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_val_states.o OCEAN_val_states.f90 mpif90 -O2 -DBLAS -DMPI -DOLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_bubble.o OCEAN_bubble.f90 -I../zbridge/ mpif90 -O2 -DBLAS -DMPI -D__OLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_hyb_louie_levine.o OCEAN_hyb_louie_levine.f90 mpif90 -O2 -DBLAS -DMPI -DOLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_WRR.o OCEAN_WRR.f90 mpif90 -O2 -DBLAS -DMPI -DOLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_ladder.o OCEAN_ladder.f90 -I../zbridge/ mpif90 -O2 -DBLAS -DMPI -D__OLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_load_data.o OCEAN_load_data.f90 mpif90 -O2 -DBLAS -DMPI -DOLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_pfy.o OCEAN_pfy.f90 mpif90 -O2 -DBLAS -DMPI -DOLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_corewidths.o OCEAN_corewidths.f90 mpif90 -O2 -DBLAS -DMPI -D__OLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_action.o OCEAN_action.f90 mpif90 -O2 -DBLAS -DMPI -DOLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_haydock.o OCEAN_haydock.f90 mpif90 -O2 -DBLAS -DMPI -D__OLD_MPI -cpp -I../SCREEN/src -c -o OCEAN_gmres.o OCEAN_gmres.f90 OCEAN_gmres.f90:667:132:

667 | if( myid .eq. root ) write( 6, ) 'recycle: ', prev_iter, (gmres_energy_list( step_iter ) - gmres_energy_list( step_iter -1)) eV2Hartree, (ener - prev_energy) | 1 Error: Line truncated at (1) [-Werror=line-truncation] OCEAN_gmres.f90:667:119:

667 | if( myid .eq. root ) write( 6, ) 'recycle: ', prev_iter, (gmres_energy_list( step_iter ) - gmres_energy_list( step_iter -1)) eV2Hartree, (ener - prev_energy) | 1 Error: Missing ‘)’ in statement at or before (1) f951: some warnings being treated as errors make[1]: [Makefile:185: OCEAN_gmres.o] Error 1 make[1]: Leaving directory '/home/esrf/retegan/Code/ocean/src/OCEAN2' make: [Makefile:22: all] Error 2

— Reply to this email directly, view it on GitHub https://urldefense.com/v3/__https://github.com/times-software/OCEAN/issues/301__;!!K-Hz7m0Vt54!kyA39rUPsPAbZBsj2iorXEjFgVhIBNWVB84d3atxQ3WTYKPuQbPLvVi2JPwKXUtKHRIGLDQYagZiCKy95XL9BQ$, or unsubscribe https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AA2RF27CV6BWJKYKD45HX6LWUPBF7ANCNFSM6AAAAAAUIVOAK4__;!!K-Hz7m0Vt54!kyA39rUPsPAbZBsj2iorXEjFgVhIBNWVB84d3atxQ3WTYKPuQbPLvVi2JPwKXUtKHRIGLDQYagZiCKxZjB-Z6Q$ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- Joshua Kas (He/Him/His) Research Assistant Professor University of Washington