[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!
------------------------------------------------
- success in building emacs-19.34 on redhat 7.3,
Lee Campbell <=