RustでEmacsを実装しているらしいので、ビルドしてみた。Rustに興味がわいた。
Rustのインストール
curl https://sh.rustup.rs -sSf | sh
Remacsのソース取得とビルド。こける
git clone https://github.com/Wilfred/remacs.git cd remacs/rust_src cargo build cd .. ./autogen.sh ./configure --without-makeinfo --with-ns --without-x make
こんなエラーで止まる。 Emacsでもmac向けにパッチ当ててるやつが抜けてるのだろうか。。。
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C ../lisp update-subdirs ./temacs --batch --load loadup bootstrap Loading loadup.el (source)... Using load-path (/Users/peccu/remacs/lisp /Users/peccu/remacs/lisp/emacs-lisp /Users/peccu/remacs/lisp/language /Users/peccu/remacs/lisp/international /Users/peccu/remacs/lisp/textmodes /Users/peccu/remacs/lisp/vc) Loading emacs-lisp/byte-run (source)... Loading emacs-lisp/backquote (source)... Loading subr (source)... Loading version (source)... Loading widget (source)... Loading custom (source)... Loading emacs-lisp/map-ynp (source)... Loading international/mule (source)... Loading international/mule-conf (source)... Loading env (source)... Loading format (source)... Loading bindings (source)... Loading window (source)... Loading /Users/peccu/remacs/lisp/files.el (source)... Loading /Users/peccu/remacs/lisp/emacs-lisp/macroexp.el (source)... Loading /Users/peccu/remacs/lisp/emacs-lisp/pcase.el (source)... Loading /Users/peccu/remacs/lisp/emacs-lisp/macroexp.el (source)... Loading /Users/peccu/remacs/lisp/cus-face.el (source)... Loading /Users/peccu/remacs/lisp/faces.el (source)... Loading /Users/peccu/remacs/lisp/button.el (source)... Loading /Users/peccu/remacs/lisp/ldefs-boot.el (source)... Loading /Users/peccu/remacs/lisp/emacs-lisp/nadvice.el (source)... Loading /Users/peccu/remacs/lisp/emacs-lisp/cl-preloaded.el (source)... Loading /Users/peccu/remacs/lisp/minibuffer.el (source)... ../lisp/minibuffer.el: ‘with-wrapper-hook’ is an obsolete macro (as of 24.4); use a <foo>-function variable modified by ‘add-function’. Loading /Users/peccu/remacs/lisp/abbrev.el (source)... ../lisp/abbrev.el: ‘with-wrapper-hook’ is an obsolete macro (as of 24.4); use a <foo>-function variable modified by ‘add-function’. Loading /Users/peccu/remacs/lisp/simple.el (source)... ../lisp/simple.el: ‘with-wrapper-hook’ is an obsolete macro (as of 24.4); use a <foo>-function variable modified by ‘add-function’. Loading /Users/peccu/remacs/lisp/help.el (source)... Loading /Users/peccu/remacs/lisp/jka-cmpr-hook.el (source)... Loading /Users/peccu/remacs/lisp/epa-hook.el (source)... Loading /Users/peccu/remacs/lisp/international/mule-cmds.el (source)... Loading /Users/peccu/remacs/lisp/case-table.el (source)... Loading /Users/peccu/remacs/lisp/international/characters.el (source)... Loading /Users/peccu/remacs/lisp/composite.el (source)... Loading /Users/peccu/remacs/lisp/language/chinese.el (source)... Loading /Users/peccu/remacs/lisp/language/cyrillic.el (source)... Loading /Users/peccu/remacs/lisp/language/indian.el (source)... Loading /Users/peccu/remacs/lisp/language/sinhala.el (source)... Loading /Users/peccu/remacs/lisp/language/english.el (source)... Loading /Users/peccu/remacs/lisp/language/ethiopic.el (source)... Loading /Users/peccu/remacs/lisp/language/european.el (source)... Loading /Users/peccu/remacs/lisp/language/czech.el (source)... Loading /Users/peccu/remacs/lisp/language/slovak.el (source)... Loading /Users/peccu/remacs/lisp/language/romanian.el (source)... Loading /Users/peccu/remacs/lisp/language/greek.el (source)... Loading /Users/peccu/remacs/lisp/language/hebrew.el (source)... Loading /Users/peccu/remacs/lisp/international/cp51932.el (source)... Loading /Users/peccu/remacs/lisp/international/eucjp-ms.el (source)... Loading /Users/peccu/remacs/lisp/language/japanese.el (source)... Loading /Users/peccu/remacs/lisp/language/korean.el (source)... Loading /Users/peccu/remacs/lisp/language/lao.el (source)... Loading /Users/peccu/remacs/lisp/language/tai-viet.el (source)... Loading /Users/peccu/remacs/lisp/language/thai.el (source)... Loading /Users/peccu/remacs/lisp/language/tibetan.el (source)... Loading /Users/peccu/remacs/lisp/language/vietnamese.el (source)... Loading /Users/peccu/remacs/lisp/language/misc-lang.el (source)... Loading /Users/peccu/remacs/lisp/language/utf-8-lang.el (source)... Loading /Users/peccu/remacs/lisp/language/georgian.el (source)... Loading /Users/peccu/remacs/lisp/language/khmer.el (source)... Loading /Users/peccu/remacs/lisp/language/burmese.el (source)... Loading /Users/peccu/remacs/lisp/language/cham.el (source)... Loading /Users/peccu/remacs/lisp/indent.el (source)... Loading /Users/peccu/remacs/lisp/emacs-lisp/cl-generic.el (source)... Loading /Users/peccu/remacs/lisp/frame.el (source)... Loading /Users/peccu/remacs/lisp/startup.el (source)... Loading /Users/peccu/remacs/lisp/term/tty-colors.el (source)... Loading /Users/peccu/remacs/lisp/font-core.el (source)... Loading /Users/peccu/remacs/lisp/facemenu.el (source)... Loading /Users/peccu/remacs/lisp/emacs-lisp/syntax.el (source)... Loading /Users/peccu/remacs/lisp/font-lock.el (source)... Loading /Users/peccu/remacs/lisp/jit-lock.el (source)... Loading /Users/peccu/remacs/lisp/mouse.el (source)... Loading /Users/peccu/remacs/lisp/scroll-bar.el (source)... Loading /Users/peccu/remacs/lisp/select.el (source)... Loading /Users/peccu/remacs/lisp/emacs-lisp/timer.el (source)... Loading /Users/peccu/remacs/lisp/isearch.el (source)... Loading /Users/peccu/remacs/lisp/rfn-eshadow.el (source)... Loading /Users/peccu/remacs/lisp/menu-bar.el (source)... Loading /Users/peccu/remacs/lisp/emacs-lisp/lisp.el (source)... Loading /Users/peccu/remacs/lisp/textmodes/page.el (source)... Loading /Users/peccu/remacs/lisp/register.el (source)... Loading /Users/peccu/remacs/lisp/textmodes/paragraphs.el (source)... Loading /Users/peccu/remacs/lisp/progmodes/prog-mode.el (source)... Loading /Users/peccu/remacs/lisp/emacs-lisp/lisp-mode.el (source)... Loading /Users/peccu/remacs/lisp/progmodes/elisp-mode.el (source)... Loading /Users/peccu/remacs/lisp/textmodes/text-mode.el (source)... Loading /Users/peccu/remacs/lisp/textmodes/fill.el (source)... Loading /Users/peccu/remacs/lisp/newcomment.el (source)... Loading /Users/peccu/remacs/lisp/replace.el (source)... Loading /Users/peccu/remacs/lisp/emacs-lisp/tabulated-list.el (source)... Loading /Users/peccu/remacs/lisp/buff-menu.el (source)... Loading /Users/peccu/remacs/lisp/fringe.el (source)... Loading /Users/peccu/remacs/lisp/emacs-lisp/regexp-opt.el (source)... Loading /Users/peccu/remacs/lisp/image.el (source)... Loading /Users/peccu/remacs/lisp/international/fontset.el (source)... Loading /Users/peccu/remacs/lisp/dnd.el (source)... Loading /Users/peccu/remacs/lisp/tool-bar.el (source)... Loading /Users/peccu/remacs/lisp/term/common-win.el (source)... Loading /Users/peccu/remacs/lisp/mwheel.el (source)... Loading /Users/peccu/remacs/lisp/emacs-lisp/float-sup.el (source)... Loading /Users/peccu/remacs/lisp/vc/vc-hooks.el (source)... Loading /Users/peccu/remacs/lisp/vc/ediff-hook.el (source)... Loading /Users/peccu/remacs/lisp/uniquify.el (source)... Loading /Users/peccu/remacs/lisp/electric.el (source)... Loading /Users/peccu/remacs/lisp/emacs-lisp/eldoc.el (source)... Loading /Users/peccu/remacs/lisp/cus-start.el (source)... Loading /Users/peccu/remacs/lisp/tooltip.el (source)... Finding pointers to doc strings... Finding pointers to doc strings...done Dumping under the name emacs --- List of All Regions --- address size prot maxp --- List of Regions to be Dumped --- address size prot maxp --- Header Information --- Magic = 0xfeedfacf CPUType = 16777223 CPUSubType = -2147483645 FileType = 0x2 NCmds = 28 SizeOfCmds = 4152 Flags = 0x00800085 Highest address of load commands in input file: 0x10085f000 Lowest offset of all sections in __TEXT segment: 0x2680 --- List of Load Commands in Input File --- # cmd cmdsize name address size 0 LC_SEGMENT_64 72 __PAGEZERO 0 0x100000000 1 LC_SEGMENT_64 952 __TEXT 0x100000000 0x29f000 __text 0x100002680 0x231c08 __stubs 0x100234288 0xc12 __stub_helper 0x100234e9c 0x142e __const 0x1002362d0 0x2f930 __cstring 0x100265c00 0x155ab __gcc_except_tab 0x10027b1ac 0x3778 __objc_methname 0x10027e924 0x3612 __objc_classname 0x100281f36 0x114 __objc_methtype 0x10028204a 0x1653 __unwind_info 0x1002836a0 0x3910 __eh_frame 0x100286fb0 0x18048 2 LC_SEGMENT_64 1672 __DATA 0x10029f000 0x403000 __nl_symbol_ptr 0x10029f000 0x10 __got 0x10029f010 0x278 __la_symbol_ptr 0x10029f288 0x1018 __const 0x1002a02a0 0xfcc0 __cfstring 0x1002aff60 0x880 __objc_classlist 0x1002b07e0 0x78 __objc_catlist 0x1002b0858 0x8 __objc_protolist 0x1002b0860 0x28 __objc_imageinfo 0x1002b0888 0x8 __objc_const 0x1002b0890 0x3bd0 __objc_selrefs 0x1002b4460 0x10c0 __objc_classrefs 0x1002b5520 0x218 __objc_superrefs 0x1002b5738 0x60 __objc_ivar 0x1002b5798 0x200 __objc_data 0x1002b5998 0x4b0 __data 0x1002b5e50 0x340fc8 __thread_vars 0x1005f6e18 0x90 __thread_data 0x1005f6ea8 0xc8 __bss 0x1005f6f70 0x89ac8 __common 0x100680a40 0x20791 3 LC_SEGMENT_64 72 __LINKEDIT 0x1006a2000 0x1bd000 4 LC_DYLD_INFO_ONLY 48 5 LC_SYMTAB 24 6 LC_DYSYMTAB 80 7 LC_LOAD_DYLINKER 32 8 LC_UUID 24 9 LC_VERSION_MIN_MACOSX 16 10 LC_SOURCE_VERSION 16 11 LC_MAIN 24 12 LC_LOAD_DYLIB 88 13 LC_LOAD_DYLIB 88 14 LC_LOAD_DYLIB 64 15 LC_LOAD_DYLIB 88 16 LC_LOAD_DYLIB 88 17 LC_LOAD_DYLIB 56 18 LC_LOAD_DYLIB 56 19 LC_LOAD_DYLIB 56 20 LC_LOAD_DYLIB 48 21 LC_LOAD_DYLIB 104 22 LC_LOAD_DYLIB 104 23 LC_LOAD_DYLIB 96 24 LC_LOAD_DYLIB 96 25 LC_LOAD_DYLIB 56 26 LC_FUNCTION_STARTS 16 27 LC_DATA_IN_CODE 16 0x102bfc080 (sz: 0x3f24/ 0x3f28) 0x102b00000 (sz: 0xa696f/ 0xfc080) 0x102dfc080 (sz: 0x3f24/ 0x3f28) 0x102d00000 (sz: 0x22ac5/ 0xfc080) 0x102afc080 (sz: 0x3f25/ 0x3f28) 0x102a00000 (sz: 0xfc07f/ 0xfc080) 0x1080fc080 (sz: 0x3f24/ 0x3f28) 0x108000000 (sz: 0xc515/ 0xfc080) 0x102cfc080 (sz: 0x3f24/ 0x3f28) 0x102c00000 (sz: 0x4e4af/ 0xfc080) 0x1047f8000 (sz: 0x19ae/ 0x7fa0) 0x104000000 (sz: 0x198bff/0x7f8000) 0x103ff8000 (sz: 0x671a/ 0x7fa0) 0x103800000 (sz: 0x66f7ff/0x7f8000) 0x1037f8000 (sz: 0x6fd6/ 0x7fa0) 0x103000000 (sz: 0x6fb3ff/0x7f8000) 0x104ff8000 (sz: 0x163e/ 0x7fa0) 0x104800000 (sz: 0x161c00/0x7f8000) 0x100cca000 (sz: 0/ 0x1000) --- Load Commands written to Output File --- Writing segment __PAGEZERO @ 0 ( 0/0x100000000 @ 0) Writing segment __TEXT @ 0 (0x29f000/0x29f000 @ 0x100000000) Writing segment __DATA @ 0x29f000 (0x403000/0x403000 @ 0x10029f000) section __nl_symbol_ptr at 0x29f000 - 0x29f010 (sz: 0x10) section __got at 0x29f010 - 0x29f288 (sz: 0x278) section __la_symbol_ptr at 0x29f288 - 0x2a02a0 (sz: 0x1018) section __const at 0x2a02a0 - 0x2aff60 (sz: 0xfcc0) section __cfstring at 0x2aff60 - 0x2b07e0 (sz: 0x880) section __objc_classlist at 0x2b07e0 - 0x2b0858 (sz: 0x78) section __objc_catlist at 0x2b0858 - 0x2b0860 (sz: 0x8) section __objc_protolist at 0x2b0860 - 0x2b0888 (sz: 0x28) section __objc_imageinfo at 0x2b0888 - 0x2b0890 (sz: 0x8) section __objc_const at 0x2b0890 - 0x2b4460 (sz: 0x3bd0) section __objc_selrefs at 0x2b4460 - 0x2b5520 (sz: 0x10c0) section __objc_classrefs at 0x2b5520 - 0x2b5738 (sz: 0x218) section __objc_superrefs at 0x2b5738 - 0x2b5798 (sz: 0x60) section __objc_ivar at 0x2b5798 - 0x2b5998 (sz: 0x200) section __objc_data at 0x2b5998 - 0x2b5e48 (sz: 0x4b0) section __data at 0x2b5e50 - 0x5f6e18 (sz: 0x340fc8) unexec: unrecognized section __thread_vars in __DATA segment make[1]: *** [bootstrap-emacs] Error 1 make: *** [src] Error 2