Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Jan 17 12:07
    @xeffyr banned @ExtinctDrift19
  • Nov 22 2021 19:35
    @xeffyr banned @Ghostgamer4592D
  • Nov 18 2021 19:01
    User @xeffyr unbanned @zhonjarlby
  • Nov 18 2021 19:01
    User @xeffyr unbanned @Tisaba
  • Nov 18 2021 19:01
    User @xeffyr unbanned @Rishabhjn7102
  • Nov 18 2021 19:01
    User @xeffyr unbanned @QQ1598058687
  • Nov 18 2021 19:00
    User @xeffyr unbanned @osama-abu
  • Nov 18 2021 19:00
    User @xeffyr unbanned @mahmod9
  • Nov 18 2021 19:00
    User @xeffyr unbanned @Khulakpamzaid786
  • Nov 18 2021 19:00
    User @xeffyr unbanned @irem347
  • Nov 18 2021 19:00
    User @xeffyr unbanned @Hassanbabali
  • Nov 18 2021 19:00
    User @xeffyr unbanned @HackGod-RS
  • Oct 18 2021 07:22
    @xeffyr banned @mahmod9
  • Sep 21 2021 21:13
    @xeffyr banned @QQ1598058687
  • Aug 04 2021 09:51
    @xeffyr banned @Khulakpamzaid786
  • Apr 15 2021 09:09
    @xeffyr banned @osama-abu
  • Feb 01 2021 18:50
    @xeffyr banned @Hassanbabali
  • Sep 24 2020 17:29
    @xeffyr banned @zhonjarlby
  • Aug 31 2020 07:55
    @xeffyr banned @HackGod-RS
  • Aug 26 2020 10:48
    @xeffyr banned @Tisaba
Leonid Pliushch
@xeffyr
Now works everything above except apt (/data/data/com.termux/files/usr/lib/apt/methods/https).
Leonid Pliushch
@xeffyr
Got apt working without LD_LIBRARY_PATH too. It just seems that all deps should have DT_RUNPATH set too.
Auxilus
@Auxilus
hey, anyone got message on Twitter from GNU/parallel?
Fredrik Fornwall
@fornwall
hello and welcome to our weekly chat!
who's where?
Leonid Pliushch
@xeffyr
I am.
GrimlerBot
@GrimlerBot
Grimler Evening, I'm here
Fredrik Fornwall
@fornwall
@Auxilus yes, the author of parallel asked about our interest :)
glow
@Neo-Oli
Hey everyone. I'm here
Fredrik Fornwall
@fornwall
so the items we have noted on the wiki (https://wiki.termux.com/wiki/Dev:Development_Session_5) is:
Android 7 branch
Switching from Travis CI to Gitlab (more available build time + downloadable artifacts)
Status of dependency downloading instead of recursive building
so let's start with the android 7 branch: I think @xeffyr has made some nice progress, could you describe a bit?
Leonid Pliushch
@xeffyr
@fornwall I did some experiments with DT_RUNPATH and it looks everything is working without LD_LIBRARY_PATH. Mpv for example can be used without wrapper.
Auxilus
@Auxilus
He was a bit sceptical, he was asking 'bout how and why people use it in termux
Fredrik Fornwall
@fornwall
@Auxilus well, I guess he have a point, and that not many people use parallel. but I'll answer him that some still do (and it's nice to be able to re-use scripts without modification), and ask if he has ideas to improve termux compatibility
@xeffyr that's really nice! I think that will get rid of some complexity and errors
Auxilus
@Auxilus
sounds good 👍
Leonid Pliushch
@xeffyr
I can build more packages on next week so we can test them (but probably all will work).
Auxilus
@Auxilus
I have a build script for metasploit-framework, It did build metasploit-framework but I think the symlinks to msfconsole and other msf executables should be reworked
also some of the dependencies can be removed...
Fredrik Fornwall
@fornwall
@xeffyr nice! we should probably patch clang or the linker to have -Wl,-rpath=$TERMUX_PREFIX/lib -Wl,--enable-new-dtags added as default when building on device, right?
Leonid Pliushch
@xeffyr
Yes.
Auxilus
@Auxilus
downloading deps would be of great help in case of packages like metasploit-framework
GrimlerBot
@GrimlerBot
Grimler @Auxilus open a PR towards the unstable-packages repo :+1:
Fredrik Fornwall
@fornwall
so a brief description of the upcoming DT_RUNPATH and LD_LIBRARY_PATH change:
in termux we currently set the environment variable LD_LIBRARY_PATH=/data/data/com.termux/files/usr/lib
so when trying to execute a program linking against e.g. libcurl.so
Auxilus
@Auxilus
@GrimlerBot I think I should first clean it up a bit and see if I can drop some of the dependencies
Fredrik Fornwall
@fornwall
(or when executing a program linking against a shared library, which in turn links to libcurl.so)
the system linker knows to search in $LD_LIBRARY_PATH for libcurl.so
Auxilus
@Auxilus
cz there have been a lot of failed metasploit PRs 😅, i don't wanna repeat that :p
Fredrik Fornwall
@fornwall
instead of just the default /system/lib(64)
GrimlerBot
@GrimlerBot
Grimler @Auxilus you can open a PR and it can be improved with additional commits before merging
Fredrik Fornwall
@fornwall
this causes issues when e.g. mpv links to shared libraries that clashes, are both in the system /system/lib64/ and our $LD_LIBRARY_PATH
Auxilus
@Auxilus
ik 👀
Fredrik Fornwall
@fornwall
causing us trying to avoid that with e.g. making mpv using workarounds in there
and it also causes issues when trying to execute a system binary, something under /system/bin/. a system binary linking against e.g. libcurl.so will need to use the system version of that in /system/lib64/
Leonid Pliushch
@xeffyr
DT_RUNPATH also fixes problem with root (su/tsu) on some devices where people complained about linking errors.
Fredrik Fornwall
@fornwall
but due to us setting LD_LIBRARY_PATH it instead finds the termux version of libcurl.so, which is often not compatible with the system library, and fails
so LD_LIBRARY_PATH needs to be cleared. which is a mess if that system binary then in turn tries to execute a termux binary
since we need to clear the LD_LIBRARY_PATH before executing the system binary, then need it back before executing the termux one
with e.g. su as @xeffyr says
DT_RUNPATH is a mechanism where an executable or shared library can point out the path of the shared library
so instead of just saying "I'm linking against libcurl.so", it can say "I'm linking against /data/data/com.termux/files/usr/lib/libcurl.so"
it's enabled by using the -Wl,-rpath=$TERMUX_PREFIX/lib -Wl,--enable-new-dtags flags when building, which is done on the android 7 branch
because android only supports DT_RUNPATH starting with android 7
which avoids the need of setting LD_LIBRARY_PATH
any questions or ideas on that?
GrimlerBot
@GrimlerBot
Grimler Nope, really nice work @xeffyr
Leonid Pliushch
@xeffyr
Everyone who want to try can add deb https://dl.bintray.com/xeffyr/android-7-packages stable main to sources.list and then pkg upgrade.