[MacPorts] #67406: Emacs @28.2+native-compile fails to build on on osx 10.6 - temacs missing files
MacPorts
noreply at macports.org
Fri Sep 8 02:43:58 UTC 2023
#67406: Emacs @28.2+native-compile fails to build on on osx 10.6 - temacs missing
files
---------------------------+----------------------
Reporter: aeggenberger | Owner: drkp
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.8.1
Resolution: | Keywords:
Port: emacs |
---------------------------+----------------------
Comment (by aeggenberger):
I used the workaround and was able to build several versions of 29.1
-treesitter. All of them locked up at times while trying to native compile
asynchronously. I traced the problem to this line of code in the
definition of create_process() in src/process.c.
{{{
emacs_read (p->open_fd[READ_FROM_EXEC_MONITOR], &dummy, 1);
}}}
The documentation for that block of code is
{{{
/* Wait for child_setup to complete in case that vfork is
actually defined as fork. The descriptor
XPROCESS (proc)->open_fd[EXEC_MONITOR_OUTPUT]
of a pipe is closed at the child side either by close-on-exec
on successful execve or the _exit call in child_setup. */
}}}
I found that using GDB to force a call to read() to return and then
continuing would allow native compilation and other asynchronous
activities to proceed. Commenting out that line and compiling seems to fix
the issue. I think the check is actually unnecessary because vfork and
fork seem to have different implementations on OS X 10.6, but I'm not sure
of that, and I wouldn't be surprised if further breakages result.
--
Ticket URL: <https://trac.macports.org/ticket/67406#comment:6>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list