MasterDevX / Termux-Java

Install Java (Open-JDK-8) in Termux without root!
382 stars 82 forks source link

Error loading libpthread.so.0 #8

Closed UlyssesZh closed 4 years ago

UlyssesZh commented 5 years ago
$ java
java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory

I have libpthread.so in /data/data/com.termux/files/usr/bin. I copied it and put it in the same directory and renamed it to libpthread.so.0, but java could still not recognize it.

$ uname -a
Linux localhost 4.4.153-perf-g480d017 #1 SMP PREEMPT Thu Aug 15 06:00:13 CST 2019 aarch64 Android

My Android version is 9, whose API level is 28.

MasterDevX commented 5 years ago

@UlyssesZh Lol, I have no idea what was your libpthread library doing in /bin but it should be in /share/glib. Try copying it there and check if it works.

MasterDevX commented 4 years ago

Closing due to inactivity

coarsehorse commented 4 years ago

I have the same issue. I've tried simple hello world and it compiles and runs(unlike the @UlyssesZh experience). After that I've tried to run maven and got:

/data/data/com.termux/files/usr/share/jdk8/bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory

I've checked share/glib path as @MasterDevX mentioned and libpthread.so is present. Any ideas what to do? image

akhiljns commented 4 years ago

Hi same issue with me as well, and my libpthread.so is present in share/glib path as well

also i'm trying to do the same as @coarsehorse running mvn [command] via npm maven wrapper

this seems like an issue which would arise when you dont have necessary permissions but i've given the superuser permissions and i've also given termux permission to accesss filesystem storage

any ideas what can we do to fix this? Thanks

also i just noticed java -version gives me an error

: Inconsistency detected by ld.so: dl-open.c 689: _dl_open: Assertion _dl_debug_initialize (0, args.nsid)->rstate == RT_CONSISTENT failed!

android version 10

olir commented 3 years ago

same issue here :( i could fix the libpthread problem by including usr/share/glib in LD_LIBRARY_PATH and it under proot -0 now maven and ant fail to find libdl.so

Android 10. uname -a: Linux localhost 4.9.186-18864194 #2 SMP PREEMPT Fri Jul 17 17:32:50 KST 2020 aarch64 Android

Skyfire1377 commented 3 years ago

same issue here :( i could fix the libpthread problem by including usr/share/glib in LD_LIBRARY_PATH and it under proot -0 now maven and ant fail to find libdl.so

Android 10. uname -a: Linux localhost 4.9.186-18864194 #2 SMP PREEMPT Fri Jul 17 17:32:50 KST 2020 aarch64 Android I've found out the libdl.so is lying in the /system/lib directory. After i added /system/lib in LD_LIBRARY_PATH i got "segmentation fault" and "WARNING: linker: Warning: unable to normalize "" messages.

saipavanc commented 2 years ago

I am facing the same error as well. I am trying to build the package pyjnius on Termux, but I receive the following error:

$ make
ant -Dant.build.javac.source=1.6 -Dant.build.javac.target=1.6 all
Buildfile: /data/data/com.termux/files/home/pyjnius/build.xml

compile:

jar:

test-compile:

all:

BUILD SUCCESSFUL
Total time: 1 second
python setup.py build_ext --inplace -g
/data/data/com.termux/files/usr/share/jdk8/bin/javac: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory
Traceback (most recent call last):
  File "/data/data/com.termux/files/home/pyjnius/setup.py", line 93, in <module>
    compile_native_invocation_handler(JAVA)
  File "/data/data/com.termux/files/home/pyjnius/setup.py", line 83, in compile_native_invocation_handler
    subprocess.check_call([
  File "/data/data/com.termux/files/usr/lib/python3.10/subprocess.py", line 369, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/data/data/com.termux/files/usr/share/jdk8/bin/javac', '-target', '1.7', '-source', '1.7', 'jnius/src/org/jnius/NativeInvocationHandler.java']' returned non-zero exit status 127.
make: *** [Makefile:16: build_ext] Error 1

I did check that the file libpthread.so.0 and libpthread.so are available in both /data/data/com.termux/files/usr/share/glib and /data/data/com.termux/files/usr/lib. Is there anything that can be done to point javac to the right directory?

Here is my system info. I will be able to provide more info if you would need as well.

$ uname -a
Linux localhost 4.4.192-black_caps+ #1 SMP PREEMPT Fri Aug 28 13:50:54 UTC 2020 aarch64 Android

I really appreciate your time. Thanks