用apt-get安装emacs的话,版本是23.1.1,版本太低,所以在GNU的网站下了一个GNU emacs来安装。
将在GNU的ftp下载的文件包解压到一目录,cd进入该目录,然后 ./configure进行配置生成make文件,但是运行完一阵子后报错如下
- You seem to be running X, but no X development libraries
- were found. You should install the relevant development files for X
- and for the toolkit you want, such as Gtk+, Lesstif or Motif. Also make
- sure you have development files for image handling, i.e.
- tiff, gif, jpeg, png and xpm.
- If you are sure you want Emacs compiled without X window support, pass
- --without-x
- to configure.
原来是没有安装GTK的开发库,可以安装最新的gtk-3也可以安装gtk-2.0
- sudo apt-get install libgtk2.0-dev
或者选择用系统里的Synaptic管理器进行安装
再运行./configure ,没想到又报错了,如下:
- configure: error: The following required libraries were not found:
- libXpm libjpeg libgif/libungif libtiff
- Maybe some development libraries/packages are missing?
- If you don't want to link with them give
- --with-xpm=no --with-jpeg=no --with-gif=no --with-tiff=no
- as options to configure
貌似是缺几个库:
libXpm libjpeg libgif/libungif libtiff
再进行安装
- sudo apt-get install libxpm-dev
- sudo apt-get install libjpeg62-dev
- sudo apt-get install libgif-dev
- sudo apt-get install libtiff4-dev
然后再运行./configure ,这下终于可以正常地跑到结束了,看输出的信息,该生成的文件都生成了。于是,运行make ,再运行sudo make install ,经过一段时间后,编译结束,安装成功。
如果遇到编译错误。并且打开emacs后报错为“Cannot open termcap database file”, 少了个叫libncurses5-dev库,于是,运行:
- sudo apt-get install libncurses5-dev
因为前面编译过,所以运行
make clean ,
make distclean 来清理一下, 再重新运行
./configure ,
make ,
sudo make install ,这回就完全安装成功了
如果报错为:
- /usr/bin/ld: cannot find -linux-gnu
- collect2: ld returned 1 exit status
- make[1]: *** [temacs] Error 1
- make[1]: Leaving directory `/home/gexueyuan/emacs-23.3/src'
- make: *** [src] Error 2
那么是因为在11.04中你安装了gtk3.0,而gtk2.0没有安装,这时只要
- sudo apt-get install libgtk2.0-dev
然后再进行
再重新运行./configure
,make ,错误会变成
- /usr/include/glib-2.0/glib/gtypes.h:34:24: fatal error: glibconfig.h: No such file or directory
不要紧,这时因为11.04版本的问题,emace的网站给出了解决方法 http://lists.gnu.org/archive/html/bug-gnu-emacs/2011-04/msg00307.html 具体就是在configure.in和configure中修改 cpp_undefs="`echo $srcdir $configuration $canonical unix | 这一行,结尾添加i386 cpp_undefs="`echo $srcdir $configuration $canonical unix i386 | 然后再重新编译,大功告成,在终端输入emacs进入emacs界面。 另附一个我在10.10下编译出错的问题 出错信息: Loading international/mule-cmds... Cannot open load file: case-table make[1]: *** [bootstrap-emacs] 错误 255 make[1]:正在离开目录 `/home/zerdison/下载/emacs-23.2/emacs-23.2/src' make: *** [src] 错误 2 还以为是下载的源代码出错,又下了一次问题依旧,改编译参数等也没用。 把路径改成英文后
make install
大功告成。