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

Re: netscape library dependencies?



Chris Ryan wrote:
> 
> Ed Cogburn wrote:
> >
> > Chris Ryan wrote:
> > >
> > > Hi,
> > >
> > > Further to this problem: I assumed that netscape is libc5 only, and
> >
> >         There is a libc6 version of NS Communicator on ftp.netscape.com.
> > As you go deeper in the path, select the 'unsupported' branch when
> > you come to it.  The libc6 based Communicator tarballs have
> > 'glibc2' in their name (glibc2=libc6).
> >
> > > redirected library loads to /usr/lib/libc5-compat (using
> > > LD_LIBRARY_PATH). This found the libc5 versions of most libraries, and
> >
> >         I haven't found LD_LIBRARY_PATH necessary, at least it wasn't
> > necessary for wp8 (also libc5 based).  Just make sure the
> > libc5-compat paths are in /etc/ld.so.conf, and you've updated
> > things with 'ldconfig'.
> >
> > > the libg++.so.27 and libstdc++.so.27 that are ONLY in the libc5
> > > directory. But this showed that a library libXpm.so.4 was not found.
> > > This appears to be only in the libc6 set.
> > >
> > > This is very confusing. It appears that netscape uses both libc5
> > > libraries (libg++.so.27 and libstdc++.so.27) as well as libc6 ones (eg.
> > > libXpm.so.4). But this is unlikely/impossible, as far as I can see. So,
> > > is there a libc5 version of libXpm.so.4 somewhere?
> > >
> > > Cheers, Chris.
> >
> >         It is confusing, alas.  What you stumbled on is the fact that NS
> > Communicator (or are you using the limited 'navigator' version?)
> > is built against both libc6 and *X Window* libs.  The problem is
> > the X libs NS wants *themselves* have to be built under libc5.  So
> > the libs in usr/lib/libc5-compat/ are mainly X libs that are
> > needed for this reason.  The libc5 lib itself is in /lib/.  The
> > Xpm lib you're looking for is a libc5-built X Window lib.  So to
> > get NS working, you need 'libc5', 'xlib6', and 'xpm4.7' from the
> > 'oldlibs' section as displayed in dselect.
> >         At the moment I can't remember if the C++ libs are important.  I
> > *think* the old libc5 versions of NS can use the current ones.  On
> > the other hand I have an older version of libstdc++ installed
> > (oldlibs section), and I don't know why.
> >
> > --
> > Ed C.
> 
> Thanks for this Ed. I'm new to Linux, and so there's alot of info in
> your message here to think about... But I'm still unclear on a couple of
> things:
> 
> 1. I got NS Communicator (not just the base nav as I implied) by
> following the www download links on NS home page. As you say, this
> appears to be libc5.


	Use ftp protocol and connect to ftp.netscape.com, and follow the
'communicator' sub dir.  You'll eventually run into a dir with
'supported' and 'unsupported' sub dirs.  Following 'unsupported'
will eventually get you to the libc6 version (it has 'glibc2' in
its name).


> 2. I have NS working now by installing xpm4.7 (libc5 version of
> libXpm.so.4 from /oldlibs) and by using LD_LIBRARY_PATH assigned to
> /usr/lib/libc5-compat. (I now have a script linked from /usr/lib that
> uses LD_LIBRARY_PATH.)

	I don't understand this.  I *never* needed to mess with
LD_LIBRARY_PATH for either NS (back when I was using the libc5
version, or Wordperfect (wp8), which also needs libc5.


> 3. I worry about having both /usr/lib/libc5-compat and X11 libs both in
> a search list (this I assume is what /etc/ld/so/conf is - I look in a
> moment...). This is because both /usr/lib/libc5-compat and
> /usr/X11R6/lib both have identical library link names for many libraries
> that NS uses. You can test this by using ldd and in turn making the load
> path look in each directory first. NS finds the libraries in both areas.
> On a search path list, it will just use the ones it finds first,
> irrespective of whether they are libc5 or libc6. Is this not so?
> 
> Cheers, Chris.


	The libs may have the same filename, but they have a different
'header' in the lib itself.  This 'header' is inspected by
ldconfig when its run.  ldconfig should be able to determine the
libs used for an executable program (i.e., linked against libc4,
libc5, and libc6).  At least its done so for me.  This explanation
is in one of the manpages for ldconfig/ldd/ld.so.


-- 
Ed C.


Reply to: