http://ftp.gnu.org/pub/gnu/emacs/emacs-22.3.tar.gz
下載emacs的22.3到我的Ubuntu 12.04.2 LTS桌面和編譯/化妝不起作用。
配置似乎工作正常。
很早就失敗了:在子目錄lib-src中,makefile的第148行存在問題。它看起來像一個問題:
ALL_CFLAGS = -D_BSD_SOURCE -DHAVE_CONFIG_H
-I. -I../src -I${srcdir} -I${srcdir}/../src ${LDFLAGS} ${CPPFLAGS} ${CFLAGS}
這就是行147和148:148行應該是147線的延續我猜。它從一個標籤開始。沒有\在行147結束。我把一個,並再次嘗試。我在第150行發現了一個錯誤。我放入了另一個\。幾行後面的事情變得更加嚴重了,在那裏沒有「實際」導致了那些不是語法錯誤,而是以更微妙的方式實現了突破的事情。
我不應該編輯Makefiles無論如何(我可以告訴,他們的權限是隻讀的;-))。我究竟做錯了什麼?我可以堅持下去,但如果我可以改爲例如喂一面旗子以便例如以emacs-22.3-makefile-compatibility模式運行,那會更好。
[對於那些想知道「爲什麼」 - 我有一些腳本,我需要我的工作,他們從來沒有在emacs> = 23;我的舊機器上的我剛剛編譯emacs22自己沒有問題,但這個新的Ubuntu的機器上我沒有emacs22,有沒有emacs22在Ubuntu 12.04倉庫,所以我有點絕望]
行,所以有人建議我試過
$ CPPFLAGS="-P" ./configure
並且列出了lib-src中回車/製表符的所有問題。但實際上它只是得到我的地方我已經設法手動得到點:
cd src; make all \
CC='gcc' CFLAGS='-g -O2 -Wno-pointer-sign ' CPPFLAGS='-D_BSD_SOURCE -P' \
LDFLAGS='-Wl,-znocombreloc' MAKE='make'
make[1]: Entering directory `/home/buzzard/local/emacs-22.3/src'
gcc -c -D_BSD_SOURCE -P -Demacs -DHAVE_CONFIG_H -I. -I/home/buzzard/local/emacs-22.3/src -D_BSD_SOURCE -g -O2 -Wno-pointer-sign pre-crt0.c
make[1]: *** No rule to make target `/usr/lib/crt1.o', needed by `temacs'. Stop.
make[1]: Leaving directory `/home/buzzard/local/emacs-22.3/src'
make: *** [src] Error 2
嗯......如果我知道我在做什麼我會發布其他位和羈絆,但說實話我我從來沒有理解過。我一直只希望它能工作...
你需要「cd src」嗎?我通常只是從頂級emacs目錄運行make(我運行configure的同一目錄)。通常它只是「配置」,然後是「make」。 – jtahlborn 2013-04-20 22:59:56
我不知道答案,但您可以嘗試運行'autogen.sh'腳本來重建配置腳本,以防某些不兼容的問題可以自動解決。 – phils 2013-04-21 02:02:12
啊,22.3沒有autogen.sh。您可以從更新的版本中查看腳本以查看它的功能並手動複製它,但這可能會變成一堆沒有實際好處的工作,我猜'INSTALL'文件應該是在任何情況下都是更好的選擇。 – phils 2013-04-21 02:10:26