-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug]: I get an error when I try to import frida in update 15.1.12 #10129
Comments
Thanks. Supposedly there is some incompatibility between the python3.10 in ubuntu that we are using in the cross-compilation process, and the python3.10 we have on device. Just re-compiling the package, and upgrading to frida 15.1.14, does not help |
Any solution after updating termux no longer worked? |
No, I don't know how to fix the error yet. Perhaps you can compile the python library on device to get something that works, but that is not a trivial thing to do in any case |
Seems more likely that it is due to frida using it's own toolchain. Aligning their mesonbuild system with ours (and/or linker flags) might be the solution. Adding just |
We can see that GNU_HASH is missing from _frida.so with
while other libraries have GNU_HASH as well (
|
any alternative in the meantime? Before updating it worked excellent until I updated termux |
Not really, you would have to build python3.9, and rebuild frida against it |
@oleavr do you perhaps have an idea why GNU_HASH is missing from I am sure my various patches/hacks to make it build are in some way responsible.. |
@Grimler91 (Sorry for the delay here, totally missed this.) Hmm, I strongly suspect it's caused by our recent upgrade to Android NDK r24. Since the previous NDK we were on they've fully transitioned to an LLVM toolchain, and binutils is gone. So I guess binary compatibility went out the window with that change? (It wouldn't be the first time that the NDK ABI broke.) |
|
Has to be some compiler or linker flag that explains the issue, but I can't see anything obvious. non-working command
While when compiling on device, command looks like working command
In both cases link command has @xtkoba, @buttaface have any of you encountered issues where |
No, never seen this issue. |
For some reason the compilation as part of termux_step_make results in a binary that segfaults. Issue has something to do with our toolchain, if it is removed from PATH then frida-resource-compiler works fine. So, one solution is to solely use frida's toolchain, but as we have seen in #10129 this gives libraries and executables that do not work on device. Using our toolchain gives us more control over the compilation and makes it easier to solve the issue.
And avoid frida's cc/cxx wrappers. This fixes #10129. Most likely it is frida-elf-cleaner (that is run in the wrappers) that strips away DT_GNU_HASH and friends and causes the errors.
For some reason the compilation as part of termux_step_make results in a binary that segfaults. Issue has something to do with our toolchain, if it is removed from PATH then frida-resource-compiler works fine. So, one solution is to solely use frida's toolchain, but as we have seen in #10129 this gives libraries and executables that do not work on device. Using our toolchain gives us more control over the compilation and makes it easier to solve the issue.
Fixed finally, probably it was frida-elf-cleaner causing the issue, so avoiding frida's cc/cxx wrappers (and purely using termux's toolchain) fixes the issue |
As @sceext2 pointed out |
Problem description
I get an error when I try to import frida in update 15.1.12
What steps will reproduce the bug?
updating version
What is the expected behavior?
No response
System information
Application version:
0.117
Packages CPU architecture:
aarch64
Subscribed repositories:
sources.list
deb https://packages.termux.org/apt/termux-main/ stable main
science-repo (sources.list.d/science.list)
deb https://packages.termux.org/apt/termux-science science stable
sources.list.d/root.list.bak
deb https://www.grimler.se/termux-root-packages-24 root stable
root-repo (sources.list.d/root.list)
deb https://packages.termux.org/apt/termux-root root stable
game-repo (sources.list.d/game.list)
deb https://packages.termux.org/apt/termux-games games stable
x11-repo (sources.list.d/x11.list)
deb https://packages.termux.org/apt/termux-x11 x11 main
Updatable packages:
All packages up to date
Android version:
10
Kernel build information:
Linux localhost 4.4.243-pixel-g86d2da2c2a83-ab881ba1b70d termux/termux-root-packages#1 SMP PREEMPT Sun Nov 22 22:52:36 UTC 2020 aarch64 Android
Device manufacturer:
Xiaomi
Device model:
Mi A2
The text was updated successfully, but these errors were encountered: