bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#65339: build failure on Android (Termux)


From: Bruno Haible
Subject: bug#65339: build failure on Android (Termux)
Date: Wed, 16 Aug 2023 12:25:21 +0200

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








reply via email to

[Prev in Thread] Current Thread [Next in Thread]