[comp.emacs] Comipiling Gnu Emacs to use X Windows

mikeyv@seqp4.ORG (Michael Vernick) (10/19/89)

I am trying to compile Gnu Emacs 18.52 to use X windows but I get an
undefined include file "X/Xkeyboard.h" in "xterm.c".  I have
loaded X Windows 11 Release 3 but there is no Xkeyboard.h.  Is Emacs
18.52 dependent on earlier versions of X windows?
-- 
Mike Vernick                             Internet: seqp4!mikeyv@m2c.org
Sequoia Systems                          UUCP: harvard!m2c!seqp4!mikeyv

tadguy@cs.odu.edu (Tad Guy) (10/20/89)

In article <164@seqp4.UUCP> mikeyv@seqp4.ORG (Michael Vernick) writes:
   I am trying to compile Gnu Emacs 18.52 to use X windows but I get an
   undefined include file "X/Xkeyboard.h" in "xterm.c".  I have
   loaded X Windows 11 Release 3 but there is no Xkeyboard.h.  Is Emacs
   18.52 dependent on earlier versions of X windows?

[ You should be installing 18.55, the current version of Emacs,
  especially if you intend to use the oldXMenu stuff ]

Did you remember to define X11 in your config.h?

config.h:
| /* Define X11 if you want to use version 11 of X windows.
|    Otherwise, Emacs expects to use version 10.  */
| 
| #define X11

If so, your make should be compiling x11term.c, not xterm.c...

	...tad

barry@mesquite.math.ucla.edu (Barry Merriman) (10/21/89)

I've been trying to install gnu emacs 18.55 on my sun 3/110 for the
last couple weeks (in my spare time)---its a no go! 

[Political Note: they don't support or encourage using gnu emacs at
the UCLA math dept., because its "too big" and "too slow", so I have to 
install my own personal copy...if I get it up and running, they'll
make it publicly available, but still unsupported.]

Can someone help me bring the joys of gnu emacs to the UCLA math deptartment?


My goal is emacs with X11 support.
Here are the problems:

        After setting the appropriate paths, and selecting

        #include "s-bsd4-2.h"
        #include "m-sun3.h"

        in the config.h file, I try:

Case A: make gnu emacs with no X10 or X11 support:

        This is a test case, and it still has compilation errors. If I use
        make -i instead of make in the build-install file, I can suppress
        the errors and get a (nearly) functional copy of emacs 18.55.

        here are the errors I get during the making:

        "filelock.c", line 54: pw_name undefined
        *** Error code 1

        "fileio.c", line 604: pw_dir undefined
        *** Error code 1

        "editfns.c", line 73: pw_name undefined
        "editfns.c", line 88: pw_gecos undefined
        *** Error code 1

        The resulting emacs works, except it doesn't recongize relative
        path names---to edit a file I have to give the full path name
        staring with my home directory. I suspect there are other more
        subtle errors related to filelock.c that I haven't hit yet.

Case B: gnu emacs with X support (but not X11)

        This is getting more interesting. I select 
        #define HAVE_X_WINDOWS
        in config.h, and do build-install. I get a buch of errors
        about missing X/*.h files in includes---but that's easy, since
        UCLA math never installed X10! So, I pull the /usr/local/X/X directory off
        a more enlightened system, and also get /usr/lib/libX.a . I put
        this stuff in the emacs directory, hack the makefiles so it
        can find them, and compile again. Fine, but now I get the following
        errors: (in addition to Case A errors)

        Undefined: _XGetHardwareColor _XStoreBitmap _XOpenFont 
                   (+ about 25 other X functions).

        Which suggests that I need the contents of /usr/local/X/Xlib .
        Will I have to grab the entire /usr/local/X before make 
        stops complaining? I don't feel like owning all of X10 just
        to use emacs with X windows...

This brings us to the most interesting case,

Case C: gnu emacs with X11 support (yes, thankfully UCLA has X11 R3)

        So, I #define X11 in config.h, and do a build-install. But my launch is
        scrubbed: I get the following errors (in addition to Case A errors):
 
        Undefined:
        f68881_used
        *** Error code 1
        rm -f ../etc/DOC
        ../etc/make-docfile dispnew.o scroll.o xdisp.o window.o  term.o cm.o x11term.o

  [long list of *.o *.el *.elc files deleted]

        lisp/buff-menu.elc ../lisp/subr.elc ../lisp/version.el > ../etc/DOC^M
        ./temacs -batch -l inc-vers
        Make: Cannot load ./temacs.  Stop.
        
        And thats it. No executable emacs is produced. But It does seem to compile
        x11term and x11fns OK, at least.
 
So, how can I get emacs with X11 R3 to work? If it helps, note
that we do have /usr/lib/libX11.a in place.


Up with gnu emacs 18.55! (and soon, I hope...)

-Barry Merriman