Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

[Fortran] Problem with subroutine

  1. Oct 4, 2012 #1
    Hello everyone ;

    I have tried to run a program which has many subrotines so I control each of them.But, when I run one of them, the below error message is seen;

    /tmp/ccMqKR9L.o: In function `MAIN__':
    getg0.f:(.text+0x73c): undefined reference to `readin_'
    collect2: ld returned 1 exit status

    subroutine readin is used to read some constant from an infile (5,*) . the other subroutine getg0.f use some constants from infile to calculate g.For example;
    in getg0:
    do 346 id = 1,Nd

    mi(id) = 1.d0 / ( dexp ( ( Ed(id) / 2.d0 ) / T ) + 1.d0 )

    346 continue

    and Ed(id) values are readin from infile via readin.f.

    read(5,*) UU(1), UU(2), UU(3), UU(4), UU(5)
    read(5,*) Ed(1), Ed(2), Ed(3), Ed(4), Ed(5)

    1.d0, 2.d0, 3.d0, 4.d0, 1d0
    -7.24068, -5.32445, -6.63223, -6.40883, -7.66001

    readin following
    UU(1), UU(2), UU(3), UU(4), UU(5)
    Ed(1), Ed(2), Ed(3), Ed(4), Ed(5)

    can everyone help me about this error?

    Thanks a lot
    Last edited: Oct 4, 2012
  2. jcsd
  3. Oct 4, 2012 #2


    Staff: Mentor

    The error you show indicates that there's a problem in getg0.f, so show us the code in that file.
  4. Oct 4, 2012 #3


    User Avatar
    Homework Helper

    Does the undefined reference error occur at link time or at load / run time (dynamic linking)? Any chance you misspelled readin (with an I) as readln (with an L) (or vice versa)?
  5. Oct 5, 2012 #4
    actually, when I write inputs by hand, there is no problem.However, when readin is read inputs from infile, the error message is seen so I think it is not related to getg0.

    I control spelling and there is no problem.
  6. Oct 5, 2012 #5


    Staff: Mentor

    The error message says that you have an undefined reference in getg0.f, so it seems reasonable to look there for a problem.

    Please show us the code you have in getg0.f.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook