linux, solaris, C++, 3.1.1, and dynamic loading

From: Jon Berry <berryj_at_numen.elon.edu>
Date: Mon, 11 Aug 1997 18:04:14 -0400 (EDT)

I have finally upgraded my C++ system (w/stklos interface) to use STk
3.1.1. Because of old issues with 3.0b2, I had never enabled
dynamic loading before, but now I have it on. Everything worked fine
with Solaris 2.5.1 - I just configured STk with no options, made it,
installed it, linked in the libraries, and all was well. However, it's
not working with Linux (RedHat4.2 (2.0.30)). I can't seem to load hash.so
at run-time from a C++-linkage executable. Everything compiles and
links, but when I run the application and try to load hash.so, I get a
"can't resolve symbol" message for STk_nil, STk_cons, etc. -- I presume
all the symbols that the hash module references. After a couple of
hundred lines of those messages, I get:

*** Error at line 25 of file /usr/local/lib/stk/3.1.1/STk/hash.stk:
Cannot open object file (Unable to resolve symbol):
"/usr/local/lib/stk/3.1.1/Linux-2.X-ix86/hash.so"

If I just run the stk executable on Linux, it links dynamically with no
problem. The trouble comes when I try to make a C++ extension. I'm using
g++ 2.7.2.1. Are there any compiler/linker options that can save me
here? -fPIC doesn't help.

thanks,
        Jon Berry

p.s. I don't subscribe to the mailing list anymore, but check the web
     site from time to time. Please copy me in on any response.

Dr. Jon Berry Office: Whitley 204
Assistant Professor, Computing Sciences Campus Box: 2130
Elon College, N.C. 27244 Office Phone: (910)584-2290
Received on Tue Aug 12 1997 - 00:02:28 CEST

This archive was generated by hypermail 2.3.0 : Mon Jul 21 2014 - 19:38:59 CEST