[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: S-Lang for use with libc6 uploaded (source, i386)



I'm replying to this on debian-devel since many developers are
probably still not clear on the issues that come up when converting to
libc6.

On Jun 4, J.H.M. Dassen wrote
> Description: 
>  slang0.99.34 - A C programming library for user interfaces - shared library
>  slang0.99.34-dev - A C programming library for user interfaces - development kit
> Changes: 
>  slang (0.99.38-2.1) unstable; urgency=medium
>  .
>    * Non-maintainer release (OK-ed by Chris); slang should now be usable
>      with libc6.
>    * Removed dynamic dependency on libc5's libm.so (which caused problems
>      when linking S-Lang programs against libc6) by changing ELF_LINK in
>      Makefile.in.
>    * Replaced -dev package's dependency on "libc5-dev" by "libc-dev".
>    * Ugly hack (through sed) to prevent libc5 dependency of -dev package
>      (Depends for -dev package is determined from demo executable "calc",
>      which is not actually included in the package; the package does not
>      include anything that is actually depending on libc5.)

Ray, converting a library to libc6 is not this simple.  Only the most
trivial of libraries can actually be built to work both libc5 and
libc6 at the same time.  Because of this, we need to provide separate
slang libraries for libc5 and libc6.

Because the current slang0.99.34 and slang0.99.34-dev packages are
implicitly for libc5, we can't "re-use" them and therefore need to use
new package names for the new libc6 versions.  I've been recommending
people simply append a "g" to the package names in these cases to
identify them as being for glibc/libc6.  The new packages might then
be slang0.99.34g and slang0.99.34g-dev.

Making separate packages for libc5 and libc6 creates two problems
because both libraries will use the same file names and sonames.

First, the libraries can't be in the same directory as each other.  To
solve this problem, the current libc5 package provides two new
directories, /lib/libc5-compat and /usr/lib/libc5-compat.  These can
be used to put old libc5-based libraries which conflict with new
libc6-based ones.

Second, the dynamic linkers need to be able to determine which
libraries are for libc5 and which are for libc6.  To facilitate this,
each library must contain a run-time dependency on at least one of
libc, libm and libdl.

David
-- 
David Engel                        ODS Networks
david@sw.ods.com                   1001 E. Arapaho Road
(972) 234-6400                     Richardson, TX  75081


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .


Reply to: