Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Ronald_G_Intel
Moderator
363 Views

Link bug Abaqus (others) names not lowercase /iface:cref bug Win v2021 use /names:lowercase

Bug in Windows (only) ifort in oneAPI versions 2021.1.1, 2021.1.2, and 2021.2.x

Quick answer:  if you use /iface:cref, for example to compile libraries to use with Abaqus, add option /names:lowercase.  This will fix link issues. In VS Project Properties it is under:

 Fortran
   -> External Procedures -> Name Case Interpretation -> "Lower Case (/names:lowercase)

Symptoms:  Abaqus and other users who rely on /iface:cref will receive link time issues (names not found, unresolved references).  Afffects Windows ifort only ( /iface is Windows-only option ).  Affects oneAPI ifort compilers versions 2021.1.1, 2021.1.2 and 2021.2

Cause:  /iface:cref should set all names ( procedures, data ) to LOWERCASE.  It is not doing this.  Thus, names default to uppercase in object files and libraries.  Thus, when Abaqus and other programs look for your functions at link time the references will be unresolved.  For example:

subroutine foo( )

should be exported in object files as "foo" when option /iface:cref option is used.  However, this bug is exporting "FOO" which is the IFORT default of uppercase names.

Resolution:  We have a fix.  It will appear in the next update release.  For now use workaround /names:lowercase when using /iface:cref

 

Workaround:  add compiler option "/names:lowercase" to your options:

/iface:cref  /names:lowercase

 

 

0 Kudos
0 Replies
Reply