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

Trying to compile using IA32, but it is compiling using INTEL64

Brian_A_
Novice
1,186 Views
I set the source wilth the end using ia32, but when I try to compile it is complaining about incompatability in usr/lib64. It is trying to use the lib64
look file
ifort -o auxx/select.x auxx/select.f
ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.5/../../..//libm.so when searching for -lm
ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.5/../../..//libm.a when searching for -lm
ld: skipping incompatible /usr/lib64/libm.so when searching for -lm
ld: skipping incompatible /usr/lib64/libm.a when searching for -lm
ld: cannot find -lm
make: [auxx/select.x] Error 1 (ignored)
ifort -o auxx/cnv32.x auxx/cnv32.f
ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.5/../../..//libm.so when searching for -lm
ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.5/../../..//libm.a when searching for -lm
ld: skipping incompatible /usr/lib64/libm.so when searching for -lm
ld: skipping incompatible /usr/lib64/libm.a when searching for -lm
ld: cannot find -lm
make: [auxx/cnv32.x] Error 1 (ignored)
ifort -o auxx/usplit.x auxx/usplit.f
ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.5/../../..//libm.so when searching for -lm
ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.5/../../..//libm.a when searching for -lm
ld: skipping incompatible /usr/lib64/libm.so when searching for -lm
ld: skipping incompatible /usr/lib64/libm.a when searching for -lm
ld: cannot find -lm
make: [auxx/usplit.x] Error 1 (ignored)
/bin/sh: line 1: auxx/select.x: No such file or directory
make: [auxx/builderm.x] Error 127 (ignored)
ifort -auto -ansi_alias- -pad_source \\
-o auxx/builderm.x builderm.for
builderm.for: remark #5133: The input stream is empty
ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.5/../../..//libm.so when searching for -lm
ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.5/../../..//libm.a when searching for -lm
ld: skipping incompatible /usr/lib64/libm.so when searching for -lm
ld: skipping incompatible /usr/lib64/libm.a when searching for -lm
ld: cannot find -lm
make: [auxx/builderm.x] Error 1 (ignored)
rm -f builderm.for fort.1
ifort -logo
Intel Fortran Compiler XE for applications running on IA-32, Version 12.0.0.084 Build 20101006
Copyright (C) 1985-2010 Intel Corporation. All rights reserved.
if [ ! -d "o" ]; then mkdir "o"; fi
cd envrl ; ls *.hh >filedoth
cd envrl ; ls *.ff >filedotf
cd matpro ; ls *.hh >filedoth
cd matpro ; ls *.ff >filedotf
cd relap ; ls *.hh >filedoth
cd relap ; ls *.ff >filedotf
cd scdap ; ls *.hh >filedoth
cd scdap ; ls *.ff >filedotf
auxx/builderm.x makerlxp
make: auxx/builderm.x: Command not found
make: [all] Error 127 (ignored)
cd ..
make -f makrelap NM=o FFLAGS=-O2 FPSTOP= \\
O=o
make[1]: Entering directory `/home/brian.allison/iss_relap/RELAP5Mod35/rs35da.aprl2012'
make[1]: makrelap: No such file or directory
make[1]: *** No rule to make target `makrelap'. Stop.
make[1]: Leaving directory `/home/brian.allison/iss_relap/RELAP5Mod35/rs35da.aprl2012'
make: [all] Error 2 (ignored)
ifort -o auxx/select.x auxx/select.fld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.5/../../..//libm.so when searching for -lmld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.5/../../..//libm.a when searching for -lmld: skipping incompatible /usr/lib64/libm.so when searching for -lmld: skipping incompatible /usr/lib64/libm.a when searching for -lmld: cannot find -lmmake: [auxx/select.x] Error 1 (ignored)ifort -o auxx/cnv32.x auxx/cnv32.fld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.5/../../..//libm.so when searching for -lmld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.5/../../..//libm.a when searching for -lmld: skipping incompatible /usr/lib64/libm.so when searching for -lmld: skipping incompatible /usr/lib64/libm.a when searching for -lmld: cannot find -lmmake: [auxx/cnv32.x] Error 1 (ignored)ifort -o auxx/usplit.x auxx/usplit.fld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.5/../../..//libm.so when searching for -lmld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.5/../../..//libm.a when searching for -lmld: skipping incompatible /usr/lib64/libm.so when searching for -lmld: skipping incompatible /usr/lib64/libm.a when searching for -lmld: cannot find -lmmake: [auxx/usplit.x] Error 1 (ignored)/bin/sh: line 1: auxx/select.x: No such file or directorymake: [auxx/builderm.x] Error 127 (ignored)ifort -auto -ansi_alias- -pad_source \\ -o auxx/builderm.x builderm.forbuilderm.for: remark #5133: The input stream is emptyld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.5/../../..//libm.so when searching for -lmld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.5/../../..//libm.a when searching for -lmld: skipping incompatible /usr/lib64/libm.so when searching for -lmld: skipping incompatible /usr/lib64/libm.a when searching for -lmld: cannot find -lmmake: [auxx/builderm.x] Error 1 (ignored)rm -f builderm.for fort.1ifort -logoIntel Fortran Compiler XE for applications running on IA-32, Version 12.0.0.084 Build 20101006Copyright (C) 1985-2010 Intel Corporation. All rights reserved.
if [ ! -d "o" ]; then mkdir "o"; ficd envrl ; ls *.hh >filedothcd envrl ; ls *.ff >filedotfcd matpro ; ls *.hh >filedothcd matpro ; ls *.ff >filedotfcd relap ; ls *.hh >filedothcd relap ; ls *.ff >filedotfcd scdap ; ls *.hh >filedothcd scdap ; ls *.ff >filedotfauxx/builderm.x makerlxpmake: auxx/builderm.x: Command not foundmake: [all] Error 127 (ignored)cd ..make -f makrelap NM=o FFLAGS=-O2 FPSTOP= \\ O=omake[1]: Entering directory `/home/brian.allison/iss_relap/RELAP5Mod35/rs35da.aprl2012'make[1]: makrelap: No such file or directorymake[1]: *** No rule to make target `makrelap'. Stop.make[1]: Leaving directory `/home/brian.allison/iss_relap/RELAP5Mod35/rs35da.aprl2012'make: [all] Error 2 (ignored)
0 Kudos
5 Replies
TimP
Honored Contributor III
1,186 Views
It looks as if you have library search paths left over from setting paths for a 64-bit compiler. Did you try opening a fresh shell and sourcing the compilervars ia32?
You might try ifort -# and try to see if the correct gnu tools are invoked; either explicit paths to the 32-bit ones, or by -m32 option.
Not that it affects this problem, but a lot of bugs have been fixed in the 12.0 compiler updates.
I haven't tried it recently, but it can be difficult to make the Intel ia32 compilers work well on suse x86-64. For anyone to check it out, the information required in a problem report on premier.intel.com would be needed.
0 Kudos
Brian_A_
Novice
1,186 Views
Here is the build that I am using: intel Fortran Compiler XE for applications running on IA-32, Version 12.0.0.084 Build 20101006
When I typed ifort -# it did not understand the command.
Is there a newer build?
0 Kudos
Ron_Green
Moderator
1,186 Views
That that is the original 12.0 release, and Update 4 is available at https://registrationcenter.intel.com. However that newer compiler will not fix your issue.

As mentioned previously,

source /opt/intel/bin/compilervars.sh ia32

then

ifort -dryrun hello.f90 (or any small .f90 file of your choosing)

echo $LD_LIBRARY_PATH

and similarly

gcc -m32 hello.c -o hello
file ./hello

find a simple hello world in C and compile with the 32bit gcc to make sure you have all the required 32bit development libraries on your system. If you can't compile a 32bit C program, you don't have the needed libraries for ifort to work either.

ron
0 Kudos
TimP
Honored Contributor III
1,186 Views
Quoting TimP (Intel)

You might try ifort -#

I'm sorry, I meant to add -# to your compiler options. However, Ron may have given better suggestions.
0 Kudos
Brian_A_
Novice
1,186 Views
ok so I got it fixed. The 32bit libraries were not installed. thanks for the help.
0 Kudos
Reply