From: hedrick@athos.rutgers.edu (Charles Hedrick)
Newsgroups: comp.os.linux
Subject: software dependancies for X2.0, gcc 2.2.2d, jumptable 4.1
Date: 27 Sep 92 22:14:16 GMT
Organization: Rutgers Univ., New Brunswick, N.J.

Axel_Riemer@wharfrat.fido.de (Axel Riemer) writes:

>Hi!

>I've put X2.0 on my system, got the followings files:

>xinit: can't load library '/lib/libc.so.4'
>No such library.

X2.0 requires the libraries that come with GCC 2.2.2d (called
jumptable 4.1).  Installing those libraries would give you your
missing file.  It's actually possible to put just the shared libraries
into /lib and not touch your GCC or libraries otherwise, but I don't
recommend it.  The libraries and other tools that come with X2.0
assume you've got the current GCC, so you may not be able to build any
X software if you don't fully install the new GCC.  X2.0 requires that
/dev/console be a link to or copy of /dev/tty0, i.e. major 4, minor 0.
With the previous version of X I had /dev/console as /dev/tty1.  This
fails with X2.0.  The symptom is that it doesn't see keyboard input.
X2.0 has some files that have been broken into pieces, to let them fit
on floppies.  They have # and a number after the .TZ.  One approach to
unpack them is "zcat xbin* | tar xf -", etc.  Note also that you
probably want to start X using startx.notcp, unless you have the new
TCP installed.  If you remove the old X before installing the new one,
make sure you save your existing Xconfig!  The same Xconfig should
work with the new version in many cases, except for the paths.

GCC 2.2.2d and jumptable 4.1 are on tsx-11.mit.edu in
/pub/linux/packages/GCC.  In that directory, ChangeLog documents the
files and gives installation instructions.  (README points to
ChangeLog.)  Installation is fairly straightforward, except that (at
least for me) the shell scripts that unpack some of the archives don't
work.  $# returns 0, and the scripts assume it returns 1.  If you're
going to use the scripts with no arguments, the simple approach is to
replace $# with 1.  The scripts also assume you have zcat.  I didn't.
Note that the GCC directory has not only GCC and libraries, but also a
set of the commonly used utilities, linking with the new libraries.

If your machine is at all tight on disk space, you may need to be
careful in installing this stuff.  Both X and GCC go in different
places than the old versions, so if you have old versions you may need
to remove them first.  With GCC, remove everything except the stuff in
/lib.  /lib contains the sharable libraries.  You don't want to remove
them, or old programs will break.  (Of course once you've updated all
your software to versions that use the new sharable libraries, you can
remove the old ones.)  

The utilities that come with GCC put a lot of stuff that used to be in
/usr/bin into /bin.  Thus you may end up with two versions of things
(and depending upon your path, you may not even use the new version).
I recommend running a script that removes all files that exist in /bin
from /usr/bin.  (Linux used to have most programs in /usr/bin.  The
new arrangement puts things in their "traditional" Unix location.)

Finally, note that the new GCC requires a kernel of .97pl4.  Someone
reported installing it on .97pl2 and having it not work.  That may
be why.
Newsgroups: comp.os.linux