186 lines
6.8 KiB
Plaintext
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!
|
|
|