4

Kubuntu12.04にアップデートしました。最新のカスタムビルドemacsを除いて、すべて正常に動作します。それは今言う:

emacs: symbol lookup error: emacs: undefined symbol: gtk_window_set_has_resize_grip

そこで、emacsを再構築することにしました。そのためにgit pull、最新のスナップショットを作成し、通常どおりにすべてを実行しましたが、コンパイル中にエラーが発生します。

In file included from /home/boris/its/blds/emacs/lib-src/emacsclient.c:76:0:
../lib/getopt.h:196:8: error: redefinition of ‘struct option’
/usr/include/getopt.h:106:8: note: originally defined here
../lib/getopt.h:245:12: error: conflicting types for ‘getopt_long’
/usr/include/getopt.h:175:12: note: previous declaration of ‘getopt_long’ was here
../lib/getopt.h:249:12: error: conflicting types for ‘getopt_long_only’
/usr/include/getopt.h:179:12: note: previous declaration of ‘getopt_long_only’ was here
make[1]: *** [emacsclient] Error 1
make[1]: Leaving directory `/home/boris/its/blds/emacs/lib-src'
make: *** [lib-src] Error 2

グーグル検索はこれらのエラーについてほとんど何も明らかにしません。

編集

以下はそれを解決します( JSONのおかげで):

git pull
./autogen.sh
./configure --prefix=/home/boris/its/soft/Emacs_24.1.50
make bootstrap
make install
4

5 に答える 5

3

最も簡単な方法は、PPAを使用することです:emacs-snapshot

sudo add-apt-repository ppa:cassou/emacs
sudo apt-get update
sudo apt-get install emacs-snapshot
于 2012-04-28T10:57:22.700 に答える
2

Ubuntu 12.04へのアップデートでこれらの問題が発生し、INSTALL.BZRの手順に戻って初めてチェックアウトすることで問題を解決しました。新しいバージョンのUbuntuでlibcが変更されたため、構成ファイルを再生成する必要があるようです。

于 2012-05-02T03:00:57.323 に答える
1

これは、git pullの後にemacsをビルドするために私が行うことです(毎晩それを行うための私のスクリプト)

make distclean && autoreconf -i -I m4 && ./configure && make && sudo make install
于 2013-05-01T19:40:58.463 に答える
0

私はopと同じ問題を抱えていて、システムからemacsを削除し、最初からコンパイルしました。

いいえ、ppaを追加する必要はありませんでした。すべての票を獲得するような答えを見るたびに、スタックエクスチェンジ全般について疑問に思います。同じ問題を抱えている可能性のある他の人に誤解を与え、誤解を招くだけです。

いいえ、一度言いましたが、もう一度言います。fsfから最新のemacsをダウンロードしてください。

getopt.hはlibc6-devの一部であることを付け加えておきます(jsonが言ったように)。libc6-devは、libjpeg libncurses libpng libtiff xlibsなどの必須グループの一部です。一度削除して、再インストールしてください。問題は、構成時にemacs24のプレフィックスで今回指定する必要がある構成オプションパスにあります。ただし、autogenもブートストラップも必要ありません。makeとmakeinstallを実行するだけです。

于 2013-06-30T11:51:15.527 に答える
0
make maintainer-clean
./autogen.sh
./configure
make

http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10108#8

私はあなたと同じ問題を抱えていましたが、24.5タグについてです。問題は、autogen.shを再実行して新しい構成スクリプトを作成しなかったことです。autogen.shからのすべての構成出力は.gitignoreで無視されますが、追跡されていないファイルはすべてgitstatusでリストされると想定しました。

于 2015-05-10T21:30:10.060 に答える