Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
27 Views

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

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

Geetanjali
0 Kudos
4 Replies
Highlighted
Black Belt
27 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
Highlighted
Black Belt
27 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
Black Belt Retired Employee
27 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.

--
Steve (aka "Doctor Fortran") - https://stevelionel.com/drfortran
0 Kudos
Highlighted
Black Belt
27 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