From: aa8vb at vislab.epa.gov (Randall Hopper)
Date: Fri, 16 Apr 1999 10:29:19 GMT
Subject: 1.5.2 broke IRIX module loading
In-Reply-To: <37161C26.C121CA1E@bioreason.com>; from Andrew Dalke on Thu, Apr 15, 1999 at 11:04:38AM -0600
References: <19990414110116.A1374923@vislab.epa.gov> <37161C26.C121CA1E@bioreason.com>
Message-ID: <19990416062919.A1501651@vislab.epa.gov>
Content-Length: 1424
X-UID: 1145                                                  

Thanks for the reply.

 |> "currstep" is the internal FORTRAN routine which has been zeroed-out.
 |
 |  But I don't know what zeroed-out means in this context.  For me
 |I found which were missing with "nm library.so | grep UNDEFINED"

I don't know exactly how they built this library, but somehow they
internalized the FORTRAN function names so that they are not exported by
the FORTRAN objects (e.g. currstep in currstep.o), while a dangling
reference exists to them in the C wrapper object (e.g. currstepc.o):

Symbols from currstep.o:

  [Index]  Value Size  Class  Type               Section    Name

  [0]     |    0|   |File    |ref=16               |Text     | /tmp_mnt/pub/storage/xcc/work/m3io/currstep.f
  [1]     |    0|   |Proc    |end=15 unsigned long |Text     | currstep_
->[2]     |   -8|   |Local   |unsigned long        |Abs      | currstep
                 
  Symbols frstepc
                 
  [Index]            Class    Type               Section    Name
                 
  [0]     |    0|   |File    |ref=15               |Text     | /tmp_mnt/pub/storage/xcc/work/m3io/currstepc.c
  [1]     |    0|   |Proc    |end=14 int           |Text     | currstepc
  [13]    |  420|   |End     |ref=1                |Text     | currstepc
->[101]   |    0|   |Proc    |                     |Undefined| currstep


If one links with and calls any of these wrappers (e.g. currstepc()), it
works fine.

Randall




