はじめに
Raspberry Pi (bookworm:12) に Emacs 30.2 をインストールしました。
インストール環境は下記です。
wurly@rp4:~ $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 12 (bookworm) Release: 12 Codename: bookworm
下記のコンフィギュレーションとなります。
手順
ソースコードの取得
$ git clone --depth 1 --branch emacs-30.2 git://git.sv.gnu.org/emacs.git emacs-30.2
依存するパッケージのインストール
sudo apt install texinfo autoconf
$ sudo apt install libgccjit-12-dev
sudo apt-get -y install libncurses-dev \ libgtk-3-dev \ libjpeg-dev \ libgif-dev \ libtiff-dev \ gnutls-dev \ librsvg2-dev \ libpng-dev \ libxpm-dev \ libtree-sitter-dev
sudo apt install cmake libtool-bin markdown
Makefileの生成
cd emacs-30.2 ./autogen.sh ./configure --with-native-compilation --without-pop --with-mailutils --with-tree-sitter #+end_src --with-imagemagick #+begin_src bash Configured for 'aarch64-unknown-linux-gnu'. Where should the build process find the source code? . What compiler should emacs be built with? gcc -g3 -O2 Should Emacs use the GNU version of malloc? no (The GNU allocators don't work with this system configuration.) Should Emacs use a relocating allocator for buffers? no Should Emacs use mmap(2) for buffer allocation? no What window system should Emacs use? x11 What toolkit should Emacs use? GTK3 Where do we find X Windows header files? Standard dirs Where do we find X Windows libraries? Standard dirs Does Emacs use -lXaw3d? no Is Emacs being built for Android? no Does Emacs use the X Double Buffer Extension? yes Does Emacs use -lXpm? yes Does Emacs use -ljpeg? yes Does Emacs use -ltiff? yes Does Emacs use a gif library? yes -lgif Does Emacs use a png library? yes -lpng16 Does Emacs use -lrsvg-2? yes Does Emacs use -lwebp? yes Does Emacs use -lsqlite3? no Does Emacs use cairo? yes Does Emacs use -llcms2? no Does Emacs use imagemagick? no Does Emacs use native APIs for images? no Does Emacs support sound? yes Does Emacs use -lgpm? no Does Emacs use -ldbus? yes Does Emacs use -lgconf? no Does Emacs use GSettings? yes Does Emacs use a file notification library? yes (inotify) Does Emacs use access control lists? no Does Emacs use -lselinux? yes Does Emacs use -lgnutls? yes Does Emacs use -lxml2? no Does Emacs use -lfreetype? yes Does Emacs use HarfBuzz? yes Does Emacs use -lm17n-flt? no Does Emacs use -lotf? no Does Emacs use -lxft? no Does Emacs use -lsystemd? no Does Emacs use -ltree-sitter? yes Does Emacs use the GMP library? yes Does Emacs directly use zlib? yes Does Emacs have dynamic modules support? yes Does Emacs use toolkit scroll bars? yes Does Emacs support Xwidgets? no Does Emacs have threading support in lisp? yes Does Emacs support the portable dumper? yes Does Emacs support legacy unexec dumping? no Which dumping strategy does Emacs use? pdumper Does Emacs have native lisp compiler? yes Does Emacs use version 2 of the X Input Extension? yes Does Emacs generate a smaller-size Japanese dictionary? no configure: creating ./config.status config.status: creating src/verbose.mk config.status: creating src/emacs-module.h config.status: creating Makefile config.status: creating lib/gnulib.mk config.status: creating ./doc/man/emacs.1 config.status: creating lib/Makefile config.status: creating lib-src/Makefile config.status: creating oldXMenu/Makefile config.status: creating src/Makefile config.status: creating lwlib/Makefile config.status: creating nextstep/Makefile config.status: creating nt/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 lisp/Makefile config.status: creating leim/Makefile config.status: creating test/Makefile config.status: creating test/manual/noverlay/Makefile config.status: creating test/infra/Makefile config.status: creating admin/charsets/Makefile config.status: creating admin/unidata/Makefile config.status: creating admin/grammars/Makefile config.status: creating java/Makefile config.status: creating cross/Makefile config.status: creating java/AndroidManifest.xml config.status: creating src/config.h config.status: executing src/epaths.h commands config.status: executing src/.gdbinit commands config.status: executing doc/emacs/emacsver.texi commands config.status: executing etc-refcards-emacsver.tex commands
make
make -j$(nproc)
make install
sudo make install
