Forum Jump

Select Group :
Select Forum :
Sorted By :
Sort Order :
From The :
 
Thread Tools  Search this thread 
oku
Total Points:
210
Status Points:
160
Green Belt
September 3, 2009 3:19 AM PDT
link error with IPP 5.3, gcc 4.2.1, x86_64, MacOSX 10.6
Hi,

after upgrading MacOSX to 10.6 and switching my local development target architecture to x86/64 bit I get the following link error on my standard project:

ld: in /Library/Frameworks/Intel_IPP.framework/Versions/Current/lib/libippimerged.a(piswap_split_mx_ippiSwapChannels_8u_C4IR.o), ObjectFileAddressSpace::mappedAddress(0xFFFFFFFFFFFFFFFC) not in any section

What can I do about this?

Hints:
Versions: IPP 5.3.1.056, gcc 4.2.1 on MacOSX 10.6 build 10A432

lipo -info /Library/Frameworks/Intel_IPP.framework/Versions/Current/lib/libippimerged.a
yields
Architectures in the fat file: /Library/Frameworks/Intel_IPP.framework/Versions/Current/lib/libippimerged.a are: x86_64 i386

This used to work before.
Gennady Fedorov (Intel)
Total Points:
12,966
Status Points:
12,466
Brown Belt
September 6, 2009 11:01 PM PDT
Rate
 
#1
Quoting - oku
Hi,

after upgrading MacOSX to 10.6 and switching my local development target architecture to x86/64 bit I get the following link error on my standard project:

ld: in /Library/Frameworks/Intel_IPP.framework/Versions/Current/lib/libippimerged.a(piswap_split_mx_ippiSwapChannels_8u_C4IR.o), ObjectFileAddressSpace::mappedAddress(0xFFFFFFFFFFFFFFFC) not in any section

What can I do about this?

Hints:
Versions: IPP 5.3.1.056, gcc 4.2.1 on MacOSX 10.6 build 10A432

lipo -info /Library/Frameworks/Intel_IPP.framework/Versions/Current/lib/libippimerged.a
yields
Architectures in the fat file: /Library/Frameworks/Intel_IPP.framework/Versions/Current/lib/libippimerged.a are: x86_64 i386

This used to work before.



Gennady Fedorov (Intel)
Total Points:
12,966
Status Points:
12,466
Brown Belt
September 6, 2009 11:02 PM PDT
Rate
 
#2 Reply to #1

Oliver,

Please try to choose dynamic linking when you built the code on SnowLeo with IPP 5.3.
It seems that the issue you encountered causing by incompatibility with SnoLeo binutils ( partically in ld tool ).
--Gennady



oku
Total Points:
210
Status Points:
160
Green Belt
September 7, 2009 3:48 AM PDT
Rate
 
#3 Reply to #2
Hi Gennady,
thanks for answering. In the meantime, I figured out, how to set my build system back to use gcc 4.0 and 32 bit. This way, I can build a working 32 Bit application and link against the ipp, just like before - on Mac OS X 10.6.
I don't think, deploying all those dynamic ipp libraries is an option, but I will check anyway.
Until then, we will not be able to build a modern 64-bit-Cocoa-Application, which uses ipp.



Pavel Berdnikov
Total Points:
300
Status Points:
250
Green Belt
September 7, 2009 4:40 AM PDT
Rate
 
#4 Reply to #3

Hello!

Could you show the link string for x86_64 MacOSX 10.6? I've tested the IPP 5.3 libraries on MacOSX 10.5 x86_64 - all ok.

Pavel.



oku
Total Points:
210
Status Points:
160
Green Belt
September 8, 2009 12:53 AM PDT
Rate
 
#5 Reply to #3
It's not a Mac OS X version issue, but a gcc version issue. The link string looks the same. Using the gcc 4.0 linker, it works, using gcc 4.2.1, it doesn't. Maybe, you can reproduce it on Mac OS X 10.5 as well, by setting CC=gcc-4.2 in the makefile (or Xcode project or whatever you use). The only Mac OS X difference is, on 10.6, gcc 4.2.1 is the default and /usr/bin/gcc links to /usr/bin/gcc-4.2 instead of /usr/bin/gcc-4.0.

Maybe there is an incompatibility with the .o and .a object formats between the bin utils of the two gcc versions. I think, Intel could just recompile and relink the libraries with the newer tools and distribute those, too. This could be done, when finally updating ipp to 6.x (!) for the Mac OS X platform, since I don't think the money we payed is old and incompatible with current goods...

Note: On Linux, using ipp with the gcc 4.2.1 tools works. So, the incompatibilty probably lies within the OS specific object format (elf vs. Mach-O).



Artem Vorobiev (Intel)
Total Points:
420
Status Points:
370
Green Belt
September 8, 2009 7:06 AM PDT
Rate
 
#6 Reply to #5
Quoting - oku
It's not a Mac OS X version issue, but a gcc version issue. The link string looks the same. Using the gcc 4.0 linker, it works, using gcc 4.2.1, it doesn't. Maybe, you can reproduce it on Mac OS X 10.5 as well, by setting CC=gcc-4.2 in the makefile (or Xcode project or whatever you use). The only Mac OS X difference is, on 10.6, gcc 4.2.1 is the default and /usr/bin/gcc links to /usr/bin/gcc-4.2 instead of /usr/bin/gcc-4.0.

Maybe there is an incompatibility with the .o and .a object formats between the bin utils of the two gcc versions. I think, Intel could just recompile and relink the libraries with the newer tools and distribute those, too. This could be done, when finally updating ipp to 6.x (!) for the Mac OS X platform, since I don't think the money we payed is old and incompatible with current goods...

Note: On Linux, using ipp with the gcc 4.2.1 tools works. So, the incompatibilty probably lies within the OS specific object format (elf vs. Mach-O).


Hello,

I compiled a simple test on 64-bit Mac OS X 10.6 and doesn't obtain any issues. You may see the version of compiler I used and my linking line below:

bash-3.2# gcc --version
i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5646)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

bash-3.2# gcc -o test_em64t_static test2.c -I/Library/Frameworks/Intel_IPP.framework/Versions/5.3.1.056/em64t/include -L/Library/Frameworks/Intel_IPP.framework/Versions/5.3.1.056/em64t/lib -lippiemerged -lippimerged -lippcore

Probably it will helps you. If not, could you please provide exact link line you use?

Thanks,
Art


oku
Total Points:
210
Status Points:
160
Green Belt
September 8, 2009 9:37 AM PDT
Rate
 
#7 Reply to #6

Hello,

I compiled a simple test on 64-bit Mac OS X 10.6 and doesn't obtain any issues. You may see the version of compiler I used and my linking line below:

bash-3.2# gcc --version
i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5646)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

bash-3.2# gcc -o test_em64t_static test2.c -I/Library/Frameworks/Intel_IPP.framework/Versions/5.3.1.056/em64t/include -L/Library/Frameworks/Intel_IPP.framework/Versions/5.3.1.056/em64t/lib -lippiemerged -lippimerged -lippcore

Probably it will helps you. If not, could you please provide exact link line you use?

Thanks,
Art

Art,

thank you for trying, this is good news! I tried a simple sample for myself (just called ippiGetLibVersion()) and it worked as well!

Reproducing the exact situation I had last week, is a rather lengthy process (includes building Qt from the sources), and I don't have enough time left right now, so I will do it first thing tomorrow morning.

Thanks again,
oku



oku
Total Points:
210
Status Points:
160
Green Belt
September 8, 2009 9:52 AM PDT
Rate
 
#8 Reply to #7
Aha! Calling an actual image function shows the error:

I used this test program:

#include <ippi.h>

int main (int argc, char **argv)

{

const IppLibraryVersion* version = ippiGetLibVersion();

 

const Ipp8u* pSrc = 0;

IppiSize srcSize = {0, 0};

int srcStep = 0;

IppiRect srcROI = {0,0,0,0};

Ipp8u* pDst = 0;

int dstStep = 0;

IppiSize dstRoiSize = {0,0};

double xFactor = 0;

double yFactor = 0;

int interpolation = 0;

IppStatus status = ippiResize_8u_C3R (pSrc, srcSize, srcStep, srcROI, pDst, dstStep, dstRoiSize, xFactor, yFactor, interpolation);

 

return 0;

}


...and compiled and linked it using this line:


 

gcc-4.2 -arch x86_64 main.c -I /Library/Frameworks/Intel_IPP.framework/Versions/Current/include/ -L/Library/Frameworks/Intel_IPP.framework/Versions/Current/lib/ -lippiemerged -lippimerged -lippcore -o ippTest

 

 

which led to:

 

ld: in /Library/Frameworks/Intel_IPP.framework/Versions/Current/lib//libippimerged.a(piresnn_split_y8_ownResize16plN.o), ObjectFileAddressSpace::mappedAddress(0xFFFFFFFFFFFFFFFC) not in any section

collect2: ld returned 1 exit status




Artem Vorobiev (Intel)
Total Points:
420
Status Points:
370
Green Belt
September 9, 2009 6:22 AM PDT
Rate
 
#9 Reply to #8
Quoting - oku
Aha! Calling an actual image function shows the error:

I used this test program:

#include <ippi.h>

int main (int argc, char **argv)

{

const IppLibraryVersion* version = ippiGetLibVersion();

 

const Ipp8u* pSrc = 0;

IppiSize srcSize = {0, 0};

int srcStep = 0;

IppiRect srcROI = {0,0,0,0};

Ipp8u* pDst = 0;

int dstStep = 0;

IppiSize dstRoiSize = {0,0};

double xFactor = 0;

double yFactor = 0;

int interpolation = 0;

 

IppStatus status = ippiResize_8u_C3R (pSrc, srcSize, srcStep, srcROI, pDst, dstStep, dstRoiSize, xFactor, yFactor, interpolation);

 

return 0;

}


...and compiled and linked it using this line:


 

gcc-4.2 -arch x86_64 main.c -I /Library/Frameworks/Intel_IPP.framework/Versions/Current/include/ -L/Library/Frameworks/Intel_IPP.framework/Versions/Current/lib/ -lippiemerged -lippimerged -lippcore -o ippTest

 

 

which led to:

 

ld: in /Library/Frameworks/Intel_IPP.framework/Versions/Current/lib//libippimerged.a(piresnn_split_y8_ownResize16plN.o), ObjectFileAddressSpace::mappedAddress(0xFFFFFFFFFFFFFFFC) not in any section

collect2: ld returned 1 exit status



Hello,

I attached test case with makefile to this post. I built and run this example successfully. Could you please build it on your side?

Thanks,
Art

P.S. To unpack this archive please invoke the next command:

tar xzvf ipptest.tar.gz

It will create directory ipptest with makefile and test2.c files.



 Attachments 
oku
Total Points:
210
Status Points:
160
Green Belt
September 9, 2009 7:24 AM PDT
Rate
 
#10 Reply to #9
I attached test case with makefile to this post. I built and run this example successfully. Could you please build it on your side?

Your sample works. The output is:

ippiSwapChannels_8u_C3R PASSED
SRC
255   0   0   255   0   0   255   0   0   255   0   0
0   255   0   0   255   0   0   255   0   0   255   0
0   0   255   0   0   255   0   0   255   0   0   255

DST
0   0   255   0   0   255   0   0   255   0   0   255
0   255   0   0   255   0   0   255   0   0   255   0
255   0   0   255   0   0   255   0   0   255   0   0

This is interesting. There are functions which work, and some which don't? Did you in turn try my sample as well? The Resize call is one of those we actually use in the project, so that really matters.



Pavel Berdnikov
Total Points:
300
Status Points:
250
Green Belt
September 10, 2009 12:27 AM PDT
Rate
 
#11 Reply to #10
Quoting - oku

Your sample works. The output is:

ippiSwapChannels_8u_C3R PASSED
SRC
255   0   0   255   0   0   255   0   0   255   0   0
0   255   0   0   255   0   0   255   0   0   255   0
0   0   255   0   0   255   0   0   255   0   0   255

DST
0   0   255   0   0   255   0   0   255   0   0   255
0   255   0   0   255   0   0   255   0   0   255   0
255   0   0   255   0   0   255   0   0   255   0   0

This is interesting. There are functions which work, and some which don't? Did you in turn try my sample as well? The Resize call is one of those we actually use in the project, so that really matters.


Hi Oliver!

Unfortunatelly I don't have MacOSX 10.6 right now and can't reproduce your sample, but as I can see:

Artem uses ippStaticInit() function before using any other IPP functions and it is correct. The emerged + merged librararies - are the static dispatcher and merged static library and you should initialize static dispatche by calling ippStaticInit.

Please try to call ippStaticInit function before.

Thanks, Pavel

oku
Total Points:
210
Status Points:
160
Green Belt
September 10, 2009 3:43 AM PDT
Rate
 
#12 Reply to #11
Quoting - Pavel Berdnikov

Hi Oliver!

Unfortunatelly I don't have MacOSX 10.6 right now and can't reproduce your sample, but as I can see:

Artem uses ippStaticInit() function before using any other IPP functions and it is correct. The emerged + merged librararies - are the static dispatcher and merged static library and you should initialize static dispatche by calling ippStaticInit.

Please try to call ippStaticInit function before.

Thanks, Pavel

I did that and the linker still can't link:

main.c:

#include <ippi.h>

 

int main (int argc, char **argv)

{

ippStaticInit();

const IppLibraryVersion* version = ippiGetLibVersion();

 

const Ipp8u* pSrc = 0;

IppiSize srcSize = {0, 0};

int srcStep = 0;

IppiRect srcROI = {0,0,0,0};

Ipp8u* pDst = 0;

int dstStep = 0;

IppiSize dstRoiSize = {0,0};

double xFactor = 0;

double yFactor = 0;

int interpolation = 0;

IppStatus status = ippiResize_8u_C3R (pSrc, srcSize, srcStep, srcROI, pDst, dstStep, dstRoiSize, xFactor, yFactor, interpolation);

 

return 0;

}

command line:

gcc-4.2 -arch x86_64 main.c -I /Library/Frameworks/Intel_IPP.framework/Versions/Current/include/ -L/Library/Frameworks/Intel_IPP.framework/Versions/5.3.1.056/em64t/lib -lippiemerged -lippimerged -lippcore -o ippTest

ld: in /Library/Frameworks/Intel_IPP.framework/Versions/5.3.1.056/em64t/lib/libippimerged.a(piresnn_split_y8_ownResize16plN.o), ObjectFileAddressSpace::mappedAddress(0xFFFFFFFFFFFFFFFC) not in any section

collect2: ld returned 1 exit status


...as expected, because not calling the init function may lead to runtime errors, but not to link errors.

I did some more tests, and found out, it does not depend on the gcc version. These command lines work:

gcc-4.0 -arch i386 main.c -I /Library/Frameworks/Intel_IPP.framework/Versions/Current/include/ -L/Library/Frameworks/Intel_IPP.framework/Versions/Current/lib/ -lippiemerged -lippimerged -lippsmerged -lippsemerged -lippcore -o ippTest

gcc-4.2 -arch i386 main.c -I /Library/Frameworks/Intel_IPP.framework/Versions/Current/include/ -L/Library/Frameworks/Intel_IPP.framework/Versions/Current/lib/ -lippiemerged -lippimerged -lippsmerged -lippsemerged -lippcore -o ippTest

gcc-4.2
-arch x86_64 main.c -I /Library/Frameworks/Intel_IPP.framework/Versions/Current/include/ -L/Library/Frameworks/Intel_IPP.framework/Versions/Current/Libraries -lippi -lipps -lippcore -o ippTest

These don't:

gcc-4.0 -arch x86_64 main.c -I /Library/Frameworks/Intel_IPP.framework/Versions/Current/include/ -L/Library/Frameworks/Intel_IPP.framework/Versions/Current/lib/ -lippiemerged -lippimerged -lippsmerged -lippsemerged -lippcore -o ippTest

gcc-4.2 -arch x86_64 main.c -I /Library/Frameworks/Intel_IPP.framework/Versions/Current/include/ -L/Library/Frameworks/Intel_IPP.framework/Versions/Current/lib/ -lippiemerged -lippimerged -lippsmerged -lippsemerged -lippcore -o ippTest

So, unlike, what I suspected earlier, both, gcc 4.0 and 4.2 work with static libraries when targeting the 32 bit architecture on MacOSX 10.6, and fail, when switching to the x86_64 architecture. But this works as well, when using dynamic linking.



Pavel Berdnikov
Total Points:
300
Status Points:
250
Green Belt
September 10, 2009 1:02 PM PDT
Rate
 
#13 Reply to #12

Hi Oliver!

Yes it is the tools conflict, I can reproduce this situation. I'll investigate it and report you about result.

Thank you, Pavel



mikaelgrev
Total Points:
595
Status Points:
95
Brown Belt
September 14, 2009 11:49 AM PDT
Rate
 
#14 Reply to #13

Hello,

FYI, I have problem with this in 10.6 as well.

Cheers,
Mikael


mikaelgrev
Total Points:
595
Status Points:
95
Brown Belt
September 17, 2009 2:55 AM PDT
Rate
 
#15 Reply to #13
Hello again,

Have you made any progress on this issue? I would really like the 64 bit compliation. For me both 32 and 64 bit works on 10.5 but only 32 bit works on 10.6. 64 bit give me the error in the original post.

Btw, I use the 6.1u1 version with the IPP compiler. Static linking (can't go dynamic).

Cheers,
Mikael


Pavel Berdnikov
Total Points:
300
Status Points:
250
Green Belt
September 17, 2009 5:34 AM PDT
Rate
 
#16 Reply to #15

Hello, the investigaion of this problem shows incompatilbe between compiler and ld from MacOSX 10.6. No such problem on MacOSX 10.5. I don't know yet is it the problem of compiler or it is the problem of ld. It is inverstigating right now.
I could suggest only one way rign now: use MacOSX 10.5 for linking your application. It works well.

Pavel.



mikaelgrev
Total Points:
595
Status Points:
95
Brown Belt
September 17, 2009 1:44 PM PDT
Rate
 
#17 Reply to #16

Quoting - Pavel Berdnikov

Hello, the investigaion of this problem shows incompatilbe between compiler and ld from MacOSX 10.6. No such problem on MacOSX 10.5. I don't know yet is it the problem of compiler or it is the problem of ld. It is inverstigating right now.
I could suggest only one way rign now: use MacOSX 10.5 for linking your application. It works well.

Pavel.


Thanks Pavel.


oku
Total Points:
210
Status Points:
160
Green Belt
September 18, 2009 2:07 AM PDT
Rate
 
#18 Reply to #16
Quoting - Pavel Berdnikov

Hello, the investigaion of this problem shows incompatilbe between compiler and ld from MacOSX 10.6. No such problem on MacOSX 10.5. I don't know yet is it the problem of compiler or it is the problem of ld. It is inverstigating right now.
I could suggest only one way rign now: use MacOSX 10.5 for linking your application. It works well.

Pavel.


Hi Pavel,

what about the other way round? If you create the static ipp libs on 10.6, can you link them on 10.5? If this is the case, Intel could just distribute new libs (created on 10.6).

oku




Pavel Berdnikov
Total Points:
300
Status Points:
250
Green Belt
September 18, 2009 6:22 AM PDT
Rate
 
#19 Reply to #18
Quoting - oku

Hi Pavel,

what about the other way round? If you create the static ipp libs on 10.6, can you link them on 10.5? If this is the case, Intel could just distribute new libs (created on 10.6).

oku



Hi All!

Unfortunatelly it doesn't help, the simple example:

$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.6
BuildVersion: 10A333

$ icc -V
Intel(R) C Intel(R) 64 Compiler Professional for applications running on Intel(R) 64, Version 11.1 Build 20090325
Copyright (C) 1985-2009 Intel Corporation. All rights reserved.

$
$ cat test.c

#define CHANNELS_C1 1
#define CHANNELS_C3 3
#define CHANNELS_AC4 4
#define MAX( a, b ) ( ((a) > (b)) ? (a) : (b) )

__inline float Max3Vert_32f(const float* src, int srcStep)
{
  float x = MAX(*src, *((float*)((char*)src+srcStep)));
  return MAX(x, *((float*)((char*)src+2*srcStep)));
}

__inline float Max3_32f(const float* src)
{
  float x = MAX(src[0], src[1]);
  return MAX(x, src[2]);
}


int myfunc( const float* pSrc, int srcStep, float* pDst, int width)
{
  int c;
  float local[CHANNELS_C3*3];
  int locIndex= 0;

  for(c=1; c<width; c++) {
    local[locIndex] = Max3Vert_32f(pSrc, srcStep);
    local[locIndex+CHANNELS_C3] = Max3Vert_32f(pSrc+1, srcStep);
    local[locIndex+CHANNELS_C3*2]= Max3Vert_32f(pSrc+2, srcStep);
    pDst[0+CHANNELS_AC4] = Max3_32f(local);
    pDst[1+CHANNELS_AC4] = Max3_32f(local+CHANNELS_C3);
    pDst[2+CHANNELS_AC4] = Max3_32f(local+CHANNELS_C3*2);
    locIndex++;
    if(locIndex>2) locIndex = 0;
    pSrc += CHANNELS_AC4;
    pDst += CHANNELS_AC4;
  }
  return 0;
}

$ icc -c test.c -o test.o
$
$ echo -e "_myfunc" >lib.script
$
$ libtool -dynamic -arch_only x86_64 -exported_symbols_list ./lib.script test.o -o libmytest.dylib
ld: in test.o, ObjectFileAddressSpace::mappedAddress(0xFFFFFFFFFFFFFFFC) not in any section
libtool: internal link edit command failed

go to the MacOSX 10.5:

$sw_vers
ProductName: Mac OS X
ProductVersion: 10.5.6
BuildVersion: 9G66

And try to link the same object into dynamic library:

$libtool -dynamic -arch_only x86_64 -exported_symbols_list ./lib.script test.o -o libmytest.dylib
$

No problem, recompile this sample on MacOSX 10.5 and link again:

$icc -V
Intel(R) C Intel(R) 64 Compiler Professional for applications running on Intel(R) 64, Version 11.1 Build 20090325
Copyright (C) 1985-2009 Intel Corporation. All rights reserved.

$
$icc -c test.c -o test.o
$libtool -dynamic -arch_only x86_64 -exported_symbols_list ./lib.script test.o -o libmytest.dylib
$

No problem.

I don't know: is it the problem of the Intel compiler or the problem of new ld in MacOSX 10.6, but the problem is on the MacOSX 10.6 and no problem on the MacOSX 10.5.

Because right now the single way to use ld from MacOSX 10.5

Pavel

oku
Total Points:
210
Status Points:
160
Green Belt
September 18, 2009 8:17 AM PDT
Rate
 
#20 Reply to #19
Yes, you have proven (like me), that a static IPP library, which was created on MacOSX 10.5 (or before), can not be used on MacOSX 10.6. But maybe a static IPP library created on MacOSX 10.6 can be linked on MacOSX 10.5?



Pavel Berdnikov
Total Points:
300
Status Points:
250
Green Belt
September 21, 2009 7:46 AM PDT
Rate
 
#21 Reply to #20
Quoting - oku
Yes, you have proven (like me), that a static IPP library, which was created on MacOSX 10.5 (or before), can not be used on MacOSX 10.6. But maybe a static IPP library created on MacOSX 10.6 can be linked on MacOSX 10.5?


It doens't depend on which version of MacOSX used for compiling, I compile my test.c on MacOSX 10.6 and the problem are. It depend only from Intel compiler and version of ld. It is the reason why I suggest to use MacOSX 10.5 for linking your application.
I don't know what the reason of problem: Intel compiler or new version of ld, it is investigation right now.

Pavel.

mikaelgrev
Total Points:
595
Status Points:
95
Brown Belt
September 21, 2009 12:02 PM PDT
Rate
 
#22 Reply to #21

Pavel,

Do you work at or for Intel? If not, is there anyone at Intel that is looking at this?

I want my Snow Leopard.

Cheers,
Mikael


oku
Total Points:
210
Status Points:
160
Green Belt
September 22, 2009 1:48 AM PDT
Rate
 
#23 Reply to #21
Quoting - Pavel Berdnikov

It doens't depend on which version of MacOSX used for compiling, I compile my test.c on MacOSX 10.6 and the problem are.
Maybe I didn't make myself clear enough: I was talking about the ipp library itself. Genrerally, static libraries created on MacOSX 10.6 can of course be linked on MacOSX 10.6!
It depend only from Intel compiler and version of ld. It is the reason why I suggest to use MacOSX 10.5 for linking your application.
I don't know what the reason of problem: Intel compiler or new version of ld, it is investigation right now.

I do not use the Intel compiler at all. I am using gcc for compiling, as well as for linking, so the Intel compiler can not be the problem when USING the library. It CAN on the other hand be the problem when CREATING the static IPP libs (I guess, Intel use their own compiler for compiling the IPP).

I can not test this myself, since I would need the IPP source code. Only somebody at Intel with access to the IPP source code can do this: Create the static IPP libs on MacOSX 10.6 using the bin utils available there. I am almost sure, those could be linked on MacOSX 10.6. The only question would be, could those be linked on MacOSX 10.5 as well? If this is the case, Intel could distribute those and all would be well.





Qale (Intel)
Total Points:
2,630
Status Points:
2,130
Brown Belt
September 23, 2009 10:56 AM PDT
Rate
 
#24 Reply to #23

This issues looks like it's related to a known issue with the compiler documented here.  We found this problem during the 11.1 compiler beta, and the compiler / compiler runtime libraries was fixed during the 11.1 beta.  This was both a problem with the compiler, and a change in the ld tool for OSX 10.6.



It looks like the performance libraries are built with an older compiler.

mikaelgrev
Total Points:
595
Status Points:
95
Brown Belt
September 23, 2009 11:05 AM PDT
Rate
 
#25 Reply to #24
Quoting - Qale (Intel)

This issues looks like it's related to a known issue with the compiler documented here.  We found this problem during the 11.1 compiler beta, and the compiler / compiler runtime libraries was fixed during the 11.1 beta.  This was both a problem with the compiler, and a change in the ld tool for OSX 10.6.



It looks like the performance libraries are built with an older compiler.

Hello Qale,

Is there any official (or unofficial, which I won't hold you to) date for an update that fixes this?

Cheers,
Mikael




Intel Software Network Forums Statistics

8470 users have contributed to 31601 threads and 100650 posts to date.
In the past 24 hours, we have 29 new thread(s) 115 new posts(s), and 162 new user(s).

In the past 3 days, the most popular thread for everyone has been gemm(A,A,A) like possible? The most posts were made to gemm(A,A,A) like possible? The post with the most views is Dear Steve, excuse me for a d

Please welcome our newest member kopernikus