JuliaPy / PyCall.jl

Package to call Python functions from the Julia language
MIT License
1.47k stars 187 forks source link

Error on building 'PyCall' argument not expected: --satisfied-skip-solve #1066

Open Cglezf opened 9 months ago

Cglezf commented 9 months ago

Julia can't build and precompile some packages as PyCall.jl The problem is produced in the build process when force the argument when set the root environment with conda install -y --satisfied-skip-solve numpy when the version of conda/mamba do not accept this argument.

It could solve by make false the "satisfied_skip_solve" or simply take off the argument (if do not want to use other verification)

use_conda = dirname(python) == abspath(Conda.PYTHONDIR) if use_conda Conda.add("numpy";satisfied_skip_solve=true ) end

On Mac OSX Sonoma 14.2 apple chip M2 Julia 1.9.3, Python 3.12 and Mamba(Conda)

julia> Pkg.build("PyCall"); Pkg.precompile() Building Conda ─→/opt/mamba/envs/mcd/share/julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/8c86e48c0db1564a1d49548d3515ced5d604c408/build.log Building PyCall →/opt/mamba/envs/mcd/share/julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/43d304ac6f0354755f1d60730ece8c499980f7ba/build.log ERROR: Error buildingPyCall: The following argument was not expected: --satisfied-skip-solve Run with --help for more information. [ Info: Runningconda install -y --satisfied-skip-solve numpyin root environment ERROR: LoadError: failed process: Process(setenv(/opt/homebrew/opt/micromamba/bin/micromamba install -y --satisfied-skip-solve numpy`,["FC_FOR_BUILD=/opt/mamba/envs/mcd/bin/x86_64-apple-darwin13.4.0-gfortran", "LSCOLORS=Gxfxcxdxbxegedabagacad", "PATH=/opt/mamba/envs/mcd/bin:/opt/mamba/condabin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Applications/quarto/bin:/opt/homebrew/var/homebrew/linked", "CXX=x86_64-apple-darwin13.4.0-clang++", "DENO_DOM_VERSION=0.1.35-alpha", "F95=/opt/mamba/envs/mcd/bin/x86_64-apple-darwin13.4.0-gfortran", "CC=x86_64-apple-darwin13.4.0-clang", "CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc++ -fvisibility-inlines-hidden -fmessage-length=0 -isystem /opt/mamba/envs/mcd/include", "OTOOL=x86_64-apple-darwin13.4.0-otool", "DEBUG_CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -Og -g -Wall -Wextra -isystem /opt/mamba/envs/mcd/include" … "TERM_SESSION_ID=E9F5F9AB-DC24-46BA-85CF-5C439346566B", "ac_cv_func_realloc_0_nonnull=yes", "BUILD=x86_64-apple-darwin13.4.0", "QUARTO_DENO=/opt/mamba/envs/mcd/bin/deno", "JULIA_LOAD_PATH=@:/var/folders/75/ftt9_lrn0292knych8n_rsgw0000gn/T/jl_KuLfDj", "DEBUG_CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc++ -fvisibility-inlines-hidden -fmessage-length=0 -Og -g -Wall -Wextra -isystem /opt/mamba/envs/mcd/include", "ac_cv_func_malloc_0_nonnull=yes", "MAMBA_ROOT_PREFIX=/opt/mamba", "LS_COLORS=di=1;36:ln=35:so=32:pi=33:ex=31:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43", "OPENBLAS_MAIN_FREE=1"]), ProcessExited(109)) [109]

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 /opt/mamba/envs/mcd/share/julia/packages/Conda/2lg2O/src/Conda.jl:128 [5] add(pkg::String, env::String; channel::String, satisfied_skip_solve::Bool, args::Cmd) @ Conda /opt/mamba/envs/mcd/share/julia/packages/Conda/2lg2O/src/Conda.jl:256 [6] add @ /opt/mamba/envs/mcd/share/julia/packages/Conda/2lg2O/src/Conda.jl:239 [inlined] [7] top-level scope @ /opt/mamba/envs/mcd/share/julia/packages/PyCall/ilqDX/deps/build.jl:79 [8] include(fname::String) @ Base.MainInclude ./client.jl:478 [9] top-level scope @ none:5 in expression starting at /opt/mamba/envs/mcd/share/julia/packages/PyCall/ilqDX/deps/build.jl:43 Stacktrace: [1] pkgerror(msg::String) @ Pkg.Types /opt/mamba/envs/mcd/share/julia/stdlib/v1.9/Pkg/src/Types.jl:69 [2] (::Pkg.Operations.var"#67#74"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String})() @ Pkg.Operations /opt/mamba/envs/mcd/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:1153 [3] withenv(::Pkg.Operations.var"#67#74"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String}, ::Pair{String, String}, ::Vararg{Pair{String}}) @ Base ./env.jl:197 [4] (::Pkg.Operations.var"#117#122"{String, Bool, Bool, Bool, Pkg.Operations.var"#67#74"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String}, Pkg.Types.PackageSpec})() @ Pkg.Operations /opt/mamba/envs/mcd/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:1827 [5] with_temp_env(fn::Pkg.Operations.var"#117#122"{String, Bool, Bool, Bool, Pkg.Operations.var"#67#74"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String}, Pkg.Types.PackageSpec}, temp_env::String) @ Pkg.Operations /opt/mamba/envs/mcd/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:1701 [6] (::Pkg.Operations.var"#115#120"{Dict{String, Any}, Bool, Bool, Bool, Pkg.Operations.var"#67#74"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String}, Pkg.Types.Context, Pkg.Types.PackageSpec, String, Pkg.Types.Project, String})(tmp::String) @ Pkg.Operations /opt/mamba/envs/mcd/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:1790 [7] mktempdir(fn::Pkg.Operations.var"#115#120"{Dict{String, Any}, Bool, Bool, Bool, Pkg.Operations.var"#67#74"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String}, Pkg.Types.Context, Pkg.Types.PackageSpec, String, Pkg.Types.Project, String}, parent::String; prefix::String) @ Base.Filesystem ./file.jl:760 [8] mktempdir(fn::Function, parent::String) @ Base.Filesystem ./file.jl:756 [9] mktempdir @ ./file.jl:756 [inlined] [10] sandbox(fn::Function, ctx::Pkg.Types.Context, target::Pkg.Types.PackageSpec, target_path::String, sandbox_path::String, sandbox_project_override::Pkg.Types.Project; preferences::Dict{String, Any}, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool) @ Pkg.Operations /opt/mamba/envs/mcd/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:1748 [11] build_versions(ctx::Pkg.Types.Context, uuids::Set{Base.UUID}; verbose::Bool) @ Pkg.Operations /opt/mamba/envs/mcd/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:1134 [12] build_versions @ /opt/mamba/envs/mcd/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:1049 [inlined] [13] build(ctx::Pkg.Types.Context, uuids::Set{Base.UUID}, verbose::Bool) @ Pkg.Operations /opt/mamba/envs/mcd/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:991 [14] build(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; verbose::Bool, kwargs::Base.Pairs{Symbol, Base.TTY, Tuple{Symbol}, NamedTuple{(:io,), Tuple{Base.TTY}}}) @ Pkg.API /opt/mamba/envs/mcd/share/julia/stdlib/v1.9/Pkg/src/API.jl:1053 [15] build(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Pkg.API /opt/mamba/envs/mcd/share/julia/stdlib/v1.9/Pkg/src/API.jl:156 [16] build(pkgs::Vector{Pkg.Types.PackageSpec}) @ Pkg.API /opt/mamba/envs/mcd/share/julia/stdlib/v1.9/Pkg/src/API.jl:145 [17] #build#85 @ /opt/mamba/envs/mcd/share/julia/stdlib/v1.9/Pkg/src/API.jl:144 [inlined] [18] build @ /opt/mamba/envs/mcd/share/julia/stdlib/v1.9/Pkg/src/API.jl:144 [inlined] [19] #build#84 @ /opt/mamba/envs/mcd/share/julia/stdlib/v1.9/Pkg/src/API.jl:143 [inlined] [20] build(pkg::String) @ Pkg.API /opt/mamba/envs/mcd/share/julia/stdlib/v1.9/Pkg/src/API.jl:143 [21] top-level scope @ REPL[46]:1

`

Cglezf commented 9 months ago

The code is deps/build.jl line 79