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

ipo error while compiling

Prashanthns
Beginner
600 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
Honored Contributor III
600 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.
0 Kudos
Om_S_Intel
Employee
600 Views
I also think thinkexternal linkage have been suppressed by inlining.
0 Kudos
aazue
New Contributor I
600 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
0 Kudos
Prashanthns
Beginner
600 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
0 Kudos
aazue
New Contributor I
600 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

0 Kudos
Reply