[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [TRNSYS-users] g95 compilation - lessons learnt and questions



Jean,
Fortran run-time libraries are a bit hard to define categorically; essentially, there are some mathematical functions that are not standard and that are contained in some additional libraries that must be linked into the project. The most commonly known library is the Lapack library, a lot of linear algebra functions that can be referenced by a subroutine if you link in the Lapack run-time libraries. The reason it is difficult to define which libraries you need is that different compilers put their non-standard functions in different libraries. As you probably know, if you get an "unresolved external" error when you try to compile your code, this means that there is routine or a function being referenced in your code that is not recognized by the compiler and it needs to be provided elsewhere. It sounds as though you have found a lot of them and that you have solved the problem by finding alternative functions that are native to G95 instead of ones that are referenced in a runtime library. My apologies that I cannot offer a "here is how to fix the problem" answer; hopefully some of the above information will help guide you.
Kind regards,
David


On 3/20/2012 00:32, jeannieboef wrote:
Dear Group,
My aim is to tweak the existing Type25 printer, so that I can dictate which connected inputs get printed AND to swich off the printer.

But for now I am concerned with recompiling and running the Type25 source code as a new type, Type202 as an external dll.

Having found the guidance on using the g95 compiler, I must say it helped a lot. Additionally, it seems the following fixes where needed for the source code:

JFIX must be substituted (this is an intel function which converts all sorts to Integer*4. I used INT().

DMOD is a version of mod that should actually work, but did not. An extra function DMOD was set up in the TRNSYSFunctions module. This funtion returns the remainder of a division operation.

Tabs in the source code are missleading as they are not the 5 leading spaces required before the line continuation character.

Variable format statements such as
1001 FORMAT(A<maxUnitLength>,A1)
are not supported. I hard coded these, but other solutions are workable.

Questions:
"Troubleshooting Multiple DLLs" chapter in the programmer guide...
what does "the Fortran run-time libraries" mean and where do I find the still lacking libraries and dlls to link in. The EXE folder contains the release trndll.dll which I have linked as well as loads of other stuff not documented.

Thanking you in advance,

Jean

PS yes I know I shouldn't use g95.

Sent from my iPhone
_______________________________________________
TRNSYS-users mailing list
TRNSYS-users@cae.wisc.edu
https://mailman.cae.wisc.edu/listinfo/trnsys-users


--
***************************
David BRADLEY
Principal
Thermal Energy Systems Specialists, LLC
22 North Carroll Street - suite 370
Madison, WI  53703 USA

P:+1.608.274.2577
F:+1.608.278.1475
d.bradley@tess-inc.com

http://www.tess-inc.com
http://www.trnsys.com