Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
27432 Discussions

The IA-32 target wrapper binary 'deftofd' is deprecated



after installing PSXE2018 update 1 I get following message when I compile my application:

deftofd: remark #10422: The IA-32 target wrapper binary 'deftofd' is deprecated.  Please use the compiler startup scripts to invoke the proper Intel(R) 64 compiler binary

I'm using Inter(R) Visual Fortran Compiler [IA32].

I read in the release notes that the 32-bit wrappers are deprecated in Intel Compiler 18.0 and that 'Compiler users need make changes to the environment to no longer invoke the 32-bit wrappers' but I didn't find any hints what changes I have to make to get rid of this message.

Why is a call of the 32-bit version of deftofd for the 32-bit Fortran Compiler deprecated?

My build rules address deftofd without any path. I thought that's right because switching to the 64-bit compiler version will switch to the corresponding deftofd version.

Do I have to add the full path to the 64-bit version of deftofd or do I have to change the order of the paths under Executable, or Libraries under Options / Intel compilers and Tools / Visual Fortran / Compilers? Doesn't this cause some trouble with the 32-Bit Version of the Fortran Compiler?


0 Kudos
1 Reply

I think I got one part of it.

I added a .props and .target file to define the rules for calling deftofd. In contrast to calling the fortran compiler the calling of deftofd does not follow the order of the paths listed in Executables under options/Intel Compilers and Tools / Visual Fortran / Compilers. Instead only the PATH variable of the environment is valid and my PATH variables contains %IFORT_COMPILER18%\windows\bin\intel64_ia32 as first entry.

This explains this message.

So the question is, why does the setup of PSXE2018 add %IFORT_COMPILER18%\windows\bin\intel64_ia32 and not %IFORT_COMPILER18%\windows\bin\intel64. Is it right to change %IFORT_COMPILER18%\windows\bin\intel64_ia32 to %IFORT_COMPILER18%\windows\bin\intel64 in my PATH variable?