Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I've been using pre-releases of emacs for quite some time. I check out the code using git from git://git.savannah.gnu.org/emacs.git and follow the instructions in INSTALL.txt . The last time that worked fine was with 24.0.50.1 according to my emacs "about" screen. Since then I have periodically tried updating my emacs 24 version, but compilation always fails (possibly in the self-test or bootstrapping parts) with the following error:

Loading button (compiled; note, source file is newer)...
Loading startup (compiled; note, source file is newer)...
Loading /usr/local/src/emacs/lisp/loaddefs.el (source)...
Symbol's function definition is void: replace-buffer-in-windows
make[1]: *** [bootstrap-emacs] Error 1
make[1]: Leaving directory `/usr/local/src/emacs/src'
make: *** [src] Error 2

It's been like this for months. I've been googling regularly to see if there are any solutions/workarounds, but I find nothing. Am I the only one getting hit with this, and if so any suggestions for workarounds? It's not like I absolutely have to have the latest pre-release of emacs 24, but I would still like to figure out why I can no longer compile it, and why it seems nobody else is getting hit with the error (or aren't mentioning it anywhere where google can pick it up).

Update: This has happened on a Ubuntu 11.10 Desktop system, and now on the 12.04 betas, all x64.

share|improve this question
    
What system are you trying to compile on? Any special compiler switches? –  Oliver Salzburg Mar 13 '12 at 10:32
    
I just tested on an x64 Ubuntu server. ./autogen.sh && ./configure && make spits out an emacs binary with no complaints. –  Oliver Salzburg Mar 13 '12 at 10:54
    
try git clean -xdf to make sure get rid off old config.status and any other. –  kindahero Mar 14 '12 at 7:00

2 Answers 2

Cloning the latest version into a new directory, rather than doing an "in-place" pull (followed by make distclean, ./autogen.sh, ./configure, make) seems to solve it. So there has to be something left by earlier compilation processes for earlier versions that mess it up in my case.

So if you have similar problems, make sure you try a "clean" checkout into a fresh directory before giving up.

share|improve this answer
    
cloning again not good for the servers and git is smart to handle the your copy. git clean -xdf. by the way I pull from github.com/emacsmirror/emacs.git to avoid pressure on gnu servers –  kindahero Mar 14 '12 at 7:05
    
I'll give the git clean command a try. But just to be precise, I only cloned the first time, and then updated using pull. –  Marius Kjeldahl Mar 17 '12 at 21:37

This happened to me. It seemed there were some old elisp compilation artifacts which were not being removed by make clean. I fixed it with

find . -name '*.elc' -print0 | xargs -0 rm -f
share|improve this answer
    
Beware, you always want to use print0 for find and -0 for xargs to be safe, or even use find … -exec rm -f '{}'. –  slhck May 18 '12 at 8:58

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.