Closed skupr-anaconda closed 1 year ago
To resolve issue with missing libc++.1.dylib
and libomp.dylib
on osx
, I've added:
ignore_run_exports:
- llvm-openmp # [osx]
missing_dso_whitelist:
- '*/libc++.1.dylib' # [osx]
- '*/libomp.dylib' # [osx]
but I still have doubts if it's correct
How scikit-learn
works with openmp
https://pypackaging-native.github.io/key-issues/native-dependencies/blas_openmp/
yes, adding it to missing_dso_whitelist is for libc++ correct. we want to use system one in doubt.
I'll upload the package in a test channel and then test it.
With suppressed build_parameters
in abs.yaml I've tested scikit-learn
on my osx-arm64
machine:
conda create -n testsk python=3.10 pandas
conda activate testsk
If I run conda list
we can see libcxx
and llvm-openmp
(they were downloaded from pkgs/main/osx-arm64
):
# Name Version Build Channel
blas 1.0 openblas
bottleneck 1.3.5 py310h96f19d2_0
bzip2 1.0.8 h620ffc9_4
ca-certificates 2022.10.11 hca03da5_0
certifi 2022.12.7 py310hca03da5_0
fftw 3.3.9 h1a28f6b_1
joblib 1.1.1 py310hca03da5_0
libcxx 14.0.6 h848a8c0_0
libffi 3.4.2 hca03da5_6
libgfortran 5.0.0 11_3_0_hca03da5_28
libgfortran5 11.3.0 h009349e_28
libopenblas 0.3.21 h269037a_0
llvm-openmp 14.0.6 hc6e5704_0
ncurses 6.3 h1a28f6b_3
numexpr 2.8.4 py310hecc3335_0
numpy 1.23.5 py310hb93e574_0
numpy-base 1.23.5 py310haf87e8b_0
openssl 1.1.1s h1a28f6b_0
packaging 22.0 py310hca03da5_0
pandas 1.5.2 py310h46d7db6_0
pip 22.3.1 py310hca03da5_0
python 3.10.8 hc0d8a6c_1
python-dateutil 2.8.2 pyhd3eb1b0_0
pytz 2022.7 py310hca03da5_0
readline 8.2 h1a28f6b_0
scikit-learn 1.2.0 py310h313beb8_0 sk_test
scipy 1.9.3 py310h20cbe94_0
setuptools 65.6.3 py310hca03da5_0
six 1.16.0 pyhd3eb1b0_1
sqlite 3.40.1 h7a7dc30_0
threadpoolctl 2.2.0 pyh0d69192_0
tk 8.6.12 hb8d0fd4_0
tzdata 2022g h04d1e81_0
wheel 0.37.1 pyhd3eb1b0_0
xz 5.2.8 h80987f9_0
zlib 1.2.13 h5a0b063_0
I would say that scikit-learn 1.2.0
will work with
missing_dso_whitelist:
- '*/libc++.1.dylib' # [osx]
- '*/libomp.dylib' # [osx]
in the recipe.
Jira ticket: PKG-887 (scikit-learn-1.2.0)
The upstream data: Github releases: https://github.com/scikit-learn/scikit-learn/releases Changelog: https://scikit-learn.org/stable/whats_new/v1.2.html Upstream license: License file: https://github.com/scikit-learn/scikit-learn/blob/master/COPYING Diff between the latest and previous upstream releases Requirements:
Actions:
Add new jinja2 templates
Fix a verbose flag in the
script
Remove pinnings from
host
Update
numpy
pinnings inhost
Update
run
pinningsUpdate
pytest
pinning intest/requires
Add new modules to
test/imports
Remove
license_url
becauselicense_file
already existsRemove
doc_source_url
becausedoc_url
already existsDisable the
build_parameters
inabs.yaml
to prevent failing onosx
platformsAdditional info:
Updating the recipe: If the recipe needs additional modification the update branch can be modified. Note that the PR diffs are not updated with these changes.