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

unresolved symbol _fputs$unix2003

seen
Beginner
404 Views

hi All,

i have just upgraded my compiler and i get unresolved symbols to _fputs$unix2003

this code compiles fine with version 10.

can you direct my what could be the reason?

i am running OSX 10.5 and compiling a 32 bit executable.

bests,

0 Kudos
6 Replies
Milind_Kulkarni__Int
New Contributor II
404 Views

This is not a new issue.

Please visit the following links in ISN:--

http://software.intel.com/en-us/forums/showthread.php?t=68675

http://software.intel.com/en-us/forums/showthread.p hp?t=69540

http://software.intel.com/en-us/forums/showthread.p hp?t=69724

they address the same question as above.

I see that these $unix2003 symbols are present in 11.1 compilers, and not in 10.1 compilers, which you can grep the libs in lib path , using nm to find those symbols.

Which OS you are using? Is it Tiger or Snow Leopard. And the SDK (10.4 or 10.5)which you use to build your libraries should be the same as you use to build your application.

In http://software.intel.com/en-us/forums/showthread.p hp?t=69724 , its mentioned that, for building a universal binary to target Tiger, It's not possible with 11.1 compiler, since the 11.1 runtime libraries are built on Leopard, which has the $UNIX2003 symbols in them.

If that does not work, please post a small test-code that reproduces, and the compiler-linker flags to reproduce.

0 Kudos
seen
Beginner
404 Views

thank you for your reply. i have read the threads but the answer was not clear to me.

as i mentioned i am on 10.5 (leopard). i will double check which version of the SDK i am using. what is the easiest method to determine it?

do i understand correctly, that if i would like to use 11.1, i have to use the SDK for 10.5 (leopard)? do i have to specify any preprocessor flags?

0 Kudos
Milind_Kulkarni__Int
New Contributor II
404 Views

If you are using command-line , have you tried providing options to the compiler.

-isysroot /Developer/SDKs/MacOSX10.5u.sdk -mmacosx-version-min=10.5

If you using Xcode, go toBuild (tab) > Deployment > Mac OS X Deployment Target to see the Project Settings.

It might be that its using the 10.4 as default, in which case, those symbols are not resolved. Change the setting mentioned above to Mac OS X 10.5 and rebuild your target, and see what happens.

try changing SDK version to use (may need to change forprojects linked as well), and see whether error goes.

The matrix of supported OS/Xcode/Intel compiler support is:

http://software.intel.com/en-us/articles/performance-tools-for-software-developers-compatibility-of-intel-compiler-for-mac-os-x-and-xcode/

Regards

0 Kudos
seen
Beginner
404 Views

yes i was usign-mmacosx-version-min=10.4

now i use-mmacosx-version-min=10.5 and i get:

icpc: error #10106: Fatal error in /[...]/mac-32/bin/mcpcom, terminated by bus error

it is not very good, is it?

0 Kudos
Quoc-An_L_Intel
Moderator
404 Views

You need to provide more info. What version of the compiler are you using (icpc -V will give the info)?

ale$ icpc -mmacosx-version-min=10.5 hello.cpp

ale$ ./a.out

hello

ale$ icpc -V

Intel C++ Intel 64 Compiler Professional for applications running on Intel 64, Version 11.1 Build 20100203 Package ID: m_cproc_p_11.1.084

Copyright (C) 1985-2010 Intel Corporation. All rights reserved.

ale$ cat hello.cpp

#include &ltiostream>

int main (void)

{

std::cout << "hello" << std::endl;

}

ale$

0 Kudos
Quoc-An_L_Intel
Moderator
404 Views
I'll take a look if you can provide the code (preprocessed file) and the command linethat result in the error.
0 Kudos
Reply