From: Bruno Haible <bruno@clisp.org>
To: 65339@debbugs.gnu.org
Subject: bug#65339: build failure on Android (Termux)
Date: Wed, 16 Aug 2023 12:25:21 +0200 [thread overview]
Message-ID: <4722817.cl5Wp8zd50@nimes> (raw)
After working around bug#65319, the build of Emacs in the Termux app
on Android 11 fails like this:
$ make
...
cp -f temacs bootstrap-emacs
rm -f bootstrap-emacs.pdmp
./temacs --batch -l loadup --temacs=pbootstrap \
--bin-dest /usr/local/bin/ --eln-dest /usr/local/lib/emacs/30.0.50/
Loading loadup.el (source)...
Dump mode: pbootstrap
Using load-path (/data/data/com.termux/files/home/emacs/lisp /data/data/com.termux/files/home/emacs/lisp/emacs-lisp /data/data/com.termux/files/home/emacs/lisp/progmodes /data/data/com.termux/files/home/emacs/lisp/language /data/data/com.termux/files/home/emacs/lisp/international /data/data/com.termux/files/home/emacs/lisp/textmodes /data/data/com.termux/files/home/emacs/lisp/vc)
Loading emacs-lisp/debug-early (source)...
Loading emacs-lisp/byte-run (source)...
Loading emacs-lisp/backquote (source)...
Loading subr (source)...
Loading keymap (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 /data/data/com.termux/files/home/emacs/lisp/files.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/emacs-lisp/macroexp.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/emacs-lisp/pcase.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/emacs-lisp/macroexp.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/cus-face.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/faces.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/ldefs-boot.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/button.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/emacs-lisp/cl-preloaded.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/emacs-lisp/oclosure.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/obarray.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/abbrev.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/help.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/jka-cmpr-hook.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/epa-hook.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/international/mule-cmds.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/case-table.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/international/characters.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/international/charscript.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/international/emoji-zwj.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/composite.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/chinese.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/cyrillic.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/indian.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/sinhala.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/english.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/ethiopic.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/european.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/czech.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/slovak.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/romanian.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/greek.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/hebrew.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/international/cp51932.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/international/eucjp-ms.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/japanese.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/korean.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/lao.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/tai-viet.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/thai.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/tibetan.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/vietnamese.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/misc-lang.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/utf-8-lang.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/georgian.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/khmer.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/burmese.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/cham.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/philippine.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/language/indonesian.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/indent.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/emacs-lisp/cl-generic.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/simple.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/emacs-lisp/seq.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/emacs-lisp/nadvice.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/minibuffer.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/frame.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/startup.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/term/tty-colors.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/font-core.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/emacs-lisp/syntax.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/font-lock.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/jit-lock.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/mouse.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/select.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/emacs-lisp/timer.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/emacs-lisp/easymenu.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/isearch.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/rfn-eshadow.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/menu-bar.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/tab-bar.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/emacs-lisp/lisp.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/textmodes/page.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/register.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/textmodes/paragraphs.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/progmodes/prog-mode.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/emacs-lisp/lisp-mode.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/textmodes/text-mode.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/textmodes/fill.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/newcomment.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/replace.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/emacs-lisp/tabulated-list.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/buff-menu.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/touch-screen.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/progmodes/elisp-mode.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/emacs-lisp/float-sup.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/vc/vc-hooks.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/vc/ediff-hook.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/uniquify.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/electric.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/paren.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/emacs-lisp/shorthands.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/emacs-lisp/eldoc.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/emacs-lisp/cconv.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/cus-start.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/tooltip.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/international/iso-transl.el (source)...
Loading /data/data/com.termux/files/home/emacs/lisp/emacs-lisp/rmc.el (source)...
Finding pointers to doc strings...
Finding pointers to doc strings...done
Dumping under the name bootstrap-emacs.pdmp
Dumping fingerprint: 9d1f04d2a4bf5bdeb7c24c37906b24b3cbe2fa79fdbdcaed721520df25d33edb
Dump complete
Byte counts: header=100 hot=7809180 discardable=70896 cold=10881816
Reloc counts: hot=1082237 discardable=4753
fdsan: attempted to close file descriptor 2, expected to be unowned, actually owned by FILE* 0xb678438c
make[2]: *** [Makefile:1012: bootstrap-emacs.pdmp] Aborted
make[2]: *** Deleting file 'bootstrap-emacs.pdmp'
make[2]: Leaving directory '/data/data/com.termux/files/home/emacs/src'
make[1]: *** [Makefile:554: src] Error 2
make[1]: Leaving directory '/data/data/com.termux/files/home/emacs'
make[1]: Entering directory '/data/data/com.termux/files/home/emacs'
***
*** "make all" failed with exit status 2.
The line "fdsan: attempted to close file descriptor 2, expected to be unowned"
is apparently emitted by Android's "file descriptor sanitizer".
There's a discussion of this message here:
https://github.com/termux/termux-packages/issues/6592
and a workaround patch has been posted here:
https://github.com/termux/termux-packages/blob/master/packages/emacs/disable-fdsan.patch
With this workaround patch, the build gets much further: It produces a
working 'src/emacs' executable.
Would it be possible to
- either change Emacs' FILE / dirfd handling so that it no longer produces
this fdsan alert,
- or include the workaround patch in Emacs upstream?
Bruno
next reply other threads:[~2023-08-16 10:25 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-16 10:25 Bruno Haible [this message]
2023-08-16 12:38 ` bug#65339: build failure on Android (Termux) Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-16 22:26 ` Bruno Haible
2023-08-22 0:58 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-16 14:19 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4722817.cl5Wp8zd50@nimes \
--to=bruno@clisp.org \
--cc=65339@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.