Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
48 Views

Help Intel Compiler TERRAIN and MM5 modules Oracle Linux

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
Highlighted
Beginner
48 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
Highlighted
Black Belt
48 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
Highlighted
Valued Contributor I
48 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
Highlighted
Beginner
48 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
Highlighted
48 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