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

error 139 :compatibility issues with ifort

shreevant
Beginner
1,517 Views
hi all,
i am using the intel compiler 'ifort' on an intel itanium (2) 64 bit machine.
My aim is to install a custom molecular simulation software.i am carrying out a `make` operation (OS:red hat linux enterprise edition).while the 'gmake' works on a P4 32 bit machine using the GNU fortran compiler G77,it does not work on an itanium machine using ifort.

the file GNUmake.inc:

:::::::::::::::::::::::::::::::::::::::::
PLATFORM=$(shell uname)
ifeq ($(PLATFORM),OSF1)
RATFOR = ratfor
FC = f90
FOPT = -O5 -tune ev6
LAPACK =
# LAPACK = dsygvd.a
BLAS = -ldxml
endif
ifeq ($(PLATFORM),AIX)
RATFOR = ratfor
FC = f77
FOPT = -O3 -qstrict
LAPACK = dsygvd.a
BLAS = -lblas
endif
ifeq ($(PLATFORM),HP-UX)
RATFOR = ratfor
FC = f77
FOPT = -O3 -K +Olibcalls +Odataprefetch +Ofastaccess +Oentrysched
+Oregionsched +Onolimit +Onoloop_transform
LAPACK =
BLAS = +Ofastaccess -Wl,+FPD
-Wl,-x -Wl,-N -Wl,-n -lveclib -llapack
endif
ifeq ($(PLATFORM),IRIX64)
RATFOR = ratfor
FC = f77
FOPT = -c -O3 -mips4 -r10000
LAPACK = dsygvd.a
BLAS = -lcomplib.sgimath
endif
ifeq ($(PLATFORM),Linux)
RATFOR = ratfor_linux
FC= ifort
FOPT = -O2
LAPACK= -L/opt/intel/mkl/8.0.1/lib/64 -lmkl_lapack -lguide -lpthread
BLAS=-L/opt/intel/mkl/8.0.1/lib/64 -lmkl_ipf -lguide
endif

:::::::::::::::::::::::::::::::::::::::;:

the error i get is :


gmake: *** [dylcao.o] Error 139


.how to remove this error?
0 Kudos
5 Replies
Steven_L_Intel1
Employee
1,517 Views
It would likely be helpful to see the actual commands generated by make and the actual build output. I did a Google on "make error 139" and saw that this was an undocumented error that was often associated with a corrupted or old version of gcc, but I could envision your getting this if the Intel compiler aborted as well. Seeing the actual compiler output would help a lot.
0 Kudos
shreevant
Beginner
1,517 Views
thanks..this the correct output expected...

**********************************************88

[svt@solid7 src_distribute]$ make clean
**
** dftb deleted...
**
[svt@solid7 src_distribute]$ gmake ATOMS=600 ORBITALS=3000
Compiling dftb .................................
........ Make of dftb for Linux completed.
........ Required datasize limit to run it: 300M
[svt@solid7 src_distribute]$

******************************************8
0 Kudos
Steven_L_Intel1
Employee
1,517 Views
That doesn't tell you what went wrong, though. Are you saying that you can build now?
0 Kudos
shreevant
Beginner
1,517 Views
Well,the succesful compilation message was taken from the P4 machine.I still cannot make in intel itanium.

however I made the following change to GNUmake.inc (given in the first thread) such that compilation began and gave a new set of errors:
changed
PLATFORM=$(shell uname)
to
PLATFORM=$(uname)


the error message now is:
[asen@itanium src_distribute]$ make ATOMS=100 ORBITALS=400
...............................eglcao.o(.text+0x642): In function `eglcao_':
: undefined reference to `slkmatrices_'
eglcao.o(.text+0x29d2): In function `eglcao_':
: undefined reference to `fermi_'
eglcao.o(.text+0x2d42): In function `eglcao_':
: undefined reference to `mulliken_'
eglcao.o(.text+0x3b12): In function `eglcao_':
: undefined reference to `outspec_'
eglcao.o(.text+0x3ba2): In function `eglcao_':
: undefined reference to `outeigenvectors_'
eglcao.o(.text+0x3f82): In function `eglcao_':
: undefined reference to `repulsive_'
eglcao.o(.text+0x49e2): In function `eglcao_':
: undefined reference to `repulsivegrd_'
eglcao.o(.text+0x4e02): In function `eglcao_':
: undefined reference to `usualgrd_'
eglcao.o(.sdata+0x0): undefined reference to `skspar_'
eglcao.o(.sdata+0x8): undefined reference to `skhpar_'
ewevge.o(.text+0x242): In function `ewevge_':
: undefined reference to `dsygv_'
atomen.o(.text+0x17b2): In function `atomenerg_':
: undefined reference to `repen_'
atomen.o(.text+0x1bd2): In function `atomenerg_':
: undefined reference to `repen_'
/usr/lib/gcc-lib/ia64-redhat-linux/3.2.3/libfrtbegin.a(frtbegin.o)(.text+0x72): In function `main':
: undefined reference to `MAIN__'
collect2: ld returned 1 exit status
make: *** [dftb] Error 1


0 Kudos
Ron_Green
Moderator
1,517 Views

These are not compiler errors, these are linking errors.

Are you 100% sure you are compiling ALL libraries in this application with IFORT. This looks like you're linking in one library from g77 that has double underscore name decoration. If you use g77, do you include option -fno-second-underscore? If you're going to mike and match ifort and g77 you should use the -fno-second-underscore.

Looking at the above - eglcao - his is part of CHARMM, yes? So look at eglcao.f, fnd the calls to one of these function - pick "fermi" for example. You are calling fermi from this procedure - so where is this function? Is it in a library? Are you including that library on the link line? Was the source file containing fermi compiled with ifort or g77 -fno-second-underscore?

let me know if this helps

ron

0 Kudos
Reply