Legacy Version for Download? (or direction bringing old code up to date)

31 views
Skip to first unread message

Michael Downing

unread,
May 17, 2013, 12:08:41 AM5/17/13
to dislin...@googlegroups.com
Hello All

I've been asked by my adviser to re-open work on a code I worked on almost 5 years ago. I have obtained and been going through my source code, have set up the same compilers we used previously, and set up the latest version of DISLIN. I got the example codes provided with the DISLIN download running as well as used some of the samples off of the site to test that I had the right compiler flags and whatnot to proceed with recompiling the old codes.

For the short term, there are a few bugs that we want to fix for an upcoming conference, so my priority is to get things fixed and compiled quickly (in a perfect world). Long term, I do intend to refactor the code to work with the latest DISLIN libraries. However, I'm unable to compile the codes due to the errors listed below, which I'm fairly certain (correct me if I'm wrong) are due to version differences in DISLIN.

Platform - Linux, Ubuntu and Windows
Compiler - gfortran v. 4.6.3
Language - FORTRAN 90

When I try to compile my code, I receive a large number of errors (the compiler caps out at 25, all the same error) along the lines of:

T-AXI Blade v1-8-1.f90:3314.18:
     Call SWGCBK(ID_DELTAT,change_vals)
                                            1
Error: Interface mismatch in dummy procedure 'callbk' at (1): INTENT mismatch in argument 'id'

Originally, these codes were compiled with the DISLIN library v.9.3 and a finished project was obtained without these errors. I've tried to find a copy of these older libraries online, but with no luck.

I'm looking for either the older libraries to download (Windows and Linux both preferably, though one will suffice), or a bit of direction (google hasn't been much help) in regards to fixing these errors.

Thanks in advance!

Helmut Michels

unread,
May 17, 2013, 7:20:19 AM5/17/13
to dislin...@googlegroups.com

Hi Michael,

I think that the error message has nothing to do with the Dislin version, more with the gfortran version 4.6.3.
How is the callback routine change_vals declared in your program. It should be something like:

      interface
        subroutine change_vals (id)
           implicit none
           integer, intent (in) :: id
        end subroutine change_vals
      end interface

Best regards,

Helmut

Michael Downing

unread,
May 20, 2013, 10:23:45 AM5/20/13
to dislin...@googlegroups.com
Helmut

It seems we had gotten away with using "intent(in out)" in place of of "intent(in)" on the older compilers. I've made that change and have been able to compile successfully with the up-to-date versions of DISLIN and gfortran.

Thanks for the quick response, Best Regards

Michael
Reply all
Reply to author
Forward
0 new messages