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

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

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

 

7 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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.

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).

Quote:

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,

Quote:

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.

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.

Quote:

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.

 

Leave a Comment

Please sign in to add a comment. Not a member? Join today