#29415 closed enhancement (fixed)
tox.ini: Add environment localconda
Reported by:  mkoeppe  Owned by:  

Priority:  major  Milestone:  sage9.1 
Component:  porting  Keywords:  
Cc:  dimpase, jhpalmieri, isuruf, saraedum, ghkliem  Merged in:  
Authors:  Matthias Koeppe  Reviewers:  Isuru Fernando 
Report Upstream:  N/A  Work issues:  
Branch:  a61c48e (Commits, GitHub, GitLab)  Commit:  
Dependencies:  #29087  Stopgaps: 
Description (last modified by )
This environment creates an isolated conda installation within the tox environment directory,
similar to localhomebrew
.
To run:
MAKE="make j8" tox e localcondaforgestandard MAKE="make j8" tox e localcondaforgeminimal
Attachments (2)
Change History (31)
comment:1 Changed 2 years ago by
 Branch set to u/mkoeppe/tox_ini__add_environment_local_conda
comment:2 Changed 2 years ago by
 Commit set to 36e1c9afe2379c243d02bd348adb75c720247f78
 Description modified (diff)
 Status changed from new to needs_review
comment:3 Changed 2 years ago by
 Dependencies changed from #29104 to #29087
comment:4 Changed 2 years ago by
 Description modified (diff)
comment:5 Changed 2 years ago by
 Commit changed from 36e1c9afe2379c243d02bd348adb75c720247f78 to a71ec3fd7bb082a8f6006ff542da34d46fa846fd
Branch pushed to git repo; I updated commit sha1. New commits:
a71ec3f  Use condainstall yes quiet

comment:6 Changed 2 years ago by
 Commit changed from a71ec3fd7bb082a8f6006ff542da34d46fa846fd to 354cf90635e94587435c75e237a3d6ef8c806e06
comment:7 Changed 2 years ago by
Rebased on 9.1.beta9+#29087
comment:8 Changed 2 years ago by
Needs testing, in particular on Linux
comment:9 Changed 2 years ago by
I end up with a C++ error in Singular
libtool: compile: /home/dimpase/sage/.tox/localcondaforgestandard/conda/bin/x86_64conda_cos6linuxgnuc++ DHAVE_CONFIG_H I. I. ./../.. I. I../../.. I../../.. I../../../libpolys I../../../libpolys I/home/dimpase/sage/.tox/localcondaforgestandard/local/var/tmp/sage/build/singular4.1.1p2.p0/src I/home/dimpase/sage/.tox/localcondaforgestandard/local/var/tmp/sage/build/singular4.1.1p2.p0/src/factory/include I/home/dimpase/sage/.tox/localcondaforgestandard/local/var/tmp/sage/build/singular4.1.1p2.p0/src I/home/dimpase/sage/.tox/localcondaforgestandard/local/var/tmp/sage/build/singular4.1.1p2.p0/src pthread DDYNAMIC_VERSION DGMPRATIONAL DNDEBUG D_FORTIFY_SOURCE=2 O2 isystem /home/dimpase/sage/.tox/localcondaforgestandard/conda/include O2 g fvisibilityinlineshidden std=c++17 fmessagelength=0 march=nocona mtune=haswell ftreevectorize fPIC fstackprotectorstrong fnoplt O2 ffunctionsections pipe isystem /home/dimpase/sage/.tox/localcondaforgestandard/conda/include fnocommon g0 O3 Wnounusedfunction Wnotrigraphs Wnounusedparameter Wunknownpragmas Wnounusedvariable fomitframepointer fwrapv fvisibility=default finlinefunctions fnoexceptions fnothreadsafestatics fnoenforceehspecs fconservespace funrollloops fnodeletenullpointerchecks fnortti fexceptions frtti c groebnerCone.cc fPIC DPIC o .libs/gfanlib_lagroebnerCone.o groebnerCone.cc:428:58: error: no 'bool groebnerCone::pointsOutwards(gfan::ZVector) const' member function declared in class 'groebnerCone' bool groebnerCone::pointsOutwards(const gfan::ZVector w) const ^~~~~ groebnerCone.cc: In member function 'groebnerCones groebnerCone::tropicalNeighbours() const': groebnerCone.cc:449:13: error: 'pointsOutwards' was not declared in this scope if (pointsOutwards(ray[j])) ^~~~~~~~~~~~~~ make[9]: *** [Makefile:726: gfanlib_lagroebnerCone.lo] Error 1
this is on Debian, and might be due to using gfan from the system.
comment:10 followup: ↓ 18 Changed 2 years ago by
This is fixed in singular 4.1.2. https://github.com/Singular/Sources/commit/80a9ffc773542e3329935e5377f6906628be16e6
A workaround is to do export CPPFLAGS="$CPPFLAGS UNDEBUG"
in Singular build script.
comment:11 followup: ↓ 12 Changed 2 years ago by
should we upgrade Sage's singular?
comment:12 in reply to: ↑ 11 Changed 2 years ago by
comment:13 followup: ↓ 29 Changed 2 years ago by
I also see a failure (testing with #29417):
localcondaforgemacosstandard
:[dochtml] from sage.symbolic.all import * [dochtml] File "/Users/runner/runners/2.165.2/work/sage/sage/.tox/localcondaforgemacosstandard/local/lib/python3.7/sitepackages/sage/symbolic/all.py", line 3, in <module> [dochtml] from sage.libs.pynac.pynac import I [dochtml] File "sage/symbolic/expression.pxd", line 4, in init sage.libs.pynac.pynac (build/cythonized/sage/libs/pynac/pynac.cpp:30411) [dochtml] File "sage/symbolic/expression.pyx", line 160, in init sage.symbolic.expression (build/cythonized/sage/symbolic/expression.cpp:75349) [dochtml] ImportError: dlopen(/Users/runner/runners/2.165.2/work/sage/sage/.tox/localcondaforgemacosstandard/local/lib/python3.7/sitepackages/sage/symbolic/ring.cpython37mdarwin.so, 2): Symbol not found: __ZN5GiNaC9containerINSt3__16vectorEEC2ERKNS2_INS_2exENS1_9allocatorIS4_EEEEb [dochtml] Referenced from: /Users/runner/runners/2.165.2/work/sage/sage/.tox/localcondaforgemacosstandard/local/lib/python3.7/sitepackages/sage/symbolic/ring.cpython37mdarwin.so [dochtml] Expected in: flat namespace [dochtml] in /Users/runner/runners/2.165.2/work/sage/sage/.tox/localcondaforgemacosstandard/local/lib/python3.7/sitepackages/sage/symbolic/ring.cpython37mdarwin.so
(this is with #29404  should take another look)
comment:14 Changed 2 years ago by
In any case, the present ticket is about adding the testing framework for localconda, which appears to work. Needs review.
comment:15 Changed 2 years ago by
 Cc ghkliem added
comment:16 followup: ↓ 17 Changed 2 years ago by
Shameless plug. Use miniforge instead of miniconda?
comment:17 in reply to: ↑ 16 ; followup: ↓ 19 Changed 2 years ago by
Replying to isuruf:
Shameless plug. Use miniforge instead of miniconda?
Just tried it and it behaves a bit different from miniconda:
localmacoscondaforgestandardpython2 runtestpre: commands[6]  bash c '/Users/mkoeppe/s/sage/sagerebasing/worktreealgebraic2018spring/.tox/localmacoscondaforgestandardpython2/conda/bin/conda update n base yes conda' Traceback (most recent call last): File "/Users/mkoeppe/s/sage/sagerebasing/worktreealgebraic2018spring/.tox/localmacoscondaforgestandardpython2/conda/bin/conda", line 12, in <module> from conda.cli import main ModuleNotFoundError: No module named 'conda'
Do I need to activate the environment before using that?
comment:18 in reply to: ↑ 10 Changed 2 years ago by
Replying to isuruf:
This is fixed in singular 4.1.2. https://github.com/Singular/Sources/commit/80a9ffc773542e3329935e5377f6906628be16e6
A workaround is to do
export CPPFLAGS="$CPPFLAGS UNDEBUG"
in Singular build script.
Because the singular upgrade (#25993) will not be ready for 9.1, I have opened #29438 for this
comment:19 in reply to: ↑ 17 Changed 2 years ago by
Replying to mkoeppe:
Do I need to activate the environment before using that?
Yes, but even miniconda needs activation.
comment:20 Changed 2 years ago by
 Commit changed from 354cf90635e94587435c75e237a3d6ef8c806e06 to a61c48e04b0c463b02fb47903454a94133b3a560
Changed 2 years ago by
Changed 2 years ago by
comment:21 Changed 2 years ago by
I guess it works in the way that it doesn't work.
* package: openblas0.3.6.p0 last build time: Apr 1 10:54 log file: /srv/public/kliem/sage/logs/pkgs/openblas0.3.6.p0.log build directory: /srv/public/kliem/sage/.tox/localcondaforgestandard/local/var/tmp/sage/build/openblas0.3.6.p0 * package: singular4.1.1p2.p0 last build time: Apr 1 11:00 log file: /srv/public/kliem/sage/logs/pkgs/singular4.1.1p2.p0.log build directory: /srv/public/kliem/sage/.tox/localcondaforgestandard/local/var/tmp/sage/build/singular4.1.1p2.p0
I attached the logs.
comment:22 Changed 2 years ago by
Singular might need the fix proposed by Isuru above
comment:23 Changed 2 years ago by
I'm not sure that I understand.
At least this here did not fix the problem.
+++ b/build/pkgs/singular/spkginstall.in @@ 19,6 +19,7 @@ else fi export CFLAGS CXXFLAGS +export CPPFLAGS="$CPPFLAGS UNDEBUG" remove_old_version()
Now openblas, tachyon, m4ri, givaro, ecm, python3, giac, singular fail to install.
comment:24 Changed 2 years ago by
Singular fixes  please on #29438, not here
comment:25 Changed 2 years ago by
This ticket is about adding the testing environment for conda, not fixing everything that may be broken in the conda build
comment:26 Changed 2 years ago by
 Reviewers set to Isuru Fernando
 Status changed from needs_review to positive_review
comment:27 Changed 2 years ago by
Thank you.
comment:28 Changed 2 years ago by
 Branch changed from u/mkoeppe/tox_ini__add_environment_local_conda to a61c48e04b0c463b02fb47903454a94133b3a560
 Resolution set to fixed
 Status changed from positive_review to closed
comment:29 in reply to: ↑ 13 Changed 2 years ago by
 Commit a61c48e04b0c463b02fb47903454a94133b3a560 deleted
Replying to mkoeppe:
I also see a failure (testing with #29417):
localcondaforgemacosstandard
:[dochtml] from sage.symbolic.all import * [dochtml] File "/Users/runner/runners/2.165.2/work/sage/sage/.tox/localcondaforgemacosstandard/local/lib/python3.7/sitepackages/sage/symbolic/all.py", line 3, in <module> [dochtml] from sage.libs.pynac.pynac import I [dochtml] File "sage/symbolic/expression.pxd", line 4, in init sage.libs.pynac.pynac (build/cythonized/sage/libs/pynac/pynac.cpp:30411) [dochtml] File "sage/symbolic/expression.pyx", line 160, in init sage.symbolic.expression (build/cythonized/sage/symbolic/expression.cpp:75349) [dochtml] ImportError: dlopen(/Users/runner/runners/2.165.2/work/sage/sage/.tox/localcondaforgemacosstandard/local/lib/python3.7/sitepackages/sage/symbolic/ring.cpython37mdarwin.so, 2): Symbol not found: __ZN5GiNaC9containerINSt3__16vectorEEC2ERKNS2_INS_2exENS1_9allocatorIS4_EEEEb [dochtml] Referenced from: /Users/runner/runners/2.165.2/work/sage/sage/.tox/localcondaforgemacosstandard/local/lib/python3.7/sitepackages/sage/symbolic/ring.cpython37mdarwin.so [dochtml] Expected in: flat namespace [dochtml] in /Users/runner/runners/2.165.2/work/sage/sage/.tox/localcondaforgemacosstandard/local/lib/python3.7/sitepackages/sage/symbolic/ring.cpython37mdarwin.so(this is with #29404  should take another look)
This is now #29574
Last 10 new commits:
Reorder systems so debiansid comes after other debians
tox.ini [ubuntufocal]: Use IGNORE_MISSING_SYSTEM_PACKAGES=yes because of libpython3.7dev
Merge tag '9.1.beta8' into t/29354/tox_ini__add_slackware_environments
Add slackware package info
Fixup packages
build/bin/sageguesspackagesystem, build/bin/sageprintsystempackagecommand: Handle slackware too
build/bin/sagespkg: Show equivalent system packages for ALL distros
Merge branch 't/29354/tox_ini__add_slackware_environments' into t/29087/CIghactionstoxconfigurebuild
tox.ini: Add localconda environments
tox.yml: Add localcondaforge