Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!malgudi!caen!umich!vela!m.cs.uiuc.edu!wuarchive!decwrl!uunet!bellcore!snowplow!krohn From: krohn@snowplow.bae.bellcore.com (Eric Krohn(C++)) Newsgroups: comp.sys.3b1 Subject: Re: Problems with ISAM routines Keywords: ISAM C unix-pc Message-ID: <1991Apr30.200606.1386@bellcore.bellcore.com> Date: 30 Apr 91 20:06:06 GMT References: <1991Apr22.212151.4564@cs.umn.edu> Sender: usenet@bellcore.bellcore.com (Poster of News) Reply-To: krohn@bae.bellcore.com Distribution: bcr Organization: Bellcore Lines: 19 In article <1991Apr22.212151.4564@cs.umn.edu>, wagner@cs.umn.edu (Paul J. Wagner) writes: |> I've got a 7300 running 3.51 Foundation Set, 3.5 Development Set, but |> an old version of the ISAM routines (v.2.1). |> |> The problem is that some of the ISAM routines are not being found. I've |> tried accessing 3 of them - CreateISAM, OpenISAM, and StoreISAMRecord - |> the second is found, but the first and third are not. It sounds like the ISAM library was compiled on a pre-3.5 Development Set. If so, the symbol names got truncated to seven or eight characters, but your 3.5 compiler is not truncating the names (so called flexnames). Thus any long name you call in your code will not match the same name in the old library, because only the first part of the name is in the library. I think the 3.5 ld command has a -T option to truncate the names, giving you backward compatibility with old libraries. -- Eric Krohn krohn@bae.bellcore.com or uunet!bellcore!bcr!krohn