From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Lee Campbell Newsgroups: gmane.emacs.help Subject: success in building emacs-19.34 on redhat 7.3 Date: Wed, 26 Jun 2002 11:11:59 -0400 (EDT) Sender: help-gnu-emacs-admin@gnu.org Message-ID: <200206261511.LAA04813@stpauls.media.mit.edu> Reply-To: elwc032@Media.mit.edu NNTP-Posting-Host: localhost.gmane.org X-Trace: main.gmane.org 1025104384 6053 127.0.0.1 (26 Jun 2002 15:13:04 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 26 Jun 2002 15:13:04 +0000 (UTC) Return-path: Original-Received: from fencepost.gnu.org ([199.232.76.164]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 17NETf-0001ZV-00 for ; Wed, 26 Jun 2002 17:13:03 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 17NESq-0006Gh-00; Wed, 26 Jun 2002 11:12:12 -0400 Original-Received: from stpauls.media.mit.edu ([18.85.23.28]) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 17NESd-0006Fa-00 for ; Wed, 26 Jun 2002 11:11:59 -0400 Original-Received: (from elwin@localhost) by stpauls.media.mit.edu (8.9.3/8.9.3/VISMOD) id LAA04813; Wed, 26 Jun 2002 11:11:59 -0400 (EDT) Original-To: help-gnu-emacs@gnu.org Errors-To: help-gnu-emacs-admin@gnu.org X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.help:531 X-Report-Spam: http://spam.gmane.org/gmane.emacs.help:531 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! ------------------------------------------------