Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
29280 Discussions

how to solve problem 'usr/lib/crt1.o: could not read symbols: File in wrong format'

Alex_Adams
Beginner
3,466 Views

Hello experts:

I just installed intel fortran compiler 8.0 on my x86-64 computer with Centos6.5 system.

in the installation process, I choose IA-32 to install it.

after default choice and installation, I configure the .bashrc as suggestions of the installation guide.

after sourcing .bashrc, then I use ifort to compile the hello.f in my current dir.

but firstly the message that

'/usr/bin/ld: cannot find crt1.o: No such file or directory'

comes up.

so I turned to install glibc-devel-2.12-1.132.el6.i686.rpm on my computer, even though I type 'rpm -qa|grep glibc-devel' and know the glibc-devel I installed is 'glibc-devel-2.12-1.132.el6.x86_64'.

after the installation, I type 'rpm -qa|grep glibc-devel' again, then 'glibc-devel-2.12-1.132.el6.x86_64 and glibc-devel-2.12-1.132.el6.i686' have been installed. and I find 'crt1.o' in the /usr/lib and another 'crt1.o' in the /usr/lib64.

So I use ifort again to compile the 'hello.f'. but another message comes up

'usr/lib/crt1.o: could not read symbols: File in wrong format'

I try my best to solve the problem by installing IFC_V8 but can not work it our. Can you help me out?

how to make it?

best regards,

yours alex

 

0 Kudos
6 Replies
Kevin_D_Intel
Employee
3,466 Views

You are mixing components for incompatible architectures. You indicated having installed a 32-bit (IA32) compiler but your system and build environment supports Intel64 (a.k.a. x86_64). We first provided support for the Intel64 (referred to as "em64t" back some 8 years ago) in the 8.1 release. If you require the 8.0 compiler then I gather your options would be to investigate installing a complete 32-bit build environment under your existing Linux OS or redoing your Linux installation to install a 32-bit OS.

0 Kudos
TimP
Honored Contributor III
3,466 Views

It may be difficult to use  the 8.0 compiler (developed prior to CentOS 5) on CentOS 6.  Even if you were to choose an 8.x compiler, 8.1 was much more stable than 8.0.  

As Kevin mentioned, CentOS 6 requires a bunch of components which aren't on the standard iso image to support 32-bit compilation on x86_64.  You would need to install support for both 32- and 64-bit g++ development and for building with compatibility libraries (for glibc earlier than the one in CentOS 6, as required by ifort 8.x), and then remove and re-install the Intel compiler.

ifort 12.0 was the first version which supported installation "out of the box" on CentOS 6 (and that only for 64-bit mode).

0 Kudos
Alex_Adams
Beginner
3,466 Views

Kevin Davis (Intel) wrote:

 

You are mixing components for incompatible architectures. You indicated having installed a 32-bit (IA32) compiler but your system and build environment supports Intel64 (a.k.a. x86_64). We first provided support for the Intel64 (referred to as "em64t" back some 8 years ago) in the 8.1 release. If you require the 8.0 compiler then I gather your options would be to investigate installing a complete 32-bit build environment under your existing Linux OS or redoing your Linux installation to install a 32-bit OS.

Thank you Kevin, but how to install a complete 32-bit build environment. do you recommend a good method for it?

best regards,

0 Kudos
Alex_Adams
Beginner
3,466 Views

Tim Prince wrote:

It may be difficult to use  the 8.0 compiler (developed prior to CentOS 5) on CentOS 6.  Even if you were to choose an 8.x compiler, 8.1 was much more stable than 8.0.  

As Kevin mentioned, CentOS 6 requires a bunch of components which aren't on the standard iso image to support 32-bit compilation on x86_64.  You would need to install support for both 32- and 64-bit g++ development and for building with compatibility libraries (for glibc earlier than the one in CentOS 6, as required by ifort 8.x), and then remove and re-install the Intel compiler.

ifort 12.0 was the first version which supported installation "out of the box" on CentOS 6 (and that only for 64-bit mode).

Thanks Tim, I will have a decision to remove the IFV8 if I have any other method to make it.

0 Kudos
Kevin_D_Intel
Employee
3,466 Views

Alex Adams wrote:

Thank you Kevin, but how to install a complete 32-bit build environment. do you recommend a good method for it?

best regards,

Tim offered good info/direction. For the details you likely need you should refer to the Linux OS distribution’s documentation.

0 Kudos
Alex_Adams
Beginner
3,466 Views

Kevin Davis (Intel) wrote:

 

Quote:

Alex Adams wrote:
Thank you Kevin, but how to install a complete 32-bit build environment. do you recommend a good method for it?

best regards,

 

 

Tim offered good info/direction. For the details you likely need you should refer to the Linux OS distribution’s documentation.

Ok, Thanks Kevin. gotcha.

&& Thanks for all the friends who give helps.

 

0 Kudos
Reply