ubuntu软件中心emacs的版本是23,自己在网上下了最新版24.3,通过编译安装到时候遇到来很多依赖问题,下面将这些问题整理了出来:
1.执行./configure命令出现如下错误:
configure: error: 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.
根据提示是缺少X windows系统的开发库。如果不想在图形界面下使用Emacs,可以使用--without-x选项进行编译(废话),那么只有把GTK+安装上才能通过configure了。
sudo apt-get install libgtk2.0-dev
2.在configure中增加编译选项,./configure --with-x-toolkit=gtk3,这次配置未提示上述错误,但又出现下面错误:
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
3.利用apt-get install 将上述缺少的包及其开发包安装后,继续./configure,还有错误:
configure: error: The required function `tputs' was not found in any library.
These libraries were tried: libncurses,libterminfo,libtermcap,libcurses.
Please try installing whichever of these libraries is most appropriate
for your system,together with its header files.
For example,a libncurses-dev(el) or similar package.
提示缺少必须的函数'tputs',有可能在libncurses-dev中,那么尝试安装这个包,再configure
4.因为前面编译过,所以运行make clean && make distclean来清理一下
5.再通过./configure,终端有如下提示:
configure: creating ./config.status config.status: creating Makefile config.status: creating lib/Makefile config.status: creating lib-src/Makefile config.status: creating oldXMenu/Makefile config.status: creating doc/emacs/Makefile config.status: creating doc/misc/Makefile config.status: creating doc/lispintro/Makefile config.status: creating doc/lispref/Makefile config.status: creating src/Makefile config.status: creating lwlib/Makefile config.status: creating lisp/Makefile config.status: creating leim/Makefile config.status: creating src/config.h config.status: executing depfiles commands config.status: executing mkdirs commands config.status: executing epaths commands creating src/epaths.h [ -r "/home/wkd/src/emacs-24.2/src/config.in" ] || ( cd /home/wkd/src/emacs-24.2 && autoheader ) config.status: executing gdbinit commands 6.sudo make,sudo make install 安装成功
整个编译过程,主要是仔细查看configure的输出,看缺乏哪些库,只要把缺乏的库安装上,就能configure成功,这是关键。