Can't build PyCall
- 主要言語
- Julia
- スター
- 1.5k
- フォーク
- 186
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
```
Installed PyCall ─ v1.91.2
Updating `~/.julia/environments/v1.1/Project.toml`
[438e738f] + PyCall v1.91.2
Updating `~/.julia/environments/v1.1/Manifest.toml`
[438e738f] + PyCall v1.91.2
Building PyCall → `~/.julia/packages/PyCall/ttONZ/deps/build.log`
┌ Error: Error building `PyCall`:
│ % Total % Received % Xferd Average Speed Time Time Time Current
│ Dload Upload Total Spent Left Speed
100 71.7M 100 71.7M 0 0 75.2M 0 --:--:-- --:--:-- --:--:-- 75.1M
│ PREFIX=/root/.julia/conda/3
│ Unpacking payload ...
Collecting package metadata (current_repodata.json): ...working... done
│ Solving environment: ...working... done
│
│ ## Package Plan ##
│
│ environment location: /root/.julia/conda/3
│
│ added / updated specs:
│ - _libgcc_mutex==0.1=main
│ - asn1crypto==0.24.0=py37_0
│ - bzip2==1.0.8=h7b6447c_0
│ - ca-certificates==2019.5.15=0
│ - certifi==2019.6.16=py37_0
│ - cffi==1.12.3=py37h2e261b9_0
│ - chardet==3.0.4=py37_1
│ - conda-package-handling==1.3.11=py37_0
│ - conda==4.7.10=py37_0
│ - cryptography==2.7=py37h1ba5d50_0
│ - idna==2.8=py37_0
│ - libarchive==3.3.3=h5d8350f_5
│ - libedit==3.1.20181209=hc058e9b_0
│ - libffi==3.2.1=hd88cf55_4
│ - libgcc-ng==9.1.0=hdf63c60_0
│ - libstdcxx-ng==9.1.0=hdf63c60_0
│ - libxml2==2.9.9=hea5a465_1
│ - lz4-c==1.8.1.2=h14c3975_0
│ - lzo==2.10=h49e0be7_2
│ - ncurses==6.1=he6710b0_1
│ - openssl==1.1.1c=h7b6447c_1
│ - pip==19.1.1=py37_0
│ - pycosat==0.6.3=py37h14c3975_0
│ - pycparser==2.19=py37_0
│ - pyopenssl==19.0.0=py37_0
│ - pysocks==1.7.0=py37_0
│ - python-libarchive-c==2.8=py37_11
│ - python==3.7.3=h0371630_0
│ - readline==7.0=h7b6447c_5
│ - requests==2.22.0=py37_0
│ - ruamel_yaml==0.15.46=py37h14c3975_0
│ - setuptools==41.0.1=py37_0
│ - six==1.12.0=py37_0
│ - sqlite==3.29.0=h7b6447c_0
│ - tk==8.6.8=hbc83047_0
│ - tqdm==4.32.1=py_0
│ - urllib3==1.24.2=py37_0
│ - wheel==0.33.4=py37_0
│ - xz==5.2.4=h14c3975_4
│ - yaml==0.1.7=had09818_2
│ - zlib==1.2.11=h7b6447c_3
│ - zstd==1.3.7=h0b5b093_0
│
│
│ The following NEW packages will be INSTALLED:
│
│ _libgcc_mutex pkgs/main/linux-64::_libgcc_mutex-0.1-main
│ asn1crypto pkgs/main/linux-64::asn1crypto-0.24.0-py37_0
│ bzip2 pkgs/main/linux-64::bzip2-1.0.8-h7b6447c_0
│ ca-certificates pkgs/main/linux-64::ca-certificates-2019.5.15-0
│ certifi pkgs/main/linux-64::certifi-2019.6.16-py37_0
│ cffi pkgs/main/linux-64::cffi-1.12.3-py37h2e261b9_0
│ chardet pkgs/main/linux-64::chardet-3.0.4-py37_1
│ conda pkgs/main/linux-64::conda-4.7.10-py37_0
│ conda-package-han~ pkgs/main/linux-64::conda-package-handling-1.3.11-py37_0
│ cryptography pkgs/main/linux-64::cryptography-2.7-py37h1ba5d50_0
│ idna pkgs/main/linux-64::idna-2.8-py37_0
│ libarchive pkgs/main/linux-64::libarchive-3.3.3-h5d8350f_5
│ libedit pkgs/main/linux-64::libedit-3.1.20181209-hc058e9b_0
│ libffi pkgs/main/linux-64::libffi-3.2.1-hd88cf55_4
│ libgcc-ng pkgs/main/linux-64::libgcc-ng-9.1.0-hdf63c60_0
│ libstdcxx-ng pkgs/main/linux-64::libstdcxx-ng-9.1.0-hdf63c60_0
│ libxml2 pkgs/main/linux-64::libxml2-2.9.9-hea5a465_1
│ lz4-c pkgs/main/linux-64::lz4-c-1.8.1.2-h14c3975_0
│ lzo pkgs/main/linux-64::lzo-2.10-h49e0be7_2
│ ncurses pkgs/main/linux-64::ncurses-6.1-he6710b0_1
│ openssl pkgs/main/linux-64::openssl-1.1.1c-h7b6447c_1
│ pip pkgs/main/linux-64::pip-19.1.1-py37_0
│ pycosat pkgs/main/linux-64::pycosat-0.6.3-py37h14c3975_0
│ pycparser pkgs/main/linux-64::pycparser-2.19-py37_0
│ pyopenssl pkgs/main/linux-64::pyopenssl-19.0.0-py37_0
│ pysocks pkgs/main/linux-64::pysocks-1.7.0-py37_0
│ python pkgs/main/linux-64::python-3.7.3-h0371630_0
│ python-libarchive~ pkgs/main/linux-64::python-libarchive-c-2.8-py37_11
│ readline pkgs/main/linux-64::readline-7.0-h7b6447c_5
│ requests pkgs/main/linux-64::requests-2.22.0-py37_0
│ ruamel_yaml pkgs/main/linux-64::ruamel_yaml-0.15.46-py37h14c3975_0
│ setuptools pkgs/main/linux-64::setuptools-41.0.1-py37_0
│ six pkgs/main/linux-64::six-1.12.0-py37_0
│ sqlite pkgs/main/linux-64::sqlite-3.29.0-h7b6447c_0
│ tk pkgs/main/linux-64::tk-8.6.8-hbc83047_0
│ tqdm pkgs/main/noarch::tqdm-4.32.1-py_0
│ urllib3 pkgs/main/linux-64::urllib3-1.24.2-py37_0
│ wheel pkgs/main/linux-64::wheel-0.33.4-py37_0
│ xz pkgs/main/linux-64::xz-5.2.4-h14c3975_4
│ yaml pkgs/main/linux-64::yaml-0.1.7-had09818_2
│ zlib pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3
│ zstd pkgs/main/linux-64::zstd-1.3.7-h0b5b093_0
│
│
│ Preparing transaction: ...working... done
│ Executing transaction: ...working... WARNING conda.core.envs_manager:register_env(46): Unable to register environment. Path not writable or missing.
│ environment location: /root/.julia/conda/3
│ registry file: /root/.conda/environments.txt
│ done
│ installation finished.
│ Warning: 'defaults' already in 'channels' list, moving to the top
│ Collecting package metadata (current_repodata.json): ...working... done
│ Solving environment: ...working... done
│
│ ## Package Plan ##
│
│ environment location: /root/.julia/conda/3
│
│ added / updated specs:
│ - conda
│
│
│ The following packages will be downloaded:
│
│ package | build
│ ---------------------------|-----------------
│ certifi-2019.6.16 | py37_1 156 KB
│ chardet-3.0.4 | py37_1003 173 KB
│ ------------------------------------------------------------
│ Total: 329 KB
│
│ The following packages will be UPDATED:
│
│ certifi 2019.6.16-py37_0 --> 2019.6.16-py37_1
│ chardet 3.0.4-py37_1 --> 3.0.4-py37_1003
│
│
│
│ Downloading and Extracting Packages
chardet-3.0.4 | 173 KB | ########## | 100%
certifi-2019.6.16 | 156 KB | ########## | 100%
│ Preparing transaction: ...working... done
│ Verifying transaction: ...working... done
│ Executing transaction: ...working... done
│ Collecting package metadata (current_repodata.json): ...working... done
│ Solving environment: ...working... done
│
│ ## Package Plan ##
│
│ environment location: /root/.julia/conda/3
│
│ added / updated specs:
│ - numpy
│
│
│ The following packages will be downloaded:
│
│ package | build
│ ---------------------------|-----------------
│ blas-1.0 | mkl 6 KB
│ intel-openmp-2019.4 | 243 729 KB
│ libgfortran-ng-7.3.0 | hdf63c60_0 1006 KB
│ mkl-2019.4 | 243 131.2 MB
│ mkl_fft-1.0.12 | py37ha843d7b_0 154 KB
│ mkl_random-1.0.2 | py37hd81dba3_0 361 KB
│ numpy-1.16.4 | py37h7e9f1db_0 48 KB
│ numpy-base-1.16.4 | py37hde5b4d6_0 3.5 MB
│ ------------------------------------------------------------
│ Total: 137.0 MB
│
│ The following NEW packages will be INSTALLED:
│
│ blas pkgs/main/linux-64::blas-1.0-mkl
│ intel-openmp pkgs/main/linux-64::intel-openmp-2019.4-243
│ libgfortran-ng pkgs/main/linux-64::libgfortran-ng-7.3.0-hdf63c60_0
│ mkl pkgs/main/linux-64::mkl-2019.4-243
│ mkl_fft pkgs/main/linux-64::mkl_fft-1.0.12-py37ha843d7b_0
│ mkl_random pkgs/main/linux-64::mkl_random-1.0.2-py37hd81dba3_0
│ numpy pkgs/main/linux-64::numpy-1.16.4-py37h7e9f1db_0
│ numpy-base pkgs/main/linux-64::numpy-base-1.16.4-py37hde5b4d6_0
│
│
│
│ Downloading and Extracting Packages
mkl-2019.4 | 131.2 MB | ########## | 100%
numpy-1.16.4 | 48 KB | ########## | 100%
blas-1.0 | 6 KB | ########## | 100%
libgfortran-ng-7.3.0 | 1006 KB | ########## | 100%
intel-openmp-2019.4 | 729 KB | ########## | 100%
numpy-base-1.16.4 | 3.5 MB | ########## | 100%
mkl_random-1.0.2 | 361 KB | ########## | 100%
mkl_fft-1.0.12 | 154 KB | ########## | 100%
│ Preparing transaction: ...working... done
│ Verifying transaction: ...working... done
│ Executing transaction: ...working... done
│ ┌ Info: Using the Python distribution in the Conda package by default.
│ └ To use a different Python version, set ENV["PYTHON"]="pythoncommand" and re-run Pkg.build("PyCall").
│ [ Info: Downloading miniconda installer ...
│ [ Info: Installing miniconda ...
│ [ Info: Running `conda config --add channels defaults --file /root/.julia/conda/3/condarc-julia.yml --force` in root environment
│ [ Info: Running `conda update -y conda` in root environment
│ [ Info: Running `conda install -y numpy` in root environment
│ ERROR: LoadError: IOError: could not spawn setenv(`/root/.julia/conda/3/bin/python /root/.julia/packages/PyCall/ttONZ/deps/find_libpython.py --list-all`,["WEBIO_WEBSOCKT_URL=wss://nextjournal.com/runner/LVTHeJHXjeqxJKHfBMVT6/runtime/c51cfdf9-861f-41a4-8779-7c673a8840d6/webio_websocket/", "PYTHONIOENCODING=UTF-8", "PATH=/usr/local/julia/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "WEBIO_SERVER_HOST_URL=0.0.0.0", "DISPLAY=:0", "JULIA_PATH=/usr/local/julia", "NVIDIA_DRIVER_CAPABILITIES=all", "LC_ALL=en_US.UTF-8", "JULIA_VERSION=1.1.0", "LANGUAGE=en_US.en", "NVIDIA_VISIBLE_DEVICES=void", "LANG=en_US.UTF-8", "JULIA_WEBIO_BASEURL=https://nextjournal.com/runner/LVTHeJHXjeqxJKHfBMVT6/runtime/c51cfdf9-861f-41a4-8779-7c673a8840d6", "BASH_ENV=/.bash_profile", "JULIA_LOAD_PATH=@:/tmp/tmpPtynLW", "NEXTJOURNAL_MOUNT_CUDA=9.2-cudnn7-devel-ubuntu18.04", "HOME=/root", "WEBIO_HTTP_PORT=9998", "OPENBLAS_MAIN_FREE=1", "HOSTNAME=f7c836db60d4", "GKSwstype=svg", "NEXTJOURNAL_RUNTIME_SERVICE_URL=https://nextjournal.com/runner/LVTHeJHXjeqxJKHfBMVT6/runtime/c51cfdf9-861f-41a4-8779-7c673a8840d6"]): invalid argument (EINVAL)
│ Stacktrace:
│ [1] _spawn_primitive(::String, ::Cmd, ::Array{Any,1}) at ./process.jl:400
│ [2] setup_stdios(::getfield(Base, Symbol("##505#506")){Cmd}, ::Array{Any,1}) at ./process.jl:413
│ [3] _spawn at ./process.jl:412 [inlined]
│ [4] #eachline#511(::Bool, ::Function, ::Cmd) at ./process.jl:618
│ [5] eachline at ./process.jl:617 [inlined]
│ [6] #readlines#288 at ./io.jl:414 [inlined]
│ [7] readlines at ./io.jl:414 [inlined]
│ [8] exec_find_libpython at /root/.julia/packages/PyCall/ttONZ/deps/buildutils.jl:28 [inlined]
│ [9] #find_libpython#3(::typeof(Libdl.dlopen), ::Function, ::String) at /root/.julia/packages/PyCall/ttONZ/deps/buildutils.jl:43
│ [10] find_libpython(::String) at /root/.julia/packages/PyCall/ttONZ/deps/buildutils.jl:41
│ [11] top-level scope at /root/.julia/packages/PyCall/ttONZ/deps/build.jl:87
│ [12] include at ./boot.jl:326 [inlined]
│ [13] include_relative(::Module, ::String) at ./loading.jl:1038
│ [14] include(::Module, ::String) at ./sysimg.jl:29
│ [15] include(::String) at ./client.jl:403
│ [16] top-level scope at none:0
│ in expression starting at /root/.julia/packages/PyCall/ttONZ/deps/build.jl:43
└ @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:1075
```
I prepared a notebook, with some debug information and a way to reproduce it:
https://nextjournal.com/sdanisch-scratch/pycall-build-error/
You can simply remix it, to have a look at whats happening.
I have no idea what's going on - seems like everything is there and working properly, but somehow conda just doesn't want to parse its arguments...
Also, I tried using the systems python3, which got me in different, but equally frustrating problems.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
Start by reproducing the failure with Pkg.build("PyCall") and inspect the referenced deps/build.jl, deps/buildutils.jl, and deps/find_libpython.py files alongside the generated build.log. Trace the find_libpython.py invocation that fails with EINVAL, then verify that PyCall builds successfully in the reported environment.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- julia, python
- 領域
- build-system
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100