* 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
* bug#65339: build failure on Android (Termux)
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-16 14:19 ` Eli Zaretskii
1 sibling, 1 reply; 5+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-08-16 12:38 UTC (permalink / raw)
To: Bruno Haible; +Cc: 65339
Bruno Haible <bruno@clisp.org> writes:
> 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
This should be fixed now, please test and ack. Thanks.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#65339: build failure on Android (Termux)
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
0 siblings, 1 reply; 5+ messages in thread
From: Bruno Haible @ 2023-08-16 22:26 UTC (permalink / raw)
To: Po Lu; +Cc: 65339
Po Lu wrote:
> > fdsan: attempted to close file descriptor 2, expected to be unowned, actually owned by FILE* 0xb678438c
> > make[2]: *** [Makefile:1012: bootstrap-emacs.pdmp] Aborted
> ...
> This should be fixed now, please test and ack. Thanks.
Your change to src/sysdep.c today apparently fixed it. Thanks!
Bruno
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#65339: build failure on Android (Termux)
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
0 siblings, 0 replies; 5+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-08-22 0:58 UTC (permalink / raw)
To: Bruno Haible; +Cc: 65339-done
Bruno Haible <bruno@clisp.org> writes:
> Po Lu wrote:
>> > fdsan: attempted to close file descriptor 2, expected to be unowned, actually owned by FILE* 0xb678438c
>> > make[2]: *** [Makefile:1012: bootstrap-emacs.pdmp] Aborted
>> ...
>> This should be fixed now, please test and ack. Thanks.
>
> Your change to src/sysdep.c today apparently fixed it. Thanks!
>
> Bruno
Oops, I apparently neglected to close this bug. Now done, and thanks
for testing.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#65339: build failure on Android (Termux)
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 14:19 ` Eli Zaretskii
1 sibling, 0 replies; 5+ messages in thread
From: Eli Zaretskii @ 2023-08-16 14:19 UTC (permalink / raw)
To: Bruno Haible, Paul Eggert; +Cc: 65339
> From: Bruno Haible <bruno@clisp.org>
> Date: Wed, 16 Aug 2023 12:25:21 +0200
>
> 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?
What is problematic with our FILE / dirfd handling that causes wrath
on the part of the Android gods?
^ 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).