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

Compile precompiled Fortran 32bit libraries using a 64bit compiler (Intel Compiler Suite Pro 11.1 for Linux)

carl_caves
Beginner
1,209 Views
I have two types of fortran application to compile. The documentation of one of them specifies that a 32 bit Intel Compiler is required, due to precompiled EZSpline libraries, and the other one indicates that both 32 and 64 bits Intel Compiler are supported.

The applications that support 32 and 64 bits work properly, but its not possible to compile those that require 32bit and throws an error as follows:

-----------------------------------------------------------------------------------------------------------------------

ezspline_interpolation.f90(3): error #7881: This module file was generated for a different platform or by an incompatible compiler or compiler release. It cannot be read. [EZSPLINE_OBJ]

USE EZspline_obj

------^

ezspline_interpolation.f90(31): error #6457: This derived type name has not been declared. [EZSPLINE1_R8]

TYPE (EZspline1_r8) :: spline_o ! 1-d EZspline object

--------^

ezspline_interpolation.f90(44): error #6404: This name does not have a type, and must have an explicit type. [SPLINE_O]

CALL EZspline_init (spline_o, n_in, BCS1, locerrstat)

----------------------^

ezspline_interpolation.f90(53): error #6460: This is not a field name that is defined in the encompassing structure. [X1]

spline_o%x1 = REAL(x_in(1:n_in), KIND=ezs_r8)

-----------^

ezspline_interpolation.f90(53): error #6366: The shapes of the array expressions do not conform. [X1]

spline_o%x1 = REAL(x_in(1:n_in), KIND=ezs_r8)

-----------^

compilation aborted for ezspline_interpolation.f90 (code 1)

------------------------------------------------------------------------------------------------------

As the compiler works in the 64bit application, I think that the problem is caused by some missing library in the compiler.

The OS is Linux RedHat 5.3 (64 bits).

Does anyone have any idea about how can I compile these precompiled 32bit libraries with the 64bit verison of the Intel Compiler?

Thanks in advance

0 Kudos
2 Replies
TimP
Honored Contributor III
1,209 Views
You quoted the instructions, apparently to the effect that there is a pre-compiled 32-bit library, requiring the 32-bit compiler. This seems explicit enough to tell you to install the 32-bit g++ and the ifort for ia32. Your error message apparently tells you the .mod is built for the ia32 compiler. How are we to tell you different?
0 Kudos
carl_caves
Beginner
1,209 Views
Quoting - tim18
You quoted the instructions, apparently to the effect that there is a pre-compiled 32-bit library, requiring the 32-bit compiler. This seems explicit enough to tell you to install the 32-bit g++ and the ifort for ia32. Your error message apparently tells you the .mod is built for the ia32 compiler. How are we to tell you different?

OK, I have installed the netcdf-4.0.1 and the ia32 compiler, and it seems to work quite well, using the ifortvars_ia32.sh

Thank you very much.
0 Kudos
Reply