Files
oldlinux-files/ftp-archives/tsx-11.mit.edu/1996-10-07/packages/GCC/private/tofu/release-xview3.2LinuxElf
2024-02-19 00:24:15 -05:00

186 lines
6.8 KiB
Plaintext

Good morning, Net!
This is a version of XView 3.2 for use with ELF compiler and libraries. It was
built using gcc 2.6.4 snapshot 950414, libc 5.0.2 and ELF version if XFree86
3.1.1 by hjl@nynexst.com (H.J. Lu), which is currently available from
ftp://ftp.beckman.uiuc.edu/pub/linux/X11/new. It may work with other setup,
but at least you need ELF C and X libraries.
The version of shared libraries compiled programs will look for is 3.2, with
current revision being 3.2.0. It just seamed logical. If you want, you can
change it by looking for 3.2.0 in source distribution config files and
changing the number to something else.
My patches should be applied xview3.2p1-X11R6.tar.gz, which can be found on
ftp.x.org. The diff in this distribution includes xview3L5 patches by Kenneth
Osterberg (lmfken@lmf.ericsson.se or lmfken@bluese1.ericsson.fi), so you don't
have to apply them first. The reason for including one patch but not another
is that 3L5 diff doesn't apply (or compile) cleanly with xview3.2p1-X11R6
(actually Kenneth did much more work on porting than me).
Also, I didn't include Slingshot or UITV3, because I am not using them, so I
won't be a good tester.
If there are any problems with this distribution, please let me know. I am a
little busy with school projects, so please send a solution as well if you
can. But just a bug report is sure better than nothing :)
Please send e-mail to:
Snow Cat <snowcat@gd.cs.CSUFresno.EDU>
aka Oleg Kibirev <oleg@gd.cs.CSUFresno.EDU>
Those addresses are aliases of each other to let me read/send mail from a
Linux PC over term without conflicts. Please send only ONE copy!
With that, here is how to proceed:
^oo^ Choose the distribution: All files are currently on
gd.cs.CSUFresno.EDU (129.8.1.19): /pub/sun4bin/src/xview
^oo^ xview3.2p1-X11R6-LinuxElf.bin.tgz - a binary snapshot of /usr/openwin. To
install (be sure to exit X windows first):
$ su
# cd /usr/openwin/lib
# mv *.a *.so* *.sa* /usr/i486-linuxaout/lib # or wherever your leftover a.out
# libraries live
# cd /
# zcat /some/dir/xview3.2p1-X11R6-LinuxElf.bin.tgz | tar --preserve -xvf -
Or, as a slower but safer method, mv /usr/openwin /usr/oldopenwin, extract the
distribution and then copy any files that are not in .tgz and that you still
need (eq workman or meminfo) back.
^oo^ xview3.2p1-X11R6-LinuxElf.patch.tgz - This is the patch mentioned
above. To apply, you need to obtain xview3.2p1-X11R6.tar.gz from ftp.x.org and
then do:
$ zcat xview3.2p1-X11R6-LinuxElf.patch.tgz | tar -xvf -
$ zcat xview3.2p1-X11R6.tar.gz | tar -xvf -
$ cd xview3.2p1-X11R6
$ patch -p1 < ../LinuxElf.patch
$ cd clients
$ tar -xvf - ../../more_clients.tar
Then, look at the next section for build instructions. Note that you have to
install a fixed mkdirhier to /usr/X11R6/bin as well.
^oo^ xview3.2p1-X11R6-LinuxElf.tgz - This is my source tree, in case there is
any trouble when applying patch. To build (!! READ THIS !! You can get very
mysterous failures if you don't install files in config before building):
Get mkdirhier from the same directory. Then install it:
mv /usr/X11R6/bin/mkdirhier /usr/X11R6/bin/mkdirhier.old
cp mkdirhier /usr/X11R6/bin
chmod 755 mkdirhier
mkdirhier.old can be confused by pathnames with excessive slashes, like
/usr/openwin//bin. If you can't find my mkdirhier on ftp, just do:
$ cat > mkdirhier <<END
#!/bin/ash -
exec mkdir -p "$@"
END
$
Next step:
$ zcat xview3.2p1-X11R6-LinuxElf.tgz | tar -xvf -
$ cd xview3.2p1-X11R6-LinuxElf
$ . sh.config
(if you are using tcsh, either run {ba,a,z}sh temporary or convert sh.config
approporiately and source it)
$ cd config
$ imake -DUseInstalled $IMAKEINCLUDE
$ su
# make install
# ^D
$ cd ..
$ imake -DUseInstalled $IMAKEINCLUDE
$ make World
Then, you can follow the rest of Sun instructions in
xview3.2p1-X11R6-LinuxElf/README for building clients and contrib. After you
are done, run: /usr/openwin/share/src/xview/examples/bin/*, as install doesn't
get the mode right and I was too lazy to fix all contrib Imakefile's.
Note that one of the things sh.config does is make a link called 'make' to
/usr/bin/pmake and add it to the PATH. If you have a non-slackware
distribution, you may not have BSD make installed in the same location. In
this case you need to make a link correctly yourself. Anyway, using GNU make
will *not* work, because it defines $(MFLAGS) in a way different from Sun or
BSD make that configuration files expect.
In general, XView is a complicated package and it seams that building it can
fail for lots of reasons :-{. I recommend that you keep a script of what build
is doing and check it for any problems after it's over. For example:
$ script ../make.World
$ make World
$ exit
$ egrep Error ../make.World
If you are building on a machine with 8M of RAM (or less), exit X windows and
in general, don't try to run anything large when XView is building. In my
experience, it changes build time from 20 to 4 hours on 486DX/33/8M.
If you are interested in SunView -> XView conversion, you'll need to rename
sed files in /usr/openwin/bin to have a leading dot, for example, full1.sed ->
.full1.sed and make some trivial pathname changes to cv2xview. My binary
distribution already includes this. I'll include it in patches sometime later
when I feel like recompiling XView to see if it works.
This source tree only includes clients provided by Sun. If you want source for
more Slackware clients, keep reading.
^oo^ olvwm4pl1-Linux.patch.gz. This is a patch to compile olvwm4 under
Linux. Note that it's a quick-and-dirty port - I used BSD compatability
library and some quick replacements just to make it work. If you can do a
better job please let me know. To apply, get olvwm4 and olvwm4-Patch01 from
ftp.x.org:/R5contrib (currently). Then do, for example:
$ cd olvwm4
$ zcat ../olvwm4.tgz | tar -xvf -
$ patch -p1 < ../olvwm4-Patch01
$ zcat ../olvwm4pl1-Linux.patch.gz | tar -xvf -
$ xmkmf
$ make
$ su
# make install
A precompiled binary is included in xview3.2 binary distribution.
You have to compile Flex with Elf compiler for this to work, as olvwm4 needs
libfl.a.
^oo^ olvwm4pl1-Linux.tgz - This is the full source code if you can't use
patch. Proceed as above.
^oo^ More?
You can try re-compiling other programs in /usr/openwin/bin to use ELF instead
of a.out. If you can do it with all of them, you can delete old libraries in
/usr/i486-linuxaout/lib. I was more interested in developing new programs
that use ELF-specific dynamic linking, so I just left them around to run
workman :)
--
Snow ^oo^ Cat <snowcat@gd.cs.CSUFresno.EDU>
_ -> <- aka Oleg Kibirev <oleg@gd.cs.CSUFresno.EDU>
___(_) _ _)_
/ _)
\_.-._
|___/ Purr!