Open yfsmth opened 5 years ago
This is due to a limitation on android to hace to use LD_LIBRARY_PATH. The way around it is if something needs external library we have tp produce the dep output which points to the library and have the library in normal termux lib directory. If i get around to it i will make a tutorial explaining how to it.
as a quick example ~/.julia/packages/ZMQ/ABGOx/deps/deps.jl const libzmq = "/data/data/com.termux/files/usr/lib/libzmq.so"
check_deps is not defined here so we have to account for that so we remove that line from function init() in src/ZMQ.jl.
after that package zmq will precompile using ZMQ you then do something similar with MbedTLS and you can actually get IJulia working.
For your specific issue i have precompiled external libopenspecfun so apt install libopenspecfunc and then point the correct const in deps.jl to that library you can work out what the name you need to use from build.jl
I would prefer a better solution but that would require me hacking pkg... and i don't have the time or even motivation to do that.
it works, thanks a lot! but it's not a easy work, maybe it's a better idea to build a package like juliapro in termux :)
I've installed julia in termux on my android phone, it's great! But when I add some pkgs in julia, such as SpecialFunctions, I got some error as follow. It seems this pkg is provided by binary and julia cant find it, but there is aarch64 version pkg file indeed. How to resolve it? Thanks very much!
(v1.0) pkg> build SpecialFunctions Building SpecialFunctions →
~/.julia/packages/SpecialFunctions/sXbz6/deps/build.log
┌ Error: Error buildingSpecialFunctions
: │ ┌ Warning: Platformaarch64--linux-android
is not an officially supported platform │ └ @ BinaryProvider ~/.julia/packages/BinaryProvider/zp4zb/src/PlatformNames.jl:448 │ ERROR: LoadError: LoadError: KeyError: key "unknown" not found │ in expression starting at /data/data/com.termux/files/home/.julia/packages/BinaryProvider/zp4zb/src/PlatformNames.jl:676 │ in expression starting at /data/data/com.termux/files/home/.julia/packages/BinaryProvider/zp4zb/src/BinaryProvider.jl:12 │ ERROR: LoadError: Failed to precompile BinaryProvider [b99e7846-7c00-51b0-8f62-c81ae34c0232] to /data/data/com.termux/files/home/.julia/compiled/v1.0/BinaryProvider/ek6VZ.ji. │ in expression starting at /data/data/com.termux/files/home/.julia/packages/SpecialFunctions/sXbz6/deps/build.jl:1 └ @ Pkg.Operations ~/julia/usr/share/julia/stdlib/v1.0/Pkg/src/Operations.jl:1068p