0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CentOS 8 Stream の Emacs 26.1 で package-refresh-contents できなかった。

Posted at

経緯

CentOS 8 Stream に Emacs 26.1 が DNF でインストールできる。

$ sudo dnf info emacs-nox
Last metadata expiration check: 0:06:54 ago on Sat 17 Apr 2021 12:17:36 PM JST.
Installed Packages
Name         : emacs-nox
Epoch        : 1
Version      : 26.1
Release      : 5.el8
Architecture : x86_64
Size         : 38 M
Source       : emacs-26.1-5.el8.src.rpm
Repository   : @System
From repo    : appstream
Summary      : GNU Emacs text editor without X support
URL          : http://www.gnu.org/software/emacs/
License      : GPLv3+ and CC0-1.0
Description  : Emacs is a powerful, customizable, self-documenting, modeless text
             : editor. Emacs contains special code editing features, a scripting
             : language (elisp), and the capability to read mail, news, and more
             : without leaving the editor.
             :
             : This package provides an emacs binary with no X windows support for running
             : on a terminal.

とりあえず, Getting Started - MELPA を参考に設定ファイルを作成する。

~/.emacs.d/init.el
(require 'package)
(add-to-list 'package-archives
             '("melpa-stable" . "https://stable.melpa.org/packages/") t)
;; Comment/uncomment this line to enable MELPA Stable if desired.  See `package-archive-priorities`
;; and `package-pinned-packages`. Most users will not need or want to do this.
;;(add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t)
(package-initialize)

ところが, M-x package-refresh-contents しても, Failed to download ‘melpa’ archive. と表示される。

結論

2021-04-17 時点で最新の Emacs 27.2 をインストールすることで通るようになる。
なお, なぜ 27.2 で通るようになるのかは未調査。

対処

  1. 不要になった Emacs 26.1 は削除する。

    $ sudo dnf -y remove emacs-nox
    
  2. とりあえずはビルドが通れば良いので, 開発ツールを一通りインストールする。
    個別に必要なパッケージもインストールする。

    $ sudo dnf -y group install development
    $ sudo dnf -y install gnutls-devel ncurses-devel
    
  3. ソースコードをダウンロードし, 展開する。

    $ curl -LO https://ftp.iij.ad.jp/pub/gnu/emacs/emacs-27.2.tar.xz
    $ unxz -c emacs-27.2.tar.xz | tar -xpf -
    $ cd emacs-27.2; pwd
    
  4. ビルドする。

    $ ./configure
    $ make
    $ sudo make install
    
  5. この時点ではパスが通らないので再ログインし, Emacs を起動,
    改めて M-x package-refresh-contents すると Package refresh done と表示される。

付録: 個別パッケージ未インストール時に ./configure で表示されるメッセージ

gnutls-devel 未インストールの場合

configure: error: The following required libraries were not found:
     gnutls
Maybe some development libraries/packages are missing?
To build anyway, give:
     --with-gnutls=ifavailable
as options to configure.

ncurses-devel 未インストールの場合

configure: error: The required function 'tputs' was not found in any library.
The following libraries were tried (in order):
  libtinfo, libncurses, libterminfo, libcurses, libtermcap
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.

どっとはらい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?