Intel® C++ Compiler
Support and discussions for creating C++ code that runs on platforms based on Intel® processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

ipo error while compiling

Prashanthns
Beginner
165 Views
Hi All,

I am trying to compile a codec using icc. i am able to compile it with gcc but while compiling with icc i am getting the following error

ipo: remark #11000: performing multi-file optimizations
ipo: remark #11005: generating object file /tmp/ipo_iccxddxdq.o
/tmp/ipo_iccxddxdq.o: In function `main':
ipo_out.c:(.text+0x1b3): undefined reference to `vpx_codec_vp8_dx_algo'
ipo_out.c:(.text+0x68d): undefined reference to `vpx_codec_vp8_dx_algo'
ipo_out.c:(.text+0x6c7): undefined reference to `vpx_codec_dec_init_ver'
ipo_out.c:(.text+0x717): undefined reference to `vpx_codec_control_'
ipo_out.c:(.text+0x7fd): undefined reference to `vpx_codec_decode'
ipo_out.c:(.text+0x890): undefined reference to `vpx_codec_get_frame'
ipo_out.c:(.text+0x128c): undefined reference to `vpx_codec_destroy'
ipo_out.c:(.text+0x139c): undefined reference to `vpx_codec_error'
ipo_out.c:(.text+0x158d): undefined reference to `vpx_codec_error_detail'
ipo_out.c:(.text+0x15a1): undefined reference to `vpx_codec_error'
ipo_out.c:(.text+0x15ef): undefined reference to `vpx_codec_error'
ipo_out.c:(.text+0x161f): undefined reference to `vpx_codec_error'
ipo_out.c:(.text+0x1651): undefined reference to `vpx_codec_vp8_dx_algo'
ipo_out.c:(.text+0x1682): undefined reference to `vpx_codec_vp8_dx_algo'
/tmp/ipo_iccxddxdq.o: In function `usage_exit':
ipo_out.c:(.text+0x3971): undefined reference to `vpx_codec_vp8_dx_algo'
ipo_out.c:(.text+0x3976): undefined reference to `vpx_codec_iface_name'

Does anyone know how to solve this??
And also whats the actual procedure to compile the code using icc using makefiles ??

Thanks in advance
Regards,
Prashanth
0 Kudos
5 Replies
TimP
Black Belt
165 Views
Perhaps an earlier error prevented the missing functions from compiling successfully. There's a chance that the external linkage of those functions may have been suppressed by in-lining.
A correct makefile for gcc should work with icc if you don't invoke -ipo or -fast, and use icc to drive link as well as compile steps. You may wish to back off aggressive optimizations by setting -fp-model source.
Once you have it working, if the makefile builds libraries which you want compiled with -ipo, you will need to fix those library build steps to work with the icc supplied ar tool, and, if you insist on invoking the linker directly, use the supplied ld tool.
Om_S_Intel
Employee
165 Views
I also think thinkexternal linkage have been suppressed by inlining.
aazue
New Contributor I
165 Views
Hi
you have wrote:
i am able to compile it with gcc
With the Gnu compiler you having use similar option ,same, flag -flto ? or without ?
Regards
Prashanthns
Beginner
165 Views
Quoting bustaf
Hi
you have wrote:
i am able to compile it with gcc
With the Gnu compiler you having use similar option ,same, flag -flto ? or without ?
Regards

In GCC i am not using that flag. Now i have removed this -ipo option to make it work

Regards,
Prashanth
aazue
New Contributor I
165 Views
Hi
Essential is that your souces can working correctly...
If you having last compiler GNU 4.5.1 or 4.6
it can be interesting that you test with flag -flto
As better, is with gnu compiler you have (dump)
files for find exactly where is problem.
Regards

Reply