unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#65339: build failure on Android (Termux)
@ 2023-08-16 10:25 Bruno Haible
  2023-08-16 12:38 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-08-16 14:19 ` Eli Zaretskii
  0 siblings, 2 replies; 5+ messages in thread
From: Bruno Haible @ 2023-08-16 10:25 UTC (permalink / raw)
  To: 65339

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








^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-08-22  0:58 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-16 10:25 bug#65339: build failure on Android (Termux) Bruno Haible
2023-08-16 12:38 ` 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

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).