Compiling Perl 5.10 with ICC

Compiling Perl 5.10 with ICC

Bild des Benutzers buggy1

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.

7 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.
Bild des Benutzers TimP (Intel)

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.

Bild des Benutzers buggy1

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).

Bild des Benutzers TimP (Intel)

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.

Bild des Benutzers buggy1
Bild des Benutzers TimP (Intel)

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?

Bild des Benutzers Jennifer J. (Intel)

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

Melden Sie sich an, um einen Kommentar zu hinterlassen.