Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
6708 Discussions

Linking problem on x86_64 Android with static libraries

Agmon__Morag
Beginner
837 Views

Hi

I am getting a linker error when I try to build a shared library with static linking of the Android IPP libraries for x86_64 (intel64):

Android/Sdk/ndk-bundle/build//../toolchains/x86_64-4.9/prebuilt/windows-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_
64-linux-android/bin\ld: error: libipps.a(pscosm7l9as_y8.o): requires dynamic R_X86_64_PC32 reloc against 'y8_ownsCosOne_m7y8' w
hich may overflow at runtime; recompile with -fPIC
 
Same build for x86 (32-bit) works just fine.
 
Any hint ?
0 Kudos
1 Solution
Igor_A_Intel
Employee
837 Views

Hi Morag,

the code freeze and final build for upd#2 was significantly earlier than you had submitted the bug. It is fixed in 2018 upd#3 and 2019 gold, upd#3 will be available on the web somewhere on/after ww22.3 (May, 30).

regards, Igor

View solution in original post

0 Kudos
10 Replies
Chao_Y_Intel
Moderator
837 Views

Morag,  which IPP version are you using?  We notice one issue in 2017 release, but it was fixed in the IPP 2017 package. 

Thanks,
Chao

0 Kudos
Agmon__Morag
Beginner
837 Views

Hello Chao

I am using the latest release, 2018.1.163 .

Regards,

Morag

0 Kudos
Agmon__Morag
Beginner
837 Views

Hi Chao,

Can you confirm that the issue can be reproduced on your side, and is going to be addressed ?

 

Regards,

Morag

0 Kudos
Igor_A_Intel
Employee
837 Views

Hi Morag,

you are right, several internal symbols in IPP (libipps.a) have wrong ".global" attribute that lead to the issue you've faced with:

000000000a51  000800000002 R_X86_64_PC32     0000000000000000 y8_ownsCosOne_m7y8 - 4
0000000010e1  001900000002 R_X86_64_PC32     0000000000000000 y8_ownsExpOne_m7 - 4
0000000010e6  001a00000002 R_X86_64_PC32     0000000000000700 y8_ownsExpOneF_m7 - 4
000000000dd1  002700000002 R_X86_64_PC32     0000000000000000 y8_ownsPowOneF_m7 - 4
000000004111  003f00000002 R_X86_64_PC32     0000000000000000 y8_ownsPowOne_m7 - 4
000000000a81  000900000002 R_X86_64_PC32     0000000000000000 y8_ownsSinOne_m7y8 - 4
000000001951  000900000002 R_X86_64_PC32     0000000000000000 y8_ownsTanOne_m7 - 4

already fixed, the fixed libs will be available in the nearest future in the further IPP releases/updates.

regards, Igor

0 Kudos
Agmon__Morag
Beginner
837 Views

Hi Igor,

Thank you.

We are looking forward for that.

Please do, as always, document these fixes in the release notes.

 

Best regards,

Morag

0 Kudos
Agmon__Morag
Beginner
837 Views

Hi

Issue still exists in 2018.2.199 (2018 Update 2).

In which version can you commit for a fix ?

BR,

Morag

0 Kudos
Igor_A_Intel
Employee
838 Views

Hi Morag,

the code freeze and final build for upd#2 was significantly earlier than you had submitted the bug. It is fixed in 2018 upd#3 and 2019 gold, upd#3 will be available on the web somewhere on/after ww22.3 (May, 30).

regards, Igor

0 Kudos
Agmon__Morag
Beginner
837 Views

Hi Igor,

 

Thank you for the information. We are looking forward that.

 

Br,

Morag

0 Kudos
Agmon__Morag
Beginner
837 Views

Hi

Confirm that issue is resolved with v2018.3

Thanks

0 Kudos
Igor_A_Intel
Employee
837 Views

Hi,

Thanks for notification,

Regards, Igor

0 Kudos
Reply