login
Header Space

 
 

Shared Libraries Considered Harmful

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
Date: Tuesday, August 11, 1992 - 5:01 pm

Some days ago, I finally downloaded GCC2.2.2. Before installing it, I
conscientiously removed all traces of the previous C compiler, GCC2.11.c.
I was supposed to, wasn't I?

Now, for many executables, I get the aborting message

....: can't load library '/lib/libc_v2_11c'

Hindsight says these are programs I compiled with 2.11.c. The library
name is hard-coded, is it? Well, at least now I understand the posts about
utilities that allow you to check programs for shared library use...

It seems that if you compile things with shared libraries, you have to
keep every version of every library you've ever used around. With a new
GCC version out every 2 months or so, this will gobble disk space. The
alternative is to recompile things that you compiled a week ago and
that haven't changed in the meantime: a pain.

In view of this, the point of shared libraries is elusive. How is a routine
in a shared library located, anyhow? As an absolute displacement from the
library file's start?  Would that be why the library file's name (with
version) is hard-coded? Why not use the name of the routine, PRINTF, say?

I MUST be missing an obvious point...

-- 
=============================================================================
Sakari Aaltonen                             Helsinki University of Technology
Email: sakaria@vipunen.hut.fi
---  You can't keep a Finn down without him getting all red in the face  ----
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Shared Libraries Considered Harmful, Sakari Aaltonen, (Tue Aug 11, 5:01 pm)
speck-geostationary