Problemas al compilar con IFC
Publicado por Elias (2 intervenciones) el 24/10/2007 12:50:08
Hola, buenas
Estoy intentando compilar un paquete de un programa de predicción meteorológica con el Intel Fortran Compiler.
al hacer "make intel" obtengo entre otras cosas:
ifort -o terrain.exe -i_dynamic ia.o anal2.o bint.o bndry.o crlnd.o crter.o dfclrs.o exaint.o finprt.o fudger.o interp.o label.o lakes.o latlon.o llxy.o mxmnll.o nestll.o oned.o outpt.o output.o pltter.o rdldtr.o replace.o rflp.o L/usr/local/ncarg/lib -L/usr/X11R6/lib -lX11 -L/usr/local/ncarg/lib -lncarg_gks -lncarg_c -lncarg -L/usr/lib64/gcc-lib/x86_64
-mandriva-linux-gnu/3.3.6 -lg2c
/usr/local/ncarg/lib/libncarg_gks.a(gerhnd.o ): In function `gerhnd_':
gerhnd.f:(.text+0x55): undefined reference to `_gfortran_st_write'
gerhnd.f:(.text+0x69): undefined reference to `_gfortran_transfer_character'
gerhnd.f:(.text+0x84): undefined reference to `_gfortran_transfer_integer'
gerhnd.f:(.text+0x8c): undefined reference to `_gfortran_st_write_done'
gerhnd.f:(.text+0xce): undefined reference to `_gfortran_st_write'
---------------------------
No se que problema puede haber o que me puede faltar en el Makefile:
o si esque me falta algo.
Aquí os dejo la parte que modifiqué del Makefile:
------------------------------------------------------
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$(NCARG_ROOT) " \ "FC = ifort " "FCFLAGS = -I. -w90 -w95 -convert big_endian " \ "LDOPTIONS = -i_dynamic" "CFLAGS = -I." \
"LOCAL_LIBRARIES= -L$(NCARG_ROOT)/lib -L/usr/X11R6/lib -lX11 -L/usr/local/ncarg/lib -lncarg -lncarg_gks -lncarg_c -L/usr/lib64/gcc-lib/x86_64-mandriva-linux-gnu/3.3.6 -lg2c" ) ; \
( $(RM) terrain.exe ; $(LN) src/terrain.exe . ) ;terrain.deck: uname -a > .tmpfile
-------------------------------------------
He probado revisando varias cosas pero no se que falla. Tal vez sea más sencillo de lo que parede.
Gracias de antemano.
????
Estoy intentando compilar un paquete de un programa de predicción meteorológica con el Intel Fortran Compiler.
al hacer "make intel" obtengo entre otras cosas:
ifort -o terrain.exe -i_dynamic ia.o anal2.o bint.o bndry.o crlnd.o crter.o dfclrs.o exaint.o finprt.o fudger.o interp.o label.o lakes.o latlon.o llxy.o mxmnll.o nestll.o oned.o outpt.o output.o pltter.o rdldtr.o replace.o rflp.o L/usr/local/ncarg/lib -L/usr/X11R6/lib -lX11 -L/usr/local/ncarg/lib -lncarg_gks -lncarg_c -lncarg -L/usr/lib64/gcc-lib/x86_64
-mandriva-linux-gnu/3.3.6 -lg2c
/usr/local/ncarg/lib/libncarg_gks.a(gerhnd.o ): In function `gerhnd_':
gerhnd.f:(.text+0x55): undefined reference to `_gfortran_st_write'
gerhnd.f:(.text+0x69): undefined reference to `_gfortran_transfer_character'
gerhnd.f:(.text+0x84): undefined reference to `_gfortran_transfer_integer'
gerhnd.f:(.text+0x8c): undefined reference to `_gfortran_st_write_done'
gerhnd.f:(.text+0xce): undefined reference to `_gfortran_st_write'
---------------------------
No se que problema puede haber o que me puede faltar en el Makefile:
o si esque me falta algo.
Aquí os dejo la parte que modifiqué del Makefile:
------------------------------------------------------
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$(NCARG_ROOT) " \ "FC = ifort " "FCFLAGS = -I. -w90 -w95 -convert big_endian " \ "LDOPTIONS = -i_dynamic" "CFLAGS = -I." \
"LOCAL_LIBRARIES= -L$(NCARG_ROOT)/lib -L/usr/X11R6/lib -lX11 -L/usr/local/ncarg/lib -lncarg -lncarg_gks -lncarg_c -L/usr/lib64/gcc-lib/x86_64-mandriva-linux-gnu/3.3.6 -lg2c" ) ; \
( $(RM) terrain.exe ; $(LN) src/terrain.exe . ) ;terrain.deck: uname -a > .tmpfile
-------------------------------------------
He probado revisando varias cosas pero no se que falla. Tal vez sea más sencillo de lo que parede.
Gracias de antemano.
????
Valora esta pregunta


0