Before trying to rebuild XFree86 from source read Building XFree86 for a detailed description of the build process. The next sections contain LynxOS specific notes with respect to the build process.
Currently there is no support for shared libraries in the LynxOS XFree86 port. A complete binary installation along with manual pages will require approximately 90-100 MBytes of disk space. To compile the system you will need at least 230 MBytes of free disk space.
Before compiling the XFree86 distribution you will have to make a few little adjustments to your system:
/lib/cpp
as follows:
#!/bin/sh
/usr/lib/gcc-lib/i386-unknown-lynxos2.5/2.7-96q1/cpp \
-traditional "$@"
On other platforms than the AT the paths for the compiler support
programs are different. You may use
gcc -v
to find out the correct path. Set the file mode of /lib/cpp
with
# chown root /lib/cpp
# chmod 755 /lib/cpp
/lib/liblynx.a
. The X servers need the
smem_create()
system call to map the frame buffer into their
address space. The system call is in liblynx
library along
with other Lynx proprietary calls which (unfortunately) overlap
with calls in libc
. To reduce confusion you should modify
liblynx
as follows:
# mv /lib/liblynx.a /lib/liblynx.a.ORG
# mkdir /tmp/xx; cd /tmp/xx
# ar xv /lib/liblynx.a.ORG
# ar rv /lib/liblynx.a *smem*
# ranlib /lib/liblynx.a
/CYGNUS.bash
to
apply the necessary changes to your environment./lib/cpp
as follows:
#!/bin/sh
/cygnus/94q4-lynxos-x86/lib/gcc-lib/i386-lynx/2.6-94q4/cpp \
-traditional "$@"
It is possible that future releases use a different path for
the CYGNUS compiler support programs. You may use
gcc -v
to find out the correct path. Set the file mode of /lib/cpp
with
# chown root /lib/cpp
# chmod 755 /lib/cpp
This has actually not been tested, but the steps for described for 2.4 should apply to 2.3 as well.
This has actually never been tested, be prepared that the build will fail somewhere!
/lib/cpp
as follows:
#!/bin/sh
/usr/local/lib/gcc-cpp -traditional "$@"
# cd xc/programs/Xserver/hw/xfree/etc
# cc -o ld ld-wrapper.c
# mv /bin/ld /bin/ld.org
# mv ld /bin/ld
# chmod 511 /bin/ld
# chown root /bin/ld
/usr/include/uio.h
surrounded by
#ifndef _UIO_H
#define _UIO_H
...
#endif
/usr/include/utmp.h
surrounded by
#ifndef _UTMP_H
#define _UTMP_H
...
#endif
/usr/include/unistd.h
add
extern int read();
Read Building XFree86 before trying to rebuild XFree86 from the source distribution.
You may then issue a
make World
to compile XFree86. After a few hours (and hopefully a successful build of the XFree86 system) you can install the software using
make install
You must be logged in as super-user (root) when you invoke `make install'. Be sure to set your environment to use the same compiler (LynxOS 2.3.0/2.4.0, CYGNUS GNU-C) as you did during the `make World'. To install the LinkKit use
make install.linkkit
With LynxOS 2.2.1 programs will not be stripped during installation. This is due to a problem with the strip program which shows up when installing across file system boundaries.
Refer to section Installing XFree86 manual pages for manual page installation.
On LynxOS x86 2.5.0 you may encounter problems with make
in
deeply nested subdirectories (eg core dumps, hangups). In this case
update to GNU make version 3.75 or higher.