Tôi cần cài đặt thư viện nào nếu tôi muốn biên dịch Emacs?


21

Tôi đang cố gắng biên dịch emacstrên Ubuntu 12.04. Điều này là do tôi muốn sử dụng Emacs 24.2.

Tuy nhiên, tôi nhận được lỗi sau. Làm thế nào tôi có thể sửa chữa nó?

checking for long file names... yes
checking for X... no
checking for X... true
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.

Câu trả lời:


23

Tôi đã từng làm theo cách này:

sudo apt-get install build-essential texinfo libx11-dev libxpm-dev libjpeg-dev libpng-dev libgif-dev libtiff-dev libgtk-3-dev libncurses-dev libgnutls28-dev
# for gtk2 build replace libgtk-3-dev with libgtk2.0-dev

git clone --depth=1 git://git.savannah.gnu.org/emacs.git
cd emacs
./autogen.sh # not needed when installing from tarball
./configure
make bootstrap
sudo make install

Để xây dựng tài liệu:

make docs
# or build just the format you want:
make info
make dvi
make html
make pdf

Nhưng bây giờ tôi chỉ sử dụng gói

sudo add-apt-repository -y ppa:ubuntu-elisp
sudo apt-get update
sudo apt-get install emacs-snapshot

15

Nếu bạn chạy

sudo apt-get build-dep emacs23

cài đặt mọi thứ cần thiết để biên dịch emacs23gói. Rất có khả năng đó cũng đủ để biên dịch Emacs 24.2.


5
Hoặc, trong Ubuntu 14:sudo apt-get build-dep emacs24
nnyby

2
Nếu bạn đang chạy> = 16.04 và nhận E: You must put some 'source' URIs in your sources.list, hãy xem câu hỏi này
khủng long

rất hữu ích, có thể được điều chỉnh để cài đặt emacs 26.1 trên Ubuntu 18.04 hoặc Linux Mint 19 "Tara":sudo apt-get build-dep emacs25
sebisnow
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.