MacOS MojveでGcc Emacs ビルド
参考サイト以下の指示に従ってインストールできた。
ネイティブコンパイルEmacsの登場 | 日々、とんは語る。
Homebrewから予めインストールしていたパッケージは
libgccjit、 automakeとautoconfもエラーの際に手当てした。
と書かれていたが既にDLしているので心配なし。
A : libgccjitを利用したコードをビルドできるか確認。
1. libgccjitをインストールしたら、libgccjitを利用した
コードをビルドできるか確認してみましょう。
2. 矢張り『解説』に有る「上記のエラーが表示されてしまいました。」
3. 『LIBRARY_PATH環境変数を定義してビルド』を実行。
(生成されたtut01-hello-worldバイナリファイルを実行すると
hello worldも表示できた)
4. .bash_profileファイルに環境変数LIBRARY_PATHを追加
B : Emacsをビルドする
1. $ git clone git://git.sv.gnu.org/emacs.git
2. $ cd ./emacs
3. $ ./autogen.sh # configureファイルが作成される
4. ./configure --with-native-compilation --with-ns --without-x --with-xwidgets
(xwidgetsも使いたいのでサイトには書かれていないオプションも追記)
5. $ make install
find native-lisp -type f -exec /usr/local/bin/ginstall -c -m 644 "{}" "/Users/kuni7/Desktop/DeskTop-files/emacs/nextstep/Emacs.app/Contents/Frameworks/{}" \;
以上のようなコメントが現れ、無事にnextstepディレクトリにEmacs.appが生成されました。
(が、ここまで実行されるのに結構、長時間を要しました。)
今までEmacs27.2 & Emacs 28,0,50_1(emacs-head@28)で共通に
使用していた『.emacs.d』を併用すると『エラー』表示が次々に現れ
「ctrl+X 1」で画面を回避しながら
1. M-x describe-variable RET
system-configuration-features RETを実行
2. 『表示された*Help*バッファのIts value isにNATIVE_COMPが含まれていれば、ネイティブコンパイルできるGcc Emacsになります。』は
確認できた。
3. 新規に『.emacs.d』フォルダーを作成。
4. インストールの際に作成された『(デフォルトであれば~/.emacs.d/eln-cacheフォルダー)に保存されます。』の『eln-cache』フォルダーを移植
5. init.el は新規に用意
6. init.el には取り敢えず「日本語utf-8」が機能するように
;;; Emacs directory
(setq user-emacs-directory "~/.emacs.d/")
;;; ~/.emacs.d/init.el
;;; Japanese, UTF8
(set-language-environment 'Japanese)
(prefer-coding-system 'utf-8)
のみ書き込む。
1.『 書き込んだ「setq」「set」が古い書き込み命令です』と
エラー表示が出てくる。
2. 問題部分を「コメントアウト」して再起動。
3. 未だ、色々エラー表示が出てくる。
4. 目下必要な部分だけ『オプション』で登録。
フォントの大きさ。テーマ画面の変更。パッケージの追加。
5. init.elに『(custom-set-variables』として追記されている。
6. LaTeXを実行できることが前提でのGccEmacsのインストール
なので「auctex」をパッケージに追加したが
コンパイルの際に『PATHが不明』とコメントされたので、
TeX WiKiのauctexの設定記事をそのままinit.elに追記。
7. Gcc Emacsを再起動後、LaTeXコンパイルを実行するが、
何故か??PDF表示まで実行されない。
E:反省点
1. Gcc Emacsのインストールの際に「.emacs.d」を
回避しておくのを忘れていた。
2. init.elは白紙状態のファイルにして配置しておくべきだった。
3. 1&2を実行していれば、『eln-cache』フォルダーを
移植する必要もなく、ごく普通に起動が出来たか?