help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

success in building emacs-19.34 on redhat 7.3


From: Lee Campbell
Subject: success in building emacs-19.34 on redhat 7.3
Date: Wed, 26 Jun 2002 11:11:59 -0400 (EDT)

I wanted to build emacs-19.34 on my redhat 7.3 system so I can have my
choice between smart data-type-aware emacs-21 and old emacs-19.34 that
loads fast and treats everything as raw ASCII.

I started with a tarball called emacs-19.34b.tar.gz which can be found
at ftp://prep.ai.mit.edu/pub/gnu/emacs/, and the default gcc-2.96-110.
I used the patches described in
   http://ww.geocrawler.com/mail/msg.php3?msg_id=4539022&list=337
which allowed it to compile, but it would still core-dump when it
ran.  That was fixed by adding "-z nocombreloc" to the LDFLAGS in the
makefile, as described in:
   http://sources.redhat.com/ml/binutils/2001-10/msg00574.html
Now it works fine, and loads amazingly faster than emacs21!

        - Lee Campbell

P.S.: To be specific, my ./configure line is:

  ./configure i386-redhat7-linux-gnu --with-x11 \
          --prefix=/usr/built/emacs-19.34

(the --prefix puts the binaries near the src tree.  I made a softlink
called /usr/local/bin/emacs19 to run it.)

Then I edited the Makefile (probably should have edited Makefile.in)
so that this original section:

  ${SUBDIR}: ${SUBDIR_MAKEFILES} FRC
        cd $@; $(MAKE) all $(MFLAGS) \
          CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
          LDFLAGS='${LDFLAGS}' MAKE='${MAKE}'

now ends like this:

          LDFLAGS='${LDFLAGS} -z nocombreloc' MAKE='${MAKE}'


Here are the patches that worked for me (I cut'n'pasted manually)

  diff -c emacs-19.34/src/systty.h.orig emacs-19.34/src/systty.h
  *** emacs-19.34/src/systty.h.orig     Tue Jul  2 12:12:22 1996
  --- emacs-19.34/src/systty.h  Tue Jun 25 11:41:46 2002
  ***************
  *** 296,302 ****
  --- 296,310 ----
    
    #ifdef __GNU_LIBRARY__
    /* GNU libc by default defines getpgrp with no args on all systems.  */
  + #if __GLIBC__  >= 2
  + /* glibc-2.1 adds the BSD compatibility getpgrp function
  +    if you use _BSD_SOURCE, which Emacs does on GNU/Linux systems.  */
  + #if __GLIBC_MINOR__ < 1 || ! defined (__FAVOR_BSD)
    #define GETPGRP_NO_ARG
  + #endif
  + #else /* __GLIBC__ < 2 */
  + #define GETPGRP_NO_ARG
  + #endif /* __GLIBC__ < 2 */
    #else /* not __GNU_LIBRARY__ */
    #if defined (USG) && !defined (GETPGRP_NEEDS_ARG)
    #  if !defined (GETPGRP_NO_ARG)


  diff -c emacs-19.34/src/s/gnu-linux.h.orig emacs-19.34/src/s/gnu-linux.h
  *** emacs-19.34/src/s/gnu-linux.h.orig        Mon Jul 15 22:17:05 1996
  --- emacs-19.34/src/s/gnu-linux.h     Tue Jun 25 11:43:56 2002
  ***************
  *** 292,295 ****
       actually set a process group. */
    
    #define BSD_PGRPS
  ! #define setpgrp(pid,pgid) setpgid((pid),(pgid))
  --- 292,296 ----
       actually set a process group. */
    
    #define BSD_PGRPS
  ! /* this conflicts with the same definition in unistd.h - jrd 092900 */
  ! /* #define setpgrp(pid,pgid) setpgid((pid),(pgid)) */  

And that's all there is to it!

   ------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]