Skip to content

Commit 7e971c7

Browse files
committed
Disable satisfied-skip-solve on 32-bit linux
The default install of Conda on 32 bit linux uses repo.anaconda.com/miniconda; those 32 bit builds are very dated and so do not support the --satisfied-skip-solve flag The latest 32 bit linux build (https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86.sh) is 4.5.12, which pre-dates the introduction of --satisfied-skip-solve, which was introduced in 4.6.0 (https://docs.conda.io/projects/conda/en/latest/release-notes.html\#version-4.6.0). This is a somewhat draconian approach, as someone could have a newer build of Conda on a 32 bit linux system, and this change prevents them from using --satisfied-skip-solve. Even so, I think this change is worthwhile because (a) the current state means a default install of PyCall (which sets this flag) on 32 bit linux fails (b) preventing --satisfied-skip-solve does not change correctness, just performance (c) there are probably not a lot of people hitting this code path.
1 parent f1f4760 commit 7e971c7

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

src/Conda.jl

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -329,12 +329,25 @@ function add(pkg::PkgOrPkgs, env::Environment=ROOTENV;
329329
args::Cmd = ``,
330330
)
331331
c = isempty(channel) ? `` : `-c $channel`
332-
@static if Sys.iswindows() && Sys.WORD_SIZE == 32
332+
@static if (Sys.iswindows() || Sys.islinux()) && Sys.WORD_SIZE == 32
333333
if satisfied_skip_solve
334-
@warn """
335-
The keyword satisfied_skip_solve was set to true,
336-
but conda does not support --satisfied-skip-resolve on 32-bit Windows.
337-
"""
334+
if Sys.iswindows()
335+
@warn """
336+
The keyword satisfied_skip_solve was set to true,
337+
but conda does not support --satisfied-skip-resolve on 32-bit Windows.
338+
"""
339+
else
340+
# --satisfied-skip-solve flag was introduced in Conda 4.6.0
341+
# https://docs.conda.io/projects/conda/en/latest/release-notes.html#version-4.6.0
342+
# 32 bit builds on https://repo.anaconda.com/miniconda/ (where non-
343+
# miniconda builds are by default sourced from) have not been updated since
344+
# 4.5.12 for Linux-x86
345+
@warn """
346+
The keyword satisfied_skip_solve was set to true, but Conda builds
347+
for 32 bit are (by default) quite old and do not support this
348+
--satisfied-skip-resolve.
349+
"""
350+
end
338351
end
339352
S = ``
340353
else

0 commit comments

Comments
 (0)