Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7957 Discussions

ipo: warning #11010: file format not recognized for ./src/xxx.o

Vishal_Sharma
Beginner
738 Views
Hello,
I am using Intel C++ Compiler integrated with Eclipse. I have enabled the following options for optimization:
-O3, -ipo, -ansi-alias. I enabled -S option to generate Assembler Source File. When I compile/link my application, it fails. The following errors are reported:
ipo: warning #11010: file format not recognized for ./src/xxx.o
ipo: warning #11010: file format not recognized for ./src/vs_yyy.o
ipo: warning #11010: file format not recognized for ./src/vs_zzz.o
ipo: warning #11010: file format not recognized for ./src/vs_aaa.o
./src/xxx.o: file not recognized: File format not recognized
make: *** [APP] Error 1
make: Target `all' not remade because of errors.
When I disable the -S option, the compilation is successful but the following warnings are seen:
ipo: warning #11021: unresolved _ZN5boost6system15system_categoryEv
Referenced in /tmp/ipo_icpcJSytEM.o
ipo: warning #11021: unresolved _ZN5boost6system16generic_categoryEv
Referenced in /tmp/ipo_icpcJSytEM.o
ipo: warning #11021: unresolved clock_gettime
Referenced in /tmp/ipo_icpcJSytEM.o
ipo: remark #11000: performing multi-file optimizations
ipo-1: remark #11006: generating object file /tmp/ipo_icpcJSytEM1.o
ipo-2: remark #11006: generating object file /tmp/ipo_icpcJSytEM2.o
ipo-3: remark #11006: generating object file /tmp/ipo_icpcJSytEM3.o
ipo-4: remark #11006: generating object file /tmp/ipo_icpcJSytEM4.o
Here are my questions:
1. Why does ipo generate errors when enabling -S option to generate Assembler Source File? How can I fix this?
2. How do I fix the warnings that I see when compiled with -S option disabled?
I am using compilerpro-12.0.0.084 for Linux on RHEL6.
Thank you,
Vishal Sharma.
0 Kudos
2 Replies
TimP
Honored Contributor III
738 Views
ipo doesn't know how to make .o files from .s files. If it did, it could treat them only has plain (not ipo) .o files. If you set options so as to store a .s file as .o, none of the tools will make suitable choices automatically.
ipo files aren't compatible among different compilers. If your boost library were built with ipo by a different compiler version, that might account for unresolved mangled function references. Also, if you build boost with ipo enabled, it probably won't work with the normal makefile, as the special ipo library tools are required. Did you succeed in building without ipo first?
12.0.0 is rather out of date now that there have been 7 subsequent updates.
0 Kudos
Vishal_Sharma
Beginner
738 Views
The boost libraries are built using gnu compiler without ipo. These warnings were encountered when I am building my application using Intel's compiler. My application uses Boost libraries. I will upgrade to the latest release.
Thanks,
Vishal.
0 Kudos
Reply