자식 소스에서 Emacs24 컴파일하기 source file is newer)… Loading /usr/local/src/emacs/lisp/loaddefs.el

나는 꽤 오랫동안 emacs의 시험판을 사용 해왔다. git from을 사용하여 코드를 확인하고 git://git.savannah.gnu.org/emacs.gitINSTALL.txt의 지침을 따릅니다. 내 emacs “정보”화면에 따르면 24.0.50.1에서 마지막으로 정상적으로 작동했습니다. 그 이후로 정기적으로 emacs 24 버전을 업데이트하려고 시도했지만 다음 오류와 함께 컴파일이 항상 실패합니다 (자체 테스트 또는 부트 스트랩 부분에서).

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

몇 달 동안 이렇게되었습니다. 솔루션 / 해결 방법이 있는지 정기적으로 인터넷 검색을 해왔지만 아무것도 찾지 못했습니다. 내가 유일하게 맞습니까? 그렇다면 해결 방법에 대한 제안이 있습니까? emacs 24의 최신 시험판을 절대적으로 가지고 있어야하는 것은 아니지만 더 이상 컴파일 할 수없는 이유와 다른 사람이 왜 오류에 부딪치지 않는지 여전히 알고 싶습니다. 구글이 선택할 수있는 곳이라면 어디든 언급 할 수있다).

업데이트 : 이것은 Ubuntu 11.10 Desktop 시스템에서 발생했으며 이제는 12.04 베타 버전, 모두 x64에서 발생했습니다.



답변

새 디렉토리에 최신 버전을 복제하는 대신 (뒤에 “현재 위치에서”풀하고 make distclean, ./autogen.sh, ./configure,은 make) 그것을 해결 것으로 보인다. 따라서 이전 버전의 컴파일 프로세스에는 남겨 두어야 할 것이 있습니다.

따라서 비슷한 문제가 발생하면 포기하기 전에 새 디렉토리로 “깨끗한”체크 아웃을 시도하십시오.


답변

이것은 나에게 일어났다. 에 의해 제거되지 않은 오래된 elisp 컴파일 아티팩트가있는 것 같습니다 make clean. 나는 그것을 고쳤다

find . -name '*.elc' -print0 | xargs -0 rm -f


답변