caldwell / build-emacs

Build scripts for www.emacsformacosx.com
http://www.emacsformacosx.com/about
GNU General Public License v3.0
364 stars 61 forks source link

Build error (launch: no such file) #140

Closed ismagilli closed 6 months ago

ismagilli commented 6 months ago

Hello!

I trying to build emacs on my computer and have build error:

ismagilov@ws03 BUILD % time ../combine-and-package -v Emacs-29.2-14-x86_64.tar.bz2
+ mkdir -p combined
+ rm -rf combined/Emacs.app
+ rm -rf ./Emacs.app
+ tar xf Emacs-29.2-14-x86_64.tar.bz2
+ cp -r ./Emacs.app combined/Emacs.app {:preserve=>true}
+ rm -rf combined/Emacs.app/Contents/MacOS/bin
+ rm -rf combined/Emacs.app/Contents/MacOS/lib-x86_64-14
+ rm -rf combined/Emacs.app/Contents/MacOS/libexec
+ cp ./Emacs.app/Contents/MacOS/Emacs combined/Emacs.app/Contents/MacOS/Emacs-x86_64-14
+ cp -r ./Emacs.app/Contents/MacOS/bin combined/Emacs.app/Contents/MacOS/bin-x86_64-14
+ cp -r ./Emacs.app/Contents/MacOS/lib-x86_64-14 combined/Emacs.app/Contents/MacOS/lib-x86_64-14
+ cp -r ./Emacs.app/Contents/MacOS/libexec combined/Emacs.app/Contents/MacOS/libexec-x86_64-14
+ mv combined/Emacs.app/Contents/MacOS/libexec-x86_64-14/Emacs.pdmp combined/Emacs.app/Contents/MacOS/Emacs-x86_64-14.pdmp
+ cp /Users/ismagilov/dev/build-emacs/launch combined/Emacs.app/Contents/MacOS/Emacs
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1386:in `initialize': No such file or directory @ rb_sysopen - /Users/ismagilov/dev/build-emacs/launch (Errno::ENOENT)
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1386:in `open'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1386:in `copy_file'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:492:in `copy_file'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:419:in `block in cp'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1558:in `block in fu_each_src_dest'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1574:in `fu_each_src_dest0'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1556:in `fu_each_src_dest'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:418:in `cp'
    from /Users/ismagilov/dev/build-emacs/verbose-shell.rb:90:in `method_missing'
    from ../combine-and-package:83:in `combine'
    from ../combine-and-package:178:in `<main>'
../combine-and-package -v Emacs-29.2-14-x86_64.tar.bz2  4.36s user 1.75s system 89% cpu 6.844 total

What I doing wrong?

ismagilli commented 6 months ago

I think the problem is that launch.rs can not build:

ismagilov@ws03 build-emacs % cargo build
   Compiling emacs-launcher v0.1.0 (/Users/ismagilov/dev/build-emacs)
error[E0554]: `#![feature]` may not be used on the stable release channel
  --> launch.rs:36:12
   |
36 | #![feature(exit_status_error)]
   |            ^^^^^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0554`.
error: could not compile `emacs-launcher` (bin "launch") due to 1 previous error

The only one line of code which use this feature is status.exit_ok()?;. I am not familiar with rust, so I do not know how can I replace this line.

ismagilli commented 6 months ago

I found solution:

  1. Use nightly rust version: rustup default nightly.
  2. Manually copy executable: cp ./target/release/launch .