这是indexloc提供的服务,不要输入任何密码
Skip to content

Conversation

@licy183
Copy link
Member

@licy183 licy183 commented Feb 25, 2025

Closes #23466

-b $HOME
-b $TERMUX_PKG_TMPDIR
-b /proc -b /dev -b /sys
-b $TERMUX_PREFIX/opt/bionic-host:/system
Copy link
Member

@robertkirkman robertkirkman Feb 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very good, since this appears to be working, should this line elsewhere in the codebase be removed, and pypy3 also adjusted to have a -b argument like this?

$SUDO ln -sf /data/data/com.termux/files/usr/opt/bionic-host /system

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

meaning, the references to /system in pypy3 could be replaced with $TERMUX_PREFIX/opt/bionic-host, and then that line removed?

-b /system/:/target-termux-rootfs/system/

Copy link
Member Author

@licy183 licy183 Feb 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-b $TERMUX_PREFIX/opt/bionic-host:/system

If /system is symlinked to $TERMUX_PREFIX/opt/bionic-host, this line can be removed.

-b /system/:/target-termux-rootfs/system/

This line is always necessary because it tries to call proot inside another proot.

Copy link
Member

@robertkirkman robertkirkman Feb 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, what I was trying to ask is, do you think it is better for /system to be symlinked to $TERMUX_PREFIX/opt/bionic-host, or instead for all (top-level) proot invocations to have $TERMUX_PREFIX/opt/bionic-host mounted in the place where /system was mounted before?
I am not sure which you think is better.

This line is always necessary because it tries to call proot inside another proot.

Ok, thank you for explaining, I understand that now.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After you edited the message, now the same line is linked twice, and it is a little bit confusing, I am not sure which specific line you are saying is best to remove in the future.

image

Did you mean to link a different line in one of the two links?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ahhh.. The first one should be

-b $TERMUX_PREFIX/opt/bionic-host:/system

@robertkirkman
Copy link
Member

robertkirkman commented Feb 25, 2025

About this in the build for arm here:

Traceback (most recent call last):
  File "../../rpython/bin/rpython", line 20, in <module>
    main()
  File "/home/builder/.termux-build/pypy/src/rpython/translator/goal/translate.py", line 219, in main
    targetspec_dic, translateconfig, config, args = parse_options_and_load_target()
  File "/home/builder/.termux-build/pypy/src/rpython/translator/goal/translate.py", line 155, in parse_options_and_load_target
    targetspec_dic = load_target(targetspec)
  File "/home/builder/.termux-build/pypy/src/rpython/translator/goal/translate.py", line 97, in load_target
    mod = __import__(specname)
  File "targetpypystandalone.py", line 12, in <module>
    from pypy.tool.option import make_objspace
  File "/home/builder/.termux-build/pypy/src/pypy/tool/option.py", line 3, in <module>
    from pypy.config.pypyoption import get_pypy_config
  File "/home/builder/.termux-build/pypy/src/pypy/config/pypyoption.py", line 43, in <module>
    import rpython.rlib.rvmprof.cintf
  File "/home/builder/.termux-build/pypy/src/rpython/rlib/rvmprof/__init__.py", line 2, in <module>
    from rpython.rlib.rvmprof.rvmprof import _get_vmprof, VMProfError
  File "/home/builder/.termux-build/pypy/src/rpython/rlib/rvmprof/rvmprof.py", line 3, in <module>
    from rpython.rlib import jit, rposix, rgc
  File "/home/builder/.termux-build/pypy/src/rpython/rlib/rposix.py", line 343, in <module>
    assert OFF_T_SIZE == rffi.sizeof(rffi.LONGLONG)
AssertionError

I have bisected it to this commit pypy/pypy@0012011

I have not calculated the absolute best patch yet to fix the error, but at the very least, if we cannot find any better way, one option is to revert that whole commit with a patch.

The commit indicates that it was for this issue, which is an Alpine-Linux-related issue. pypy/pypy#5071

It looks like they wrote #if defined(__i386__) , but did not add || defined(__arm__) into the same condition, which might explain the discrepancy between the arm and i686 builds here. Maybe Pypy upstream does not officially support 32-bit ARM, in which case it would not be their responsibility to include that condition or test on 32-bit ARM, and maybe we should add that in a patch if we want to continue supporting 32-bit ARM in our pypy.

Co-Authord-By: Robert Kirkman <misternumberone@live.com>
@licy183 licy183 merged commit 5e41fea into master Feb 26, 2025
11 checks passed
@licy183 licy183 deleted the bump-pypy branch February 26, 2025 08:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Auto update failing for pypy

2 participants