Compilando o Emacs24 da fonte git

1

Eu tenho usado pré-lançamentos do emacs por um bom tempo. Eu verifico o código usando o git de git://git.savannah.gnu.org/emacs.git e siga as instruções em INSTALL.txt. A última vez que funcionou bem foi com 24.0.50.1 de acordo com a tela "about" do meu emacs. Desde então, eu tenho periodicamente tentado atualizar minha versão do emacs 24, mas a compilação sempre falha (possivelmente nas partes de autoteste ou bootstrap) com o seguinte erro:

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

Tem sido assim há meses. Eu tenho pesquisado regularmente para ver se há soluções / soluções alternativas, mas não encontro nada. Eu sou o único a ser atingido com isso e, em caso afirmativo, alguma sugestão para soluções alternativas? Não é como se eu tivesse que ter o mais recente lançamento do emacs 24, mas eu ainda gostaria de descobrir porque eu não posso mais compilá-lo, e porque parece que ninguém mais está sendo atingido com o erro (ou mencioná-lo em qualquer lugar onde o Google possa buscá-lo).

Atualização: Isso aconteceu em um sistema Ubuntu 11.10, e agora nos 12.04 betas, todos em x64.

    
por Marius Kjeldahl 13.03.2012 / 11:19

2 respostas

1

A clonagem da versão mais recente para um novo diretório, em vez de um pull "in-loco" (seguido por make distclean , ./autogen.sh , ./configure , make ) parece resolvê-lo. Então, tem que haver algo deixado pelos processos de compilação anteriores para versões anteriores que atrapalham no meu caso.

Portanto, se você tiver problemas semelhantes, experimente fazer um checkout "limpo" em um novo diretório antes de desistir.

    
por 13.03.2012 / 15:43
1

Isso aconteceu comigo. Parecia que havia alguns artefatos de compilação do elisp antigos que não estavam sendo removidos por make clean . Eu consertei com

find . -name '*.elc' -print0 | xargs -0 rm -f
    
por 18.05.2012 / 07:52

Tags