python on android 5 :mxnet

host:ubuntu 下载perl上传到android device

wget wget http://www.cpan.org/src/5.0/perl-5.38.2.tar.gz

adb push perl-5.38.2.tar.gz /data/local/tmp

android:

tar -xvzf  perl-5.38.2.tar.gz

boio.c会提示找不到pipe2。直接加入

extern int pipe2(int *, int);

./Configure \

-Dsysroot=$SYSROOT \

-Dsh=/data/local/tmp/python3/usr/bin/sh \

-Dcc=$CC \

-Dcxx=$CXX \

-Dar=$AR \

-Dld="$CC -Wl,-rpath=/data/local/tmp/python3/usr/lib -Wl,--enable-new-dtags" \

-Dnm=/data/local/tmp/ndk/toolchains/llvm/prebuilt/linux-aarch64/bin/llvm-nm \

-Dprefix=/data/local/tmp/python3/usr

make 

make install 

然后

perl -e "print \"Hello from Android!\n\";"

2 ninja 

参见 https://github.com/termux/termux-packages/tree/master/packages/ninja

主要是/src/subprocess-posix.cc中shell 默认是bin/sh。andriod中是没有的,改用busybox提供的sh,我的是在然后
 

export LDFLAGS+=" -landroid-spawn"
./configure.py --bootstrap
make

同样的configure.py中首行指定使用的/bin/sh也要改一下,#!/data/local/tmp/python3/usr/bin/sh

可以得到ninja

openblas

wget https://github.com/OpenMathLib/OpenBLAS/archive/refs/tags/v0.3.26.tar.gz
export LDFLAGS="-lm"
make TARGET=ARMV8 ONLY_CBLAS=1 AR=$AR CC=$CC NOFORTRAN=1
make PREFIX=/data/local/tmp/python3/usr install

mxnet

cmake \
        -DANDROID_PLATFORM=android-28 \
        -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} \
        -DUSE_BLAS=Open \
        -DOpenBLAS_INCLUDE_DIR=/data/local/tmp/python3/usr/include \
        -DOpenBLAS_LIB=/data/local/tmp/python3/usr/lib/libopenblas.a \
        -DGOOGLETEST_VERSION=1.14.0 \
        -DANDROID_ABI="arm64-v8a" \
        -DANDROID_STL="c++_shared" \
        -DANDROID=ON \
        -DUSE_CUDA=OFF \
        -DUSE_SSE=OFF \
        -DUSE_LAPACK=OFF \
        -DUSE_OPENCV=OFF \
        -DUSE_OPENMP=OFF \
        -DUSE_SIGNAL_HANDLER=ON \
        -DUSE_MKL_IF_AVAILABLE=OFF \
        -G Ninja ..

ninja

然后在build目录下会得到libmxnet.so

然后进入python目录运行

python3 setup.py install

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值