gnupack-pretest_devel-2018.11.25でemacsが動かない

はじめに

gnupack-pretest_devel-2018.11.25でemacsが動かない(startup_emacs.exe,startup_emacscliend.exeどちらをダブルクリックしてもemacsが動かない.何も起こらない)場合の対策をまとめた.

結論

コマンドライン(startup_cygwin.exe)から以下のコマンドを打ってlibgif7をインストール.その後,emacsを動かす(startup_emacs.exe).

$ apt-cyg install libgif7

詳細その1(コマンドラインからemacsを動かす)

コマンドライン(startup_cygwin.exe)からemacsを動かしてみる.以下のエラーメッセージが出たら,今回の内容に該当する.

$ emacs
C:/Users/foo/Desktop/gnupack-pretest_devel-2018.11.25/app/cygwin/emacs/bin/emacs.exe: error while loading shared libraries: cyggif-7.dll: cannot open shared object file: No such file or directory

ちなみに,apt-cyg showで一覧を確認すると,libgif4はあるがlibgif7はない.

詳細その2(libgif7をインストール)

以下のコマンドでlibgif7をインストール

$ apt-cyg install libgif7

libgif7をインストールしようとしたら,他も全部アップデートした方が良いよ(apt-cyg dist-upgrade)と言われるかもしれない.やらなくても良いと思うが,実行した.なお,apt-cyg dist-upgradeを実行してもlibgif7は入らないので,改めてインストールする.

$ apt-cyg install libgif7
Warning: /etc/setup/installed.db version is less than 3.
Before continuing, recommend to execute below command:
    apt-cyg dist-upgrade
Do you continue? [y/N] N
abort

$ apt-cyg dist-upgrade

$ apt-cyg install libgif7

apt-cygが動かない場合

何らかの理由でapt-cygが動かない場合の手順は以下の通り.

  1. cygwinミラーサイトからliggif7-5.1.4-1.tar.xzをダウンロードする.
  2. 展開してgnupack-pretest_devel-2018.11.25\app\cygwin\cygwin\binにコピー.

-pオプションでプロキシを指定するとapt-cygが動くかも.

参考

window10でうまくEmacsが起動しない

追記(2022-08-21)

gnupackを再インストールしたらlibgif7がインストールできなくなったので追記.

発生までの手順

  1. gnupackをダウンロードする.ファイルはgnupack-pretest_devel-2018.11.25.exe.
  2. exeファイルを実行して適当なフォルダに展開する.
  3. startup_cygwin.exeでbashを動かす.
  4. apt-cyglibgif7をインストールしたら,以下のエラーが発生.
# apt-cyg install libgif7
Warning: /etc/setup/installed.db version is less than 3.
Before continuing, recommend to execute below command:
    apt-cyg dist-upgrade
Do you continue? [y/N] y
continue
Cache directory is /setup
Mirror is http://ftp.jaist.ac.jp/pub/cygwin
chmod: '/setup/.apt-cyg' のパーミッションを変更しています: Invalid argument
Error: cannot initialize directory /setup/.apt-cyg

対策

  1. githubからapt-cygをダウンロード.
  2. gnupack-pretest_devel-2018.11.25\app\scriptにあるapt-cygを入替える.バージョン(apt-cyg --version)はどちらも0.57なので,混乱しないように.
  3. apt-cyg dist-upgradeでパッケージを最新化.
  4. apt-cyg install libgif7でlibgif7をインストール.