cstjean / ScikitLearn.jl

Julia implementation of the scikit-learn API https://cstjean.github.io/ScikitLearn.jl/dev/
Other
547 stars 75 forks source link

`libstdcxx-ngnothing` issue #125

Open SimonEnsemble opened 1 year ago

SimonEnsemble commented 1 year ago

the error

julia> using ScikitLearn # success
julia> @sk_import metrics: (confusion_matrix, accuracy_score, f1_score, precision_score, recall_score, balanced_accuracy_score)
``` then leads to (and, based on below, I'd expect it to work and not bother trying to install scikitlearn at this point) the error:
```julia
[ Info: Running `conda install -y -c anaconda conda` in root environment
Collecting package metadata (current_repodata.json): done
Solving environment: done

# All requested packages already installed.

[ Info: Running `conda install -y -c conda-forge libstdcxx-ngnothing` in root environment
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.

PackagesNotFoundError: The following packages are not available from current channels:

  - libstdcxx-ngnothing

Current channels:

  - https://conda.anaconda.org/conda-forge/linux-64
  - https://conda.anaconda.org/conda-forge/noarch
  - https://repo.anaconda.com/pkgs/main/linux-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/r/linux-64
  - https://repo.anaconda.com/pkgs/r/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

[ Info: scikit-learn isn't properly installed.Please make sure PyCall is using the default Conda or non-conda local python.
ERROR: failed process: Process(setenv(`/home/simoncor/.julia/conda/3/bin/conda install -y -c conda-forge libstdcxx-ngnothing`,["_CE_M=", "OPENBLAS_MAIN_FREE=1", "PATH=/home/simoncor/anaconda3/bin:/home/simoncor/anaconda3/condabin:/home/simoncor/meme/bin:/home/simoncor/bedops:.:/usr/local/cudaNN/include:.:/usr/local/cuda-8.0/bin:.:/home/simoncor/simoncor/anaconda3/bin:/home/simoncor/julia-1.9.0/bin:.:/home/simoncor/bin:/home/simoncor/.local/bin:/home/simoncor/julia-1.9.0/bin:.:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin", "TEXTDOMAIN=im-config", "PYTHONIOENCODING=UTF-8", "GTK2_MODULES=overlay-scrollbar", "DEFAULTS_PATH=/usr/share/gconf/ubuntu.default.path", "QT_ACCESSIBILITY=1", "LD_LIBRARY_PATH=/home/simoncor/cudaNN/lib64:/usr/local/cuda-8.0/lib64:", "IM_CONFIG_PHASE=2"  …  "QT_QPA_PLATFORMTHEME=appmenu-qt5", "XMODIFIERS=@im=ibus", "_CE_CONDA=", "QT4_IM_MODULE=xim", "HOME=/home/simoncor", "WINDOWPATH=2", "LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:", "COLORTERM=truecolor", "TERM=xterm-256color", "VTE_VERSION=5202"]), ProcessExited(1)) [1]

Stacktrace:
 [1] pipeline_error
   @ ./process.jl:565 [inlined]
 [2] run(::Cmd; wait::Bool)
   @ Base ./process.jl:480
 [3] run
   @ ./process.jl:477 [inlined]
 [4] runconda(args::Cmd, env::String)
   @ Conda ~/.julia/packages/Conda/kOnIE/src/Conda.jl:128
 [5] add(pkg::String, env::String; channel::String)
   @ Conda ~/.julia/packages/Conda/kOnIE/src/Conda.jl:224
 [6] add (repeats 2 times)
   @ ~/.julia/packages/Conda/kOnIE/src/Conda.jl:222 [inlined]
 [7] import_sklearn()
   @ ScikitLearn.Skcore ~/.julia/packages/ScikitLearn/sqLdT/src/Skcore.jl:208
 [8] top-level scope
   @ ~/.julia/packages/ScikitLearn/sqLdT/src/Skcore.jl:272

my PyCall setup

which python # /home/simoncor/anaconda3/bin/python
julia> ENV["PYTHON"] = "/home/simoncor/anaconda3/bin/python"
(@v1.9) pkg> build PyCall

is scikitlearn installed?

yes.

python
Python 3.9.7 (default, Sep 16 2021, 13:09:58) 
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sklearn
>>> # success

version info

Julia Version 1.9.0
Commit 8e630552924 (2023-05-07 11:25 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 8 × Intel(R) Xeon(R) CPU E5-1630 v4 @ 3.70GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, broadwell)
  Threads: 1 on 8 virtual cores
Environment:
  LD_LIBRARY_PATH = /home/simoncor/cudaNN/lib64:/usr/local/cuda-8.0/lib64:
tylerjthomas9 commented 1 year ago

What version of libstdcxx is your julia using? My best guess is that it is pulling in the version from cuda-8.0, which might be too old for our mapping. You can see it with Base.BinaryPlatforms.detect_libstdcxx_version(). I have just submitted a PR to avoid trying to install libstdcxx if it is an unmapped version.

Also, let me know if the patch fixes your issue:

pkg> add https://github.com/tylerjthomas9/ScikitLearn.jl/tree/libstdcxx-patch