-
Notifications
You must be signed in to change notification settings - Fork 1.9k
recipes: add scipy support #2370
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice, thanks. Looks good to me, barring minor comments.
def build_compiled_components(self, arch): | ||
self.setup_extra_args = ['-j', str(cpu_count())] | ||
super().build_compiled_components(arch) | ||
self.setup_extra_args = [] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why the need to reset this to the empty list?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is copy-paste from the original numpy/__init__.py
Thoughts on whether this is needed?
some OSX related nonsense did not pass in Travis. This failure is not related to the last commit. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good enough to me, thanks for the hard work.
@inclement feel free to merge if you think we're good to go
Thanks for your patience, maintainers have been rather busy lately. Merging as the last comment is rather minor and might be addressed in a follow up if needed |
I tried this and I also built an ndk toolchain with fortran but I encounter this error. @mzakharo
|
@adin234 -> I have not seen this ANDROID_API warning before. Try my project and buildozer file here. (just add scipy to requirements list,). it works for me and NDK r19c, with pre-built fortran image here. Please note I only tried |
@mzakharo i think the issue is somewhere in the gcc toolchain. for some reason, it is using this
as you can see, there seems to be something missing between |
That API warning aside, real issue seesm to be this |
@mzakharo i agree it might be a cmake error but i can't seem to see where it could've went wrong. I am using your prebuilt fortran image. i also tried using
|
@adin234 - Since I am unable to reproduce your issue, you might have to do this a different way: clone lapack into a standalone folder, and manually set all the global variables in your console to point to correct NDK folders, until cmake is able to correctly configure, identify proper CC/LD binaries, and compile the lapack project. Once that works, you can try and see what's different in the p4a build flow. Good luck! |
@mzakharo don't you have any special configutation in your environment variables? have you tried building it under a fresh venv or docker? |
@mzakharo i also looked at your buildozer.spec and noticed that you don't have scipy or lapack. |
I was able to get past it by using CMake 3.19.2 but encountered another error
@mzakharo can you give us the ndk version you are using too? |
seems like we can only build it on |
* add scipy support * flake8 * remove ccache check * remove lapack, scipy from ci due to missing gfortran in CI machines * better recipe names, imports
hello @mzakharo what should i do after this . Build failed: arm-linux-androideabi-gfortran not found. See https://github.com/mzakharo/android-gfortran Command failed: /usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=python3,kivy==2.0.0rc1,numpy,plyer,filetype,scikit-fuzzy,matplotlib,scipy,networkx,decorator,opencv==4.5.2 --arch armeabi-v7a --copy-libs --color=always --storage-dir="/content/melon/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21ENVIRONMENT:CUDNN_VERSION = '8.0.4.30'PYDEVD_USE_FRAME_EVAL = 'NO'LD_LIBRARY_PATH = '/usr/local/nvidia/lib:/usr/local/nvidia/lib64'CLOUDSDK_PYTHON = 'python3'LANG = 'en_US.UTF-8'HOSTNAME = '341155cc34b0'OLDPWD = '/'CLOUDSDK_CONFIG = '/content/.config'NVIDIA_VISIBLE_DEVICES = 'all'DATALAB_SETTINGS_OVERRIDES = '{"kernelManagerProxyPort":6000,"kernelManagerProxyHost":"172.28.0.3","jupyterArgs":["--ip=\"172.28.0.2\""],"debugAdapterMultiplexerPath":"/usr/local/bin/dap_multiplexer"}'ENV = '/root/.bashrc'PAGER = 'cat'NCCL_VERSION = '2.7.8'TF_FORCE_GPU_ALLOW_GROWTH = 'true'JPY_PARENT_PID = '46'NO_GCE_CHECK = 'True'PWD = '/content/melon'HOME = '/root'LAST_FORCED_REBUILD = '20210528'CLICOLOR = '1'DEBIAN_FRONTEND = 'noninteractive'LIBRARY_PATH = '/usr/local/cuda/lib64/stubs'GCE_METADATA_TIMEOUT = '0'GLIBCPP_FORCE_NEW = '1'TBE_CREDS_ADDR = '172.28.0.1:8008'TERM = 'xterm-color'SHELL = '/bin/bash'GCS_READ_CACHE_BLOCK_SIZE_MB = '16'PYTHONWARNINGS = 'ignore:::pip._internal.cli.base_command'MPLBACKEND = 'module://ipykernel.pylab.backend_inline'CUDA_VERSION = '11.0.3'NVIDIA_DRIVER_CAPABILITIES = 'compute,utility'SHLVL = '1'PYTHONPATH = '/env/python'NVIDIA_REQUIRE_CUDA = ('cuda>=11.0 brand=tesla,driver>=418,driver<419 ''brand=tesla,driver>=440,driver<441 brand=tesla,driver>=450,driver<451') COLAB_GPU = '0'GLIBCXX_FORCE_NEW = '1'PATH = '/root/.buildozer/android/platform/apache-ant-1.9.4/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/tools/node/bin:/tools/google-cloud-sdk/bin:/opt/bin'LD_PRELOAD = '/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4'GIT_PAGER = 'cat'_ = '/usr/local/bin/buildozer'PACKAGES_PATH = '/root/.buildozer/android/packages'ANDROIDSDK = '/root/.buildozer/android/platform/android-sdk'ANDROIDNDK = '/root/.buildozer/android/platform/android-ndk-r19c'ANDROIDAPI = '29'ANDROIDMINAPI = '21'Buildozer failed to execute the last commandThe error might be hidden in the log above this errorPlease read the full log, and search for it beforeraising an issue with buildozer itself. |
How could I update the recipe to support the latest version of SciPy? I have opened this issue: #3116 |
Addressing tickets #874, #1767, #2061, #2267
This is a port of scipy cross-compile scripts from OpenEmbedded/Poky layer meta-scipy
Once scipy is available, scikit-learn can be made possible