unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
To: Bruno Haible <bruno@clisp.org>
Cc: 65339@debbugs.gnu.org
Subject: bug#65339: build failure on Android (Termux)
Date: Wed, 16 Aug 2023 20:38:39 +0800	[thread overview]
Message-ID: <877cpvjh68.fsf@yahoo.com> (raw)
In-Reply-To: <4722817.cl5Wp8zd50@nimes> (Bruno Haible's message of "Wed, 16 Aug 2023 12:25:21 +0200")

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.





  reply	other threads:[~2023-08-16 12:38 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877cpvjh68.fsf@yahoo.com \
    --to=bug-gnu-emacs@gnu.org \
    --cc=65339@debbugs.gnu.org \
    --cc=bruno@clisp.org \
    --cc=luangruo@yahoo.com \
    /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 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).