我刚更新到Kubuntu 12.04。一切工作正常,除了最新的自定义生成emacs。它现在说:构建emacs 24.1.50
emacs: symbol lookup error: emacs: undefined symbol: gtk_window_set_has_resize_grip
所以我决定重新构建emacs。对于我已经git pull
最新的快照,并做了一切,我通常做,但现在我在编译时出现错误:
In file included from /home/boris/its/blds/emacs/lib-src/emacsclient.c:76:0:
../lib/getopt.h:196:8: error: redefinition of ‘struct option’
/usr/include/getopt.h:106:8: note: originally defined here
../lib/getopt.h:245:12: error: conflicting types for ‘getopt_long’
/usr/include/getopt.h:175:12: note: previous declaration of ‘getopt_long’ was here
../lib/getopt.h:249:12: error: conflicting types for ‘getopt_long_only’
/usr/include/getopt.h:179:12: note: previous declaration of ‘getopt_long_only’ was here
make[1]: *** [emacsclient] Error 1
make[1]: Leaving directory `/home/boris/its/blds/emacs/lib-src'
make: *** [lib-src] Error 2
谷歌搜索发现这些错误几乎没有。
编辑:
下解决它(感谢JSON):
git pull
./autogen.sh
./configure --prefix=/home/boris/its/soft/Emacs_24.1.50
make bootstrap
make install
我认为这两个答案 - 如何从头开始comppaile和ppa之一 - 是有价值的。如果你喜欢编译你自己的一切,并且想每次更新都重复编译它(或者使用过时的东西) - 这只是你的意见。 – Adobe 2013-06-30 13:01:20
是的。我错在没有说明最多票数的答案在最简单的解决方案中是正确的,但不是解决方案。没有看到错误是由冲突引起的,你错了。这是通过从头开始删除emacs和编译来解决的。 – doed 2013-07-02 07:55:30