Opened 14 months ago
Last modified 5 months ago
#71047 assigned defect
emacs-app @29.4_1+imagemagick+nativecomp+rsvg+treesitter: Failed to activate
| Reported by: | eschnett (Erik Schnetter) | Owned by: | drkp (Dan Ports) |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 2.10.2 |
| Keywords: | sequoia arm64 | Cc: | catap (Kirill A. Korinsky), jmroot (Joshua Root), jjstickel (Jonathan Stickel), l2dy (Zero King), kanreki, rpbpolis (Bob Polis), y-lee (Yeechang Lee) |
| Port: | emacs-app |
Description
I am trying to install emacs-app "+imagemagick+nativecomp+rsvg+treesitter". This fails:
$ sudo port install emacs-app "+imagemagick+nativecomp+rsvg+treesitter"
---> Computing dependencies for emacs-app
---> Activating emacs-app @29.4_1+imagemagick+nativecomp+rsvg+treesitter
Error: Failed to activate emacs-app: Image error: Source file /opt/local/var/macports/software/emacs-app/emacs-app-29.4_1+imagemagick+nativecomp+rsvg+treesitter.darwin_24.arm64/Applications/MacPorts/Emacs.app/Contents/Frameworks/native-lisp/29_4-ca101c6e/subr--trampoline-782d7365727665722d6d61782d726571756573742d73697a65_x_server_max_request_size_0.eln does not appear to exist. Unable to activate port emacs-app.
while executing
"throw registry::image-error "Image error: Source file $srcfile does not appear to exist. Unable to activate port ${portname}.""
("foreach" body line 10)
invoked from within
"foreach file $imagefiles {
incr progress_step
_progress update $progress_step $progress_total_steps
se..."
invoked from within
"registry::write {
foreach file $imagefiles {
incr progress_step
_progress update $progress_step $progress_..."
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_editors_emacs/emacs-app/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port emacs-app failed
Attachments (2)
Change History (26)
comment:1 Changed 14 months ago by eschnett (Erik Schnetter)
comment:2 Changed 14 months ago by ryandesign (Ryan Carsten Schmidt)
| Cc: | catap added; kirill@… removed |
|---|---|
| Keywords: | sequoia arm64 added |
| Owner: | set to drkp |
| Status: | new → assigned |
| Summary: | emacs-app 29.4_1 [+imagemagick+nativecomp+rsvg+treesitter]: Error when activating → emacs-app @29.4_1+imagemagick+nativecomp+rsvg+treesitter: Failed to activate |
Please attach the main.log file.
Changed 14 months ago by eschnett (Erik Schnetter)
comment:4 Changed 14 months ago by ryandesign (Ryan Carsten Schmidt)
| Version: | → 2.10.2 |
|---|
Josh, is this a base bug? The log doesn't have much in it. No fetching, no building, just failed activation.
comment:5 Changed 14 months ago by ryandesign (Ryan Carsten Schmidt)
| Cc: | jmroot added |
|---|
comment:6 Changed 14 months ago by jmroot (Joshua Root)
Hard to say. If the file is actually missing from the image, it's WAI.
comment:7 Changed 14 months ago by ryandesign (Ryan Carsten Schmidt)
So then maybe the next troubleshooting step is to uninstall the port, clean it, and try to install it again. Try:
sudo port clean emacs-app sudo port uninstall emacs-app sudo port install emacs-app +imagemagick +nativecomp +rsvg +treesitter
If it fails again, please attach the new main.log file; maybe it will have more complete information in it.
Changed 14 months ago by eschnett (Erik Schnetter)
| Attachment: | main.2.log added |
|---|
Log file including build output
comment:8 Changed 14 months ago by eschnett (Erik Schnetter)
Done. The build still fails, with the same error message.
comment:9 Changed 14 months ago by ryandesign (Ryan Carsten Schmidt)
But you'll notice the new log is 3.8MB compared to the old log's 11.4KB so we now have more information we can analyze.
For example, I see this in the new log:
:info:install a ./Applications/MacPorts/Emacs.app/Contents/Frameworks/native-lisp/29_4-ca101c6e/subr--trampoline-782d7365727665722d6d61782d726571756573742d73697a65_x_server_max_request_size_0.eln :info:install a ./Applications/MacPorts/Emacs.app/Contents/Frameworks/native-lisp/29_4-ca101c6e/ebnf-dtd-3a6441e4-ed9e4a3a.eln :info:install x ./Applications/MacPorts/Emacs.app/Contents/Frameworks/native-lisp/29_4-ca101c6e/._subr--trampoline-782d7365727665722d6d61782d726571756573742d73697a65_x_server_max_request_size_0.eln :info:install x ./Applications/MacPorts/Emacs.app/Contents/Frameworks/native-lisp/29_4-ca101c6e/ebnf-dtd-3a6441e4-ed9e4a3a.elna ./Applications/MacPorts/Emacs.app/Contents/Frameworks/native-lisp/29_4-ca101c6e/vcursor-f24573d4-9fbe65a0.eln
Lines beginning with a are adding files to an archive. Lines beginning with x are extracting files from an archive. They seem to be happening simultaneously. This seems unusual to me but the way that ports are activated was overhauled in MacPorts 2.10.0 and I am not yet familiar with it so it may be normal.
What caught my eye about this though is that for this file that you're having a problem with—subr--trampoline-782d7365727665722d6d61782d726571756573742d73697a65_x_server_max_request_size_0.eln—I see an entry where its name is preceded by ._ (and this is the only file that does this). Such files have caused us problems with activation before; see #60749. The question is why this port seems to have a ._ file and how we can get rid of it.
comment:10 Changed 14 months ago by jjstickel (Jonathan Stickel)
| Cc: | jjstickel added |
|---|
comment:11 Changed 14 months ago by jjstickel (Jonathan Stickel)
Same for emacs (which makes sense, give emacs-app is a subport of emacs):
---> Activating emacs @29.4_1+nativecomp+treesitter+x11
Error: Failed to activate emacs: Image error: Source file /opt/local/var/macports/software/emacs/emacs-29.4_1+nativecomp+treesitter+x11.darwin_24.arm64/opt/local/lib/emacs/29.4/native-lisp/29.4-e48838b5/subr--trampoline-782d7365727665722d6d61782d726571756573742d73697a65_x_server_max_request_size_0.eln does not appear to exist. Unable to activate port emacs.
while executing
"throw registry::image-error "Image error: Source file $srcfile does not appear to exist. Unable to activate port ${portname}.""
("foreach" body line 10)
invoked from within
"foreach file $imagefiles {
incr progress_step
_progress update $progress_step $progress_total_steps
se..."
invoked from within
"registry::write {
foreach file $imagefiles {
incr progress_step
_progress update $progress_step $progress_..."
FWIW, disabling the nativecomp variant (-nativecomp) allows emacs and emacs-app to build, install, and activate cleanly on Sequoia.
comment:12 Changed 14 months ago by l2dy (Zero King)
| Cc: | l2dy added |
|---|
comment:13 Changed 14 months ago by kanreki
| Cc: | kanreki added |
|---|
comment:14 follow-up: 15 Changed 14 months ago by jdw13
similar issue with "port install emacs +x11"
I am able to install "port install emacs" and it builds/runs nicely. However, "port install emacs +x11" fails in a similar fashion. Environmental:
MacBook Air M1, 2020, running
macOS Sequoia 15.1
Xcode 16.1 (with corresponding CLI for Xcode 16.1)
port version 2.10.3.
I have the main.log file if you need to see it.
---> Computing dependencies for emacs
---> Activating emacs @29.4_1+nativecomp+treesitter+x11
Error: Failed to activate emacs: Image error: Source file /opt/local/var/macports/software/emacs/emacs-29.4_1+nativecomp+treesitter+x11.darwin_24.arm64/opt/local/lib/emacs/29.4/native-lisp/29.4-7e261f80/subr--trampoline-782d7365727665722d6d61782d726571756573742d73697a65_x_server_max_request_size_0.eln does not appear to exist. Unable to activate port emacs.
while executing
"throw registry::image-error "Image error: Source file $srcfile does not appear to exist. Unable to activate port ${portname}.""
("foreach" body line 10)
invoked from within
"foreach file $imagefiles {
incr progress_step
_progress update $progress_step $progress_total_steps
se..."
invoked from within
"registry::write {
foreach file $imagefiles {
incr progress_step
_progress update $progress_step $progress_..."
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_editors_emacs/emacs/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port emacs failed
comment:15 Changed 14 months ago by jjstickel (Jonathan Stickel)
Replying to jdw13:
similar issue with "port install emacs +x11"
I am able to install "port install emacs" and it builds/runs nicely. However, "port install emacs +x11" fails in a similar fashion.
Have you tried installing without the default nativcomp variant? Like so: port install emacs +x11 -nativecomp.
comment:16 follow-up: 17 Changed 14 months ago by jdw13
Yes, thanks. That works for me, and emacs starts in a new x-window just as it should.
Thanks a bunch, I have never used the "-nativecomp" before but perhaps I should.'
I still get the cosmetic(?) assertion message when emacs is invoked, as has been happening for many years ever since I started using "+x11" I don't know what tree-sitter is but could it be that I need to install that to get rid of the error message?
$ emacs (process:4854): GLib-GIO-CRITICAL **: 19:07:35.363: g_settings_schema_source_lookup: assertion 'source != NULL' failed magosin-M1-Air: (macports) /Users/jw/macports $
$ sudo port clean emacs
---> Cleaning emacs
magosin-M1-Air: (macports) /Users/jw/macports
$ sudo port install emacs +x11 -nativecomp
---> Computing dependencies for emacs
---> Fetching archive for emacs
---> Attempting to fetch emacs-29.4_1+treesitter+x11.darwin_24.arm64.tbz2 from https://packages.macports.org/emacs
---> Attempting to fetch emacs-29.4_1+treesitter+x11.darwin_24.arm64.tbz2 from http://bos.us.packages.macports.org/emacs
---> Attempting to fetch emacs-29.4_1+treesitter+x11.darwin_24.arm64.tbz2 from https://mirrors.mit.edu/macports/packages/emacs
---> Fetching distfiles for emacs
---> Verifying checksums for emacs
---> Extracting emacs
---> Applying patches to emacs
---> Configuring emacs
Warning: Configuration logfiles contain indications of -Wimplicit-function-declaration; check that features were not accidentally disabled:
MIN: found in emacs-29.4/config.log
__fpending: found in emacs-29.4/config.log
re_set_syntax: found in emacs-29.4/config.log
re_compile_pattern: found in emacs-29.4/config.log
re_search: found in emacs-29.4/config.log
alignof: found in emacs-29.4/config.log
Warning: Configuration logfiles contain indications of -Wimplicit-int; check that features were not accidentally disabled:
found in emacs-29.4/config.log
---> Building emacs
---> Staging emacs into destroot
[ ⢠⢠⢠⢠⢠⢠⢠⢠⢠⢠⢠â¢]
.....snip....
__fpending: found in emacs-29.4/config.log
re_set_syntax: found in emacs-29.4/config.log
re_compile_pattern: found in emacs-29.4/config.log
re_search: found in emacs-29.4/config.log
alignof: found in emacs-29.4/config.log
Warning: Configuration logfiles contain indications of -Wimplicit-int; check that features were not accidentally disabled:
found in emacs-29.4/config.log
---> Building emacs
---> Staging emacs into destroot
---> Installing emacs @29.4_1+treesitter+x11
---> Activating emacs @29.4_1+treesitter+x11
---> Cleaning emacs
---> Scanning binaries for linking errors
---> No broken files found.
---> No broken ports found.
---> Some of the ports you installed have notes:
emacs has the following notes:
To install tree-sitter grammar libraries not required by built-in *-ts-modes, please use M-x treesit-install-language-grammar.
For details, please refer to etc/NEWS or the Emacs Lisp reference manual.
comment:17 Changed 11 months ago by berthoud (Marc Berthoud)
Replying to jdw13: Same result as for jdw13:
- Started with fresh 15.1 install on M4 with Xcode, macports and XQuarz.
- Same error as observed by eschnett, on
sudo port install emacs +X11(first package installed by port) - The
-nativecompoption worked just as it did for jdw13, jjstickel thank you for the workaround.
Is it possible to make -nativecomp option default as it appears to be a prerequisite for successfully installing emacs?
Contact me if there's anything I can do to help with debugging.
comment:18 follow-up: 19 Changed 10 months ago by wyuenho (Jimmy Yuen Ho Wong)
This problem still exists on Emacs 30. Something's wrong with the way we compile GCC 14.
comment:19 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)
Replying to wyuenho:
Something's wrong with the way we compile GCC 14.
What makes you think that? Can you be more specific about what you think is wrong?
comment:20 Changed 10 months ago by wyuenho (Jimmy Yuen Ho Wong)
This problem did not exist on Sonoma but only started to appear in Sequoia. During the build process, emacs --with-native-compilation will compile every Elisp file into machine code. Some Elisp files advice or override a primitive function defined in C, when compiled, a trampoline will be generated for the override, that's what that missing subr--trampoline-782d7365727665722d6d61782d726571756573742d73697a65_x_server_max_request_size_0.eln is supposed to be. The file is missing because GCC JIT failed to compile the override into a trampoline. This not only happens during the build process, it happens during regular use as well. If you have some Elisp code in your init.el file overriding a primitive function, sometimes GCC 14's GIT will fail to build a trampoline and an error results in the async native compile buffer.
comment:21 Changed 10 months ago by wyuenho (Jimmy Yuen Ho Wong)
As a reference, I think these two issues are related.
comment:22 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)
| Cc: | rpbpolis added |
|---|
Has duplicate #72121.
comment:23 Changed 10 months ago by y-lee (Yeechang Lee)
| Cc: | y-lee added |
|---|
comment:24 Changed 5 months ago by jjstickel (Jonathan Stickel)
I noticed recently that the buildbot is providing a binary package of emacs-app with +nativecomp. So I tried compiling it locally, and it is in fact working now. So maybe this ticket can be closed. I am on Sequoia 15.5.

I am running Sequoia 15.0.1 on