Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Help Intel Compiler TERRAIN and MM5 modules Oracle Linux

Seven_Patrick
Beginner
1,169 Views

I recently moved from RocksCluster 6.2 with CentOS X86_64 machine -> Oracle Linux OS 7.3.

In RocksCluster compile correctly WRF and MM5 model code, practically without modifications in the makefiles.

Now, on Oracle Linux system I am having problems in TERRAIN and MM5 modules. I can´t understand what has changed in the machine (system level) so I don´t compile now.

a) TERRAIN makefile:

NCARG_ROOT = /export/apps/libraries/ncl
INTEL_LIB = /export/apps/libraries/intel/lib/intel64
NCARGRAPHICS = NONCARG

intel:
	echo "Compiling for Linux using INTEL compiler"
	( $(CD) src ; $(MAKE) all				\
	"RM		= $(RM)" 	"RM_LIST	= $(RM_LIST)"	\
	"LN		= $(LN)" 	"MACH		= SGI"		\
	"MAKE		= $(MAKE)"	"CPP		= /lib/cpp"	\
	"CPPFLAGS	= -I. -C -traditional -D$(NCARGRAPHICS) "	\
	"FC		= ifort  "	"FCFLAGS	= -I. -fpp -convert big_endian "\
	"LDOPTIONS	= -shared-intel” 		"CFLAGS		= -I."		\
	"LOCAL_LIBRARIES= -L$(NCARG_ROOT)/lib -L/usr/lib64 -lcairo -L$(INTEL_LIB) -L/usr/X11R6/lib -lncarg -lncarg_gks -lncarg_c -lX11 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -lg2c" ) ; \
		( $(RM) terrain.exe ; $(LN) src/terrain.exe . ) ;

 

make intel end ->

ld: cannot find -cairo
ld: cannot find -lX11
ld: cannot fin -lg2c
make[1]: [terrain.exe] Error 1 (ignored)

 

b) MM5 configure.user:

#-----------------------------------------------------------------------------
#   7g2. Linux PCs.  Need INTEL and MPICH.
#-----------------------------------------------------------------------------
RUNTIME_SYSTEM = "linux"
MPP_TARGET=$(RUNTIME_SYSTEM)
### edit the following definition for your system
LINUX_MPIHOME = /export/apps/libraries/mpich
MFC = $(LINUX_MPIHOME)/bin/mpif77
MCC = $(LINUX_MPIHOME)/bin/mpicc
MLD = $(LINUX_MPIHOME)/bin/mpif77
FCFLAGS = -O2 -fpp -convert big_endian -pc32
LDOPTIONS = -O2 -convert big_endian -pc32
LOCAL_LIBRARIES = -L$(LINUX_MPIHOME)/lib -lfmpich -lmpich
MAKE = make -i -r
AWK = awk
SED = sed
CAT = cat
CUT = cut
EXPAND = /usr/bin/expand
M4 = m4
CPP = /lib/cpp -C -P -traditional
CPPFLAGS = -traditional -DMPI -Dlinux
CFLAGS = -DMPI -I/usr/local/mpi/include
ARCH_OBJS =  milliclock.o
IWORDSIZE = 4
RWORDSIZE = 4
LWORDSIZE = 4

 

make mpp end ->

.tmpobjs:1: *** missing separator. Stop.

My version of Intel compiler fortran is 17.0.4. gcc version 4.8.5. mpich 3.2.

 

0 Kudos
5 Replies
Seven_Patrick
Beginner
1,169 Views

A help here please!..

There is a very old entry in google about this bug ..

http://www2.mmm.ucar.edu/mm5/mpp/helpdesk/20020906.html

but, I'm surprised that it fails in Oracle Linux and not RocksCluster with CentOS. In RocksCluster compile correctly MM5 model code, practically without modifications in the makefiles. I imagine you have to modify some flags.

 

 

0 Kudos
mecej4
Honored Contributor III
1,169 Views

I do not have access to any cluster or to machines with the distros that you listed, so I can only offer suggestions. Not every distro will have development packages installed for optional software such as Cairo, X11 and Gfortran. Check if these libraries are present, and check environment variables such as LIBRARY_PATH, LD_LIBRARY_PATH, etc.

0 Kudos
Juergen_R_R
Valued Contributor II
1,169 Views

libcairo and libX11 are both graphics libraries. so it looks like that the new installation of your cluster machines have been made without graphical support (which is not unusual). libg2c is connected to the legacy package g77 which is not installed as a standard anymore. I think Oracle Linux should have all the rpms in its repo, so ask your sysadmin to install the missing libraries.

I assume that this

make mpp end ->

.tmpobjs:1: *** missing separator. Stop.

is only a consequence of the failed compilation above, otherwise it indicates an error in the Makefile where either a backslash is missing at the 

end of a line or there are whitespaces instead of a tab.  

 

 

0 Kudos
Seven_Patrick
Beginner
1,169 Views

a) About the Terrain module program I have install the missing libraries with success, except the lcairo, which is not critical to compile. Effectively compile but when i execute the program just doing a ->

forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image
libifcoremt.so.5
libpthread-2.17.s
terrain.exe
terrain.exe


libc-2.17.so
terrain.exe

I already tried it with “ulimit -s unlimited” and not work. Any additional ideas?


b) About MM5 module, Juergen if this is so, how should I modify the Makefile or the file it references to make it work.

This fault was reported in 2002 with the following program versions; gcc v2.96-110 and cpp v2.96-110, which is on Redhat v7.3.

http://www2.mmm.ucar.edu/mm5/mpp/helpdesk/20020906.html

Today should not give problems, at least in RocksCluster with CentOS, but it does with Oracle Linux. :-(

0 Kudos
Lorri_M_Intel
Employee
1,169 Views

The segmentation fault could be anything, not just memory.

I'd suggest building with -traceback, and -O0 (turning off optimization) to get a better idea of where the error happened.

If that doesn't help, then you will need to debug the application.

                        --Lorri

0 Kudos
Reply