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

Compiling Perl 5.10 with ICC

buggy1
Beginner
550 Views
Hello,

I am new to Intel compiler and tried to compile Perl 5.10 with ICC. I used the commandline from ICC, I edited the makefile, so that cc = icl and link32 = xilink
But with those changes I get error in linker ___intel_new_proc_init that this is not found.

Of course I hope you can tell me where I have to put the optimization options in that makefile.

Thank you for your help.
0 Kudos
6 Replies
TimP
Honored Contributor III
550 Views
This looks like you may not have permitted ICL to choose the libraries at link time. I'd hate to try to guess which Makefile you refer to.
0 Kudos
buggy1
Beginner
550 Views
I changed into the win32 subdirectory of perl 5.10 and just typed "nmake". I edited the file "makefile" so I think nmake just uses the "makefile" (without extension).
0 Kudos
TimP
Honored Contributor III
550 Views
So I guess you found some version of Perl source which includes win32 support, which might exclude several versions which might otherwise be picked, and may or may not imply intention to work with nmake or visual studio. Even an expert on nmake would likely have to see your version of the makefile to have a chance to answer your question.
0 Kudos
buggy1
Beginner
550 Views
0 Kudos
TimP
Honored Contributor III
550 Views
I see a Makefile there that is documented as having been run with NetWare and CodeWarrior 8 years ago. This would incline me even more strongly to take a combination of version and tools known to work routinely (e.g. from cygwin distribution), verify its working, and, if still motivated to try with current microsoft libraries (and eventually, Intel compiler), try to make the least possible changes at any one time. Can't you create a log showing what it was doing at the point where it failed?
0 Kudos
JenniferJ
Moderator
550 Views
We've seen similar link errors from others. it's likely because that you're building x64 code but linked with the ia32 "libirc.lib" or "libircmt.lib"; or the other way around.

So check where the lib path is set and make sure it matches the compiler used.

Jennifer
0 Kudos
Reply