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

ERROR DURING DYNAMIC LINK OF USER ROUTINE(S) OR IN-LINE FORTRAN

Yadav__Geetanjali
1,627 Views

Hello

I am trying to compile USER2 block subroutines for describing reaction kinetic in Aspen Plus

I had install visual studio 12/2013 and Intel Fortran compiler 2013SP1 for working with Aspen Plus10..........the file is also compiled in aspen simulation engine using aspcomp, asplink to create the dynamic link library without any error encountered. However, when I run the simulation, the calculation aborts with this error :

 

->Processing input specifications ...

  *** SEVERE ERROR
      ERROR DURING DYNAMIC LINK OF USER ROUTINE(S) OR IN-LINE FORTRAN
      PLEASE CHECK FILE _2249hqg.ld FOR LINKER MESSAGES.

  *** SEVERE ERROR
      COULD NOT RESOLVE USER OR IN-LINE FORTRAN SUBROUTINE(S):

      SUBROUTINE "TGREACT" IS MISSING

  *** SEVERE ERROR
      PROGRAM TERMINATED DUE TO UNRESOLVED ROUTINES

! Errors while processing input specificationsPlease help me what should I so to resolve this issue.

 

Thanka a lot

Geetanjali

0 Kudos
4 Replies
mecej4
Honored Contributor III
1,627 Views

What you are asking for is impossible. You may have built a DLL using source code that you have not shared with us, built by an agent (Aspen Plus) using scripts that are unknown to us, and something went wrong. The possibilities as to what went wrong are too numerous to ponder.

If there is a forum reader (FortranFan?) who uses Aspen Plus, that user may respond. Otherwise, please take the matter up with the makers of Aspen Plus and their user support groups.  You may need to provide full details of the build process, including log/message files such as _2249hqg.ld .

0 Kudos
DavidWhite
Valued Contributor II
1,627 Views

can you share with us the linker messages?

Also, check the DLL generated to ensure that the subroutine TGREACT has actually been exported.  If the symbol is not exported, then it cannot be run.  Dumpbin can be used to check the DLL.

 

0 Kudos
Steve_Lionel
Honored Contributor III
1,627 Views

If I read what she wrote correctly, the DLL was built with no linker errors, but the ASPEN PLUS software is trying to do a DllLoad/GetProcAddress for some routine named TGREACT and didn't find it. I assume that this routine is supposed to be in the Fortran code. If so, Geetanjali should make sure that there is a:

!DEC$ ATTRIBUTES DLLEXPORT :: TGREACT

line inside the TGREACT procedure. It's possible that there might also be a name decoration issue that might require an ATTRIBUTES ALIAS directive as well.)

As noted, we are working in the dark here, being unfamiliar with ASPEN PLUS and not seeing the Fortran code.

0 Kudos
DavidWhite
Valued Contributor II
1,627 Views

Sorry, I should have been clearer.

Aspen apparently has created it's own error report, which contains its linking errors: _2249hqg.ld

This may give some indication of what went wrong, such as the name decoration issue that Steve mentioned.

Comparing what Aspen is expecting to see, and what is in the DLL will help.

We use AspenPlus here, although it is many years since I have done so.  My colleague told me to check the Aspen linker files.

0 Kudos
Reply