Closed liukangcc closed 3 years ago
pkg install libcrypt
Also there no dev packages. Termux no longer does splitting. So libcrypt-dev
== libcrypt
, same with other packages.
pkg install libcrypt
Also there no dev packages. Termux no longer does splitting. So
libcrypt-dev
==libcrypt
, same with other packages.
My question is : error: crypt.h: No such file or directory
My question is : error: crypt.h: No such file or directory
Yea.. that can be solved by pkg install libcrypt
My question is : error: crypt.h: No such file or directory
Yea.. that can be solved by
pkg install libcrypt
I have already installed libcrypt
$ pkg install libcrypt
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libcrypt is already the newest version (0.2-3).
The following package was automatically installed and is no longer required:
zstd
Use 'apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded
$ apt list
libcroco-static/stable,stable 0.6.13-5 aarch64
libcroco/stable,stable 0.6.13-5 aarch64
libcrypt/stable,stable,now 0.2-3 aarch64 [installed]
libcue/stable,stable 2.2.1-1 aarch64
libcunit-static/stable,stable 2.1.3 aarch64
libcunit/stable,stable 2.1.3 aarch64
libcurl-static/stable,stable 7.77.0-3 aarch64
libcurl/stable,stable,now 7.77.0-3 aarch64 [installed]
libczmq-static/stable,stable 4.2.1 aarch64
libczmq/stable,stable 4.2.1 aarch64
libdav1d/stable,stable 0.9.0 aarch64
You may need to manually specify CPPFLAGS.. Pointing to $PREFIX/include
Yes, crypt.h
is in $PREFIX/include
.
You may also try termux-chroot
, if your build tool tries to use locations like /usr/include
which do not exist in Termux because it is not FHS-compliant.
Yes,
crypt.h
is in$PREFIX/include
.You may also try
termux-chroot
, if your build tool tries to use locations like/usr/include
which do not exist in Termux because it is not FHS-compliant.
Amazing, It's work! Thanks for your help!
Yes,
crypt.h
is in$PREFIX/include
. You may also trytermux-chroot
, if your build tool tries to use locations like/usr/include
which do not exist in Termux because it is not FHS-compliant.Amazing, It's work! Thanks for your help!
Other problems arose:
Maybe disabling nls may help
@suhan-paradkar There issues with threading, not with NLS. Termux (Android) has limited support for pthreads. Many stuff is missing.
gcc
isn't supported by Termux officially, this could also lead to problems. clang
should be used instead. The right use of gcc
is only for GNU extensions of C language, which are not parts of the standard C. Though nowadays only rare software relies on GNU extensions.
There issues with threading, not with NLS. Termux (Android) has limited support for pthreads. Many stuff is missing.
gcc
isn't supported by Termux officially, this could also lead to problems.clang
should be used instead. The right use ofgcc
is only for GNU extensions of C language, which are not parts of the standard C. Though nowadays only rare software relies on GNU extensions.
Does Termux's Python support packaging as a dynamic library? Then use my C code to call the Python generated .so file?
I have tested some Python packaging tools and found that the resulting.so file cannot be called. such as: Nuitka.
I asked the author of Nuitka, and this is his response: https://github.com/Nuitka/Nuitka/issues/1163.
What's different about the Python environment on the Termux?
Yes, our Python supports dynamic libraries.
Your issue is most likely https://github.com/android-ndk/ndk/issues/201. Binary doesn't expose symbols to loaded shared libraries. You should link your .so file with libpython to obtain symbols, otherwise it would not work. Android dynamic linker is not same as on normal Linux distributions - that's one of major differences you should know when using Termux.
If you need a traditional behavior, then use proot'ed or chroot'ed variants of Linux distributions inside Termux either through proot-distro
or third-party installers.
Not found crypt.h: No such file or directory