Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Apr 1996 08:25:58 -0700 (PDT)
From:      "Eric J. Schwertfeger" <ejs@bfd.com>
To:        hackers@freebsd.org
Subject:   How to make g++ shared libraries?
Message-ID:  <Pine.BSF.3.91.960417081909.10222A-100000@harlie.bfd.com>
In-Reply-To: <Pine.BSF.3.91.960415161453.3795B-100000@harlie.bfd.com>

next in thread | previous in thread | raw e-mail | index | archive | help

Well, I got no response on questions, so I'll take this to hackers.

I'm trying to create a shared version of the Cvo (Cray Visual Objects) 
c++ library, but it isn't working.  I followed the same steps that I do 
to make regular c shared libraries (gcc with -c and -fpic, then 
ld -Bshareable to create the libCvo.so.1.0.  This creates a library that 
I can link against, but when I try to execute the resulting program, I 
get:

Cvo-24: Global constructors were probably not called.
Cvo-25: The application was probably linked improperly
Cvo-22: Atom 0 is out of range
Abort trap (core dumped)

I also noticed that the shared library is smaller than the equivelent 
unshared library.

For those that are curious, Cvo is a c++ library that sits on top of 
libX11 (no Xt, Xaw, etc), and provides a motif look-and-feel.  Its design 
intention is to allow decent programs with minimal coding, and to 
generate programs of minimal size (which doesn't work too well when 
you're linking in c++ static libraries, which is why I'm working on this).



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.91.960417081909.10222A-100000>