Giter Club home page Giter Club logo

diracos2's Introduction

DIRACOS2

Python 3 DIRACOS installer built using conda constructor and conda-forge.

Table of contents

Installing DIRACOS2

These instructions will install the latest release of DIRACOS in a folder named diracos. To install a specific version replace /latest/download/ in the URL with a version like /download/2.0/.

curl -LO https://github.com/DIRACGrid/DIRACOS2/releases/latest/download/DIRACOS-Linux-x86_64.sh
bash DIRACOS-Linux-x86_64.sh

It can then be activated in a similar way to version 1 of DIRACOS, by calling source "$PWD/diracos/diracosrc". Further usage instructions are shown after installation.

Advanced documentation

Building the installer

The DIRACOS installer is a self-extracting shell script that is generated using conda constructor. This can be installed using any conda installation. If you don't have a local conda installation, you can use the following steps on Linux:

wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
bash Miniforge3-Linux-x86_64.sh -b -p $PWD/miniforge
# This line is needed every time you wish to use miniforge in a new shell
eval "$($PWD/miniforge/bin/conda shell.bash hook)"
conda install constructor

Once you have constructor installed, a new installer can be generating from the construct.yaml using:

constructor . --platform=linux-64

The packages included are defined in the construct.yaml file, see the upstream documentation for more details.

Testing the installer

Basic tests of the installer can be ran using an arbitrary docker image by running:

scripts/run_basic_tests.sh DOCKER_IMAGE DIRACOS_INSTALLER_FILENAME

Making a release

To ensure reproducibility, releases are made from build artifacts from previous pipelines and are tagged using GitHub actions by triggering the Create release workflow. This workflow runs scripts/make_release.py and has the following optional parameters:

  • Run ID: The GitHub Actions workflow run ID. If not given, defaults to the most recent build of the main branch.
  • Version number: A PEP-440 compliant version number. If not given, defaults to the contents the contents of version field in the construct.yaml rounded to the next full release (i.e. 2.4a5 becomes 2.4 and 2.1 remains unchanged). If a pre-release is explicitly give, it will be marked as a pre-release in GitHub and won't affect the latest alias.

If the release process fails, a draft release might be left in GitHub. After the issue has been fixed this can be safely deleted before rerunning the CI.

After the release is made a commit will be pushed to master to bump the DIRACOS release number in construct.yaml to the next alpha release. If the next alpha release is older than the current contents of construct.yaml, this step is skipped.

Building customised packages

See management/conda-recipes.

Miscellaneous remarks

DIRACOS2 is a smaller wrapper around conda constructor which generates a self-extracting installer that is suitable for DIRAC's needs based on packages which are distributed by conda-forge. As such, most components are documented by their respective projects. The following is a list of remarks that are specific DIRACOS2:

  • The build-and-test workflow is ran on every push event as well as once per day. GitHub Actions limitations will cause the nightly build to be disabled if there is no activity in the repository for 60 days. If this happens, it can be easily re-enabled by pushing an empty commit to master.
  • The DIRACOS installer follows the common pattern of being a shell script that exits followed by an arbitrary binary blob. In principle it is possible to create other kinds of installer with constructor however these are no deemed to be of interest at the current time.
  • Similarly to the original DIRACOS, releases are made by assigning a version number to a previous CI build. As constructor embeds the version number into the installer at build time, this means the version of the installed has to be edited for the binary artifact. Fortunately this is only embedded in the shell script at the start of the file, so it's a relatively simple string manipulation to modify it. This is done using in the main() function of scripts/make_release.py. As this is not an officially supported feature of constructor it is prone to changing at anytime.

Troubleshooting

This section contains a list of know issues that can occur.

Duplicate files

This error is of the form:

File 'include/event.h' found in multiple packages: libevent-2.1.10-hcdb4288_2.tar.bz2, libev-4.33-h516909a_0.tar.bz2

When this happens, the offending packages should be fixed upstream in conda-forge. As a temporary workaround, the ignore_duplicate_files key in construct.yaml can be changed to true.

diracos2's People

Contributors

aldbr avatar andresailer avatar atsareg avatar chaen avatar chrisburr avatar fstagni avatar github-actions[bot] avatar rupozzi avatar simon-mazenoux avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

diracos2's Issues

Files not found when sourcing diracosrc with latest diracos release

After running the installation script, sourcing the diracosrc gives the following errors:

$ source ~/.local/diracos/diracosrc 
realpath: '': No such file or directory
realpath: /etc/grid-security/certificates: No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory

Generate aarch64 and ppc64le installers for pilot clients

Most of the work required for this has already been done. Possible tasks remaining are (these are all optional at this stage depending on how we decide to proceed):

  • Re-enable support for cross-platform constructor builds
  • Find a CI provider for running tests natively on an the new architecture(s). Drone CI and Travis CI are currently used by conda-forge very successfully.

If packages are found to be missing from conda-forge, they should be added to the conda-forge arch-rebuild migration by making a PR to add the package names to this file. The status of the migration can then be tracked using the conda-forge status page.

How to handle updates?

Yes, I think it's early enough that you can bump the version in DIRACOS2 in the next patch release (I would not do it so > easily if it was production code, but as of now it's still experimental)

Originally posted by @fstagni in DIRACGrid/DIRAC#5000 (comment)

It doesn't need to be solved now but at some point we will have to decide how to handle "riskier" updates as in DIRACOS 1 we didn't have to care too much given how static CentOS 6 was. For example:

  1. Updating the middleware XRootD/ARC/...
  2. Updating other dependencies, gsoap/boost/...
  3. Updating minor Python versions (these should be stable and fairly low risk)
  4. Major updates, I have nothing specific in mind but imagine a siltation like Python 2 to Python 3

My initial thoughts:

  1. We should avoid having active releases which cannot be used with the latest DIRACOS 2 version, especially considering there could be something like an "urgent" OpenSSL bug which requires everyone to update at short notice regardless of the DIRAC version they're running. I think this can be handled relatively by making sure that bug fixes for changes in dependencies target an appropriate branch.

  2. As there aren't many downstream dependencies of things like XRootD (and I'm responsible for most of them) we can fairly easily control the versions we're given and rebuild older ones like XRootD 4.x if needed

  3. Here we basically need to follow the "global pinning" in conda-forge but I don't expect this to be a problem. We might need to be careful with things like OpenSSL 3 when it's release but that migration will be relatively slow with both OpenSSL 1.1.1 and OpenSSL 3 being build for months so we will have time to run certifications with the new version.

  4. Since Python 3.4ish these have been fairly stable. We might want to run a certification with the latest version but I don't think we should be too afraid of updates.

  5. This would become DIRACOS 3 and we would likely need to support both DIRACOS 2 and 3 for a reasonably long time. Conda-forge would also likely support both variants for a long time so it wouldn't be a problem (this already happened for updating the C++ ABI and Python 2 -> 3).

Fix deprecation notices in CI config

The CI has started showing deprecation warnings so we should fix them at some point:

The set-output command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: actions/checkout, actions/cache, conda-incubator/setup-miniconda, actions/upload-artifact, conda-incubator/setup-miniconda, actions/cache, actions/checkout

ARM/CentOS8

Leaving it here, I did not do any follow-up.

Given the availability of 1 ARM host from lxplus (ssh lxplus8-arm) I just tried installing DIRACOS2 and:

[fstagni@oci-lxplus-arm-001 ~]$ $ bash DIRACOS-Linux-$(uname -m).sh
-bash: $: command not found
[fstagni@oci-lxplus-arm-001 ~]$ bash DIRACOS-Linux-$(uname -m).sh
PREFIX=/afs/cern.ch/user/f/fstagni/diracos
Unpacking payload ...
  0%|                                                                                                                                                                                                                                                     | 0/273 [00:00<?, ?it/s]Could not remove or rename /afs/cern.ch/user/f/fstagni/diracos/pkgs/c-ares-1.18.1-hf897c2e_0ohqlqpab/.__afs53C7.  Please remove this file manually (you may need to reboot to free file handles)
Could not remove or rename /afs/cern.ch/user/f/fstagni/diracos/pkgs/lerc-3.0-h01db608_0unc3jdgq/.__afs2537.  Please remove this file manually (you may need to reboot to free file handles)
Could not remove or rename /afs/cern.ch/user/f/fstagni/diracos/pkgs/tzdata-2021e-he74cb21_0_kg9fwos/.__afsB61F.  Please remove this file manually (you may need to reboot to free file handles)
Could not remove or rename /afs/cern.ch/user/f/fstagni/diracos/pkgs/mysql-common-8.0.27-h8af1aa0_3ffz0kwqp/.__afsF642.  Please remove this file manually (you may need to reboot to free file handles)
Could not remove or rename /afs/cern.ch/user/f/fstagni/diracos/pkgs/graphite2-1.3.13-h7fd3ca4_1001njlbb8ea/.__afs4812.  Please remove this file manually (you may need to reboot to free file handles)
Could not remove or rename /afs/cern.ch/user/f/fstagni/diracos/pkgs/jpeg-9e-h3557bc0_0ha4_ytio/.__afs0D19.  Please remove this file manually (you may need to reboot to free file handles)
Could not remove or rename /afs/cern.ch/user/f/fstagni/diracos/pkgs/icu-69.1-h3621d8e_0jtmdj7yu/.__afsE7C.  Please remove this file manually (you may need to reboot to free file handles)
Could not remove or rename /afs/cern.ch/user/f/fstagni/diracos/pkgs/giflib-5.2.1-hb9de7d4_2yhrk0v_w/.__afsCDEF.  Please remove this file manually (you may need to reboot to free file handles)
Could not remove or rename /afs/cern.ch/user/f/fstagni/diracos/pkgs/bzip2-1.0.8-hf897c2e_4g__o3iq8/.__afs7266.  Please remove this file manually (you may need to reboot to free file handles)
concurrent.futures.process._RemoteTraceback:                                                                                                                                                                                                                                      
'''
Traceback (most recent call last):
  File "concurrent/futures/process.py", line 384, in wait_result_broken_or_wakeup
  File "multiprocessing/connection.py", line 256, in recv
TypeError: __init__() missing 1 required positional argument: 'msg'
'''

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "entry_point.py", line 69, in <module>
  File "concurrent/futures/process.py", line 559, in _chain_from_iterable_of_lists
  File "concurrent/futures/_base.py", line 608, in result_iterator
  File "concurrent/futures/_base.py", line 445, in result
  File "concurrent/futures/_base.py", line 390, in __get_result
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
[1144884] Failed to execute script 'entry_point' due to unhandled exception!

[discussion] oidc-agent package

I am currently testing the ability to use an oidc-agent for a DIRAC Client installation. I'm wondering if there may be any caveats about adding a this package installation, and how to properly add it to a client installation?
It also has a python library liboidcagent to communicate with the oidc-agent through UNIX domain sockets.

Installation errors for diracos

I am seeing

bash /cvmfs/dirac.egi.eu/installSource/DIRACOS-Linux-x86_64.sh
/cvmfs/dirac.egi.eu/installSource/DIRACOS-Linux-x86_64.sh: /cvmfs/dirac.egi.eu/installSource/DIRACOS-Linux-x86_64.sh: cannot execute binary file

Because the file is all zeros?

hexdump /cvmfs/dirac.egi.eu/installSource/DIRACOS-Linux-x86_64.sh
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
1871cd10 0000 0000 0000 0000 0000               
1871cd19

But falling back to download and install


error    libmamba response code: -1 error message: Invalid argument
critical libmamba failed to execute pre/post link script for gdk-pixbuf

2024-06-14T07:20:49.708446Z ERROR [InstallDIRAC] Could not install DIRACOS [ERROR 1]
2024-06-14T07:20:49.708578Z INFO [InstallDIRAC] Content of pilot.cfg

Add support for extensions

As far as I'm aware the only DIRACOS extension is LHCbDIRACOS which wouldn't require a full DIRAOCS extension to implement and could rely on just the setuptools metadata. I'll list this under the "later" milestone until there is a solid use case.

Review of DIRACOS2

As discussed at the BiLD meeting on 8th October 2020, @andresailer will be reviewing DIRACOS2. I'm opening this issue to keep track of the process.

Ready to be reviewed:

  • Recipes for DIRAC specific conda packages in DIRACGrid/management#23
  • This repository, though there are still some remaining issues to deal with that are tracked by the v2.0 milestone.

Still to be implemented:

cc @fstagni @atsareg @chaen @petricm

Issues in DIRACOS 2.22

During yesterday's hackathon we noticed that there were data management issues with DIRACOS 2.22.

Eventually me and @chaen figured out that it only affects using SRM to communicate with dcache sites and comes from using the latest version of the globus community toolkit.

That led us to this issue gridcf/gct#174 which we verified using:

$ GLOBUS_GSI_OPENSSL_ERROR_DEBUG_LEVEL=99 GLOBUS_GSSAPI_DEBUG_LEVEL=99 GLOBUS_GSI_GSS_ASSIST_DEBUG_LEVEL=99 timeout 2 gfal-ls -vvv 'srm://gfe02.grid.hep.ph.ic.ac.uk:8443/srm/managerv2?SFN=/pnfs/hep.ph.ic.ac.uk/' 2>&1 | grep -i 'Using TLS'; echo Exited with $?
Using TLSv1.3.
Exited with 143

$ GLOBUS_GSSAPI_MAX_TLS_PROTOCOL=TLS1_2_VERSION GLOBUS_GSI_OPENSSL_ERROR_DEBUG_LEVEL=99 GLOBUS_GSSAPI_DEBUG_LEVEL=99 GLOBUS_GSI_GSS_ASSIST_DEBUG_LEVEL=99 timeout 2 gfal-ls -vvv 'srm://gfe02.grid.hep.ph.ic.ac.uk:8443/srm/managerv2?SFN=/pnfs/hep.ph.ic.ac.uk/' 2>&1 | grep -i 'Using TLS'; echo Exited with $?
Using TLSv1.2.
Exited with 0

$ GLOBUS_GSSAPI_MAX_TLS_PROTOCOL=TLS1_3_VERSION GLOBUS_GSI_OPENSSL_ERROR_DEBUG_LEVEL=99 GLOBUS_GSSAPI_DEBUG_LEVEL=99 GLOBUS_GSI_GSS_ASSIST_DEBUG_LEVEL=99 timeout 2 gfal-ls -vvv 'srm://gfe02.grid.hep.ph.ic.ac.uk:8443/srm/managerv2?SFN=/pnfs/hep.ph.ic.ac.uk/' 2>&1 | grep -i 'Using TLS'; echo Exited with $?
Using TLSv1.3.
Exited with 143

Unfortunately we currently can't easily rebuild gct and patch it in conda-forge as the sources are unavailable gridcf/gct#194.

As a temporary workaround I'll make a new release that sets GLOBUS_GSSAPI_MAX_TLS_PROTOCOL=TLS1_2_VERSION in the diracosrc.

Optimise installation

Currently the installer hasn't been optimised at all however once things are stable it should be adapted to minimise

  • Compressed installer size
  • Installation file count (and hence IO load)
  • Installation time

The following might be helpful for this:

  • Removing unused packages
  • Using .conda packages instead of .tar.bz2
  • Using micromamba instead of conda-standalone
  • Modifying the packages themselves to split into smaller components or to avoid dependencies

Of course it's important that DIRACOS2 is still easy to build and maintain, even if that comes at a small cost.

Prompt problems with DIRACOS v2.34

Hi,

We've noticed that the latest DIRACOS seems to have trouble with the default prompt on RHEL. When the diracosrc is sourced, the prompt gets set to just "(base) " with the old prompt going missing:

[user@host dirac_dir]$ source diracos/diracosrc 
(base) # Where did my prompt go?
(base) 

The old behaviour was to keep the old prompt, e.g.:

[user@host dirac_dir]$ source diracos/diracosrc 
(base) [user@host dirac_dir]$

On RHEL PS1 is not exported by the system-wide bashrc, for some reason this upsets v2.34 but not earlier versions (Running "export PS1" is a workaround). I imagine something has changed upstream, but it wasn't obvious to me what and I couldn't find any bug reports for this. Any ideas?

Regards,
Simon

Add rucio-clients

As this is in DIRACOS it should probably also be added to DIRACOS2. Some pointers for whoever wants to do this:

A couple of useful tutorials:

Error installing diracos

Trying to install diracos on a Manjaro linux system gives me the following error:

$ curl -LO https://github.com/DIRACGrid/DIRACOS2/releases/latest/download/DIRACOS-Linux-x86_64.sh
$ bash DIRACOS-Linux-x86_64.sh
PREFIX=/home/maxnoe/diracos
Unpacking payload ...
Extracting "xz-5.2.5-h516909a_1.conda"
Extracting "gitpython-3.1.27-pyhd8ed1ab_0.conda"
Extracting "rucio-clients-1.28.4-pyhd8ed1ab_0.conda"
Extracting "sqlalchemy-1.4.36-py39hb9d737c_0.conda"
Extracting "libev-4.33-h516909a_1.conda"
Extracting "glibmm-2.58.1-h778ead0_1.conda"
Extracting "libgomp-12.1.0-h8d9b700_16.conda"
Extracting "freetype-2.10.4-h0708190_1.conda"
Extracting "xorg-xextproto-7.3.0-h7f98852_1002.conda"
Extracting "icu-70.1-h27087fc_0.conda"
Extracting "six-1.16.0-pyh6c4a22f_0.conda"
Extracting "munge-0.5.13-h4de3113_1.conda"
Extracting "amqp-5.1.1-pyhd8ed1ab_0.conda"
Extracting "enum34-1.1.10-py39hde42818_2.conda"
Extracting "diraccfg-0.2.2-pyhd8ed1ab_0.conda"
Extracting "elasticsearch-dsl-7.4.0-py39hf3d152e_1.conda"
Extracting "charset-normalizer-2.0.12-pyhd8ed1ab_0.conda"
Extracting "greenlet-1.1.2-py39h5a03fae_2.conda"
Extracting "commonmark-0.9.1-py_0.conda"
Extracting "libcblas-3.9.0-14_linux64_openblas.conda"
Extracting "ncurses-6.3-h27087fc_1.conda"
Extracting "pluggy-1.0.0-py39hf3d152e_3.conda"
Extracting "gfal2-2.20.5-h1edf11a_1.conda"
Extracting "liblapack-3.9.0-14_linux64_openblas.conda"
Extracting "openjpeg-2.4.0-hb52868f_1.conda"
Extracting "libseccomp-2.4.4-h7f98852_1.conda"
Extracting "_libgcc_mutex-0.1-conda_forge.conda"
Extracting "libgfortran-ng-12.1.0-h69a702a_16.conda"
Extracting "xmltodict-0.13.0-pyhd8ed1ab_0.conda"
Extracting "xorg-kbproto-1.0.7-h7f98852_1002.conda"
Extracting "certifi-2022.5.18.1-py39hf3d152e_0.conda"
Extracting "xxhash-0.8.0-h7f98852_3.conda"
Extracting "xorg-libxau-1.0.9-h7f98852_0.conda"
Extracting "lcms2-2.12-hddcbb42_0.conda"
Extracting "ptyprocess-0.7.0-pyhd3deb0d_0.conda"
Extracting "cffi-1.15.0-py39h4bc2ebd_0.conda"
Extracting "multidict-6.0.2-py39hb9d737c_1.conda"
Extracting "parso-0.8.3-pyhd8ed1ab_0.conda"
Extracting "jq-1.6-h36c2ea0_1000.conda"
Extracting "lz4-c-1.9.3-h9c3ff4c_1.conda"
Extracting "xorg-libice-1.0.10-h7f98852_0.conda"
Extracting "matplotlib-inline-0.1.3-pyhd8ed1ab_0.conda"
Extracting "db12-1.0.4-pyhd8ed1ab_0.conda"
Extracting "decorator-5.1.1-pyhd8ed1ab_0.conda"
Extracting "font-ttf-dejavu-sans-mono-2.37-hab24e00_0.conda"
Extracting "expat-2.4.8-h27087fc_0.conda"
Extracting "libtiff-4.3.0-h0fcbabc_4.conda"
Extracting "click-didyoumean-0.3.0-pyhd8ed1ab_0.conda"
Extracting "srm-ifce-1.24.5-h5620ad5_4.conda"
Extracting "pyasn1-0.4.8-py_0.conda"
Extracting "libntlm-1.4-h7f98852_1002.conda"
Extracting "libbrotlicommon-1.0.9-h166bdaf_7.conda"
Extracting "libnghttp2-1.47.0-h727a467_0.conda"
Extracting "smmap-3.0.5-pyh44b312d_0.conda"
Extracting "wcwidth-0.2.5-pyh9f0ad1d_2.conda"
Extracting "boost-1.74.0-py39h5472131_5.conda"
Extracting "sphinxcontrib-serializinghtml-1.1.5-pyhd8ed1ab_2.conda"
Extracting "backports.functools_lru_cache-1.6.4-pyhd8ed1ab_0.conda"
Extracting "urllib3-1.26.8-pyhd8ed1ab_1.conda"
Extracting "pysocks-1.7.1-py39hf3d152e_5.conda"
Extracting "dogpile.cache-1.1.5-pyhd8ed1ab_0.conda"
Extracting "cachetools-5.0.0-pyhd8ed1ab_0.conda"
Extracting "brotli-1.0.9-h166bdaf_7.conda"
Extracting "libglib-2.70.2-h174f98d_4.conda"
Extracting "typing-extensions-4.2.0-hd8ed1ab_1.conda"
Extracting "brotlipy-0.7.0-py39hb9d737c_1004.conda"
Extracting "pure_eval-0.2.2-pyhd8ed1ab_0.conda"
Extracting "libzlib-1.2.12-h166bdaf_0.conda"
Extracting "font-ttf-source-code-pro-2.038-h77eed37_0.conda"
Extracting "pyopenssl-22.0.0-pyhd8ed1ab_0.conda"
Extracting "libbrotlidec-1.0.9-h166bdaf_7.conda"
Extracting "davix-0.8.1-h2122014_0.conda"
Extracting "libbrotlienc-1.0.9-h166bdaf_7.conda"
Extracting "mysql-libs-8.0.27-hfa10184_3.conda"
Extracting "alabaster-0.7.12-py_0.conda"
Extracting "attrs-21.4.0-pyhd8ed1ab_0.conda"
Extracting "subprocess32-3.5.4-py_1.conda"
Extracting "libsigcpp-2.10.7-ha770c72_1.conda"
Extracting "_openmp_mutex-4.5-2_gnu.conda"
Extracting "libwebp-1.2.2-h3452ae3_0.conda"
Extracting "pugixml-1.11.4-h9c3ff4c_0.conda"
Extracting "opensearch-py-1.1.0-pyhd8ed1ab_0.conda"
Extracting "prompt_toolkit-3.0.29-hd8ed1ab_0.conda"
Extracting "oniguruma-6.9.8-h166bdaf_0.conda"
Extracting "lerc-3.0-h9c3ff4c_0.conda"
Extracting "tomli-2.0.1-pyhd8ed1ab_0.conda"
Extracting "zlib-1.2.12-h166bdaf_0.conda"
Extracting "python-gfal2-1.11.0-py39h4a77f6a_3.conda"
Extracting "sortedcontainers-2.4.0-pyhd8ed1ab_0.conda"
Extracting "lz4-4.0.0-py39h029007f_2.conda"
Extracting "mysqlclient-2.0.3-py39he80948d_2.conda"
Extracting "libudev1-249-h166bdaf_2.conda"
Extracting "libxml2-2.9.14-h22db469_0.conda"
Extracting "imagesize-1.3.0-pyhd8ed1ab_0.conda"
Extracting "voms-2.1.0rc0-h46dc511_6.conda"
Extracting "libarchive-3.5.2-hb890918_2.conda"
Extracting "xorg-libxext-1.3.4-h7f98852_1.conda"
Extracting "stevedore-3.5.0-py39hf3d152e_3.conda"
Extracting "pyparsing-3.0.9-pyhd8ed1ab_0.conda"
Extracting "json-c-0.16-hc379101_0.conda"
Extracting "sphinxcontrib-devhelp-1.0.2-py_0.conda"
Extracting "tornado_m2crypto-0.1.2-pyhde42818_0.conda"
Extracting "giflib-5.2.1-h36c2ea0_2.conda"
Extracting "pcre-8.45-h9c3ff4c_0.conda"
Extracting "libedit-3.1.20191231-he28a2e2_2.conda"
Extracting "opensearch-dsl-1.0.0-pyhd8ed1ab_0.conda"
Extracting "botocore-1.26.10-pyhd8ed1ab_0.conda"
Extracting "jsonschema-3.2.0-pyhd8ed1ab_3.conda"
Extracting "xorg-libsm-1.2.3-hd9c2040_1000.conda"
Extracting "c-ares-1.18.1-h7f98852_0.conda"
Extracting "readline-8.1-h46c0cb4_0.conda"
Extracting "fonts-conda-forge-1-0.conda"
Extracting "libxcb-1.13-h7f98852_1004.conda"
Extracting "gettext-0.19.8.1-h73d1719_1008.conda"
Extracting "micromamba-0.23.3-0.conda"
Extracting "xorg-libxdmcp-1.1.3-h7f98852_0.conda"
Extracting "pytest-7.1.2-py39hf3d152e_0.conda"
Extracting "fribidi-1.0.10-h36c2ea0_0.conda"
Extracting "pytz-2022.1-pyhd8ed1ab_0.conda"
Extracting "libstdcxx-ng-12.1.0-ha89aaad_16.conda"
Extracting "suds-jurko-0.6-py39hf3d152e_1005.conda"
Extracting "singularity-3.8.7-h690c42b_0.conda"
Extracting "libwebp-base-1.2.2-h7f98852_1.conda"
Extracting "sigcpp-2.0-2.10.7-h9c3ff4c_1.conda"
Extracting "git-2.35.3-pl5321h36853c3_0.conda"
Extracting "libcondor_utils-9.0.12-hd2a20c0_0.conda"
Extracting "jpeg-9e-h166bdaf_1.conda"
Extracting "stack_data-0.2.0-pyhd8ed1ab_0.conda"
Extracting "aiohttp-3.8.1-py39hb9d737c_1.conda"
Extracting "backcall-0.2.0-pyh9f0ad1d_0.conda"
Extracting "unicodedata2-14.0.0-py39hb9d737c_1.conda"
Extracting "s3transfer-0.5.2-pyhd8ed1ab_0.conda"
Extracting "gsoap-2.8.119-h90a1d37_0.conda"
Extracting "traitlets-5.2.1.post0-pyhd8ed1ab_0.conda"
Extracting "libssh2-1.10.0-ha56f1ee_2.conda"
Extracting "prompt-toolkit-3.0.29-pyha770c72_0.conda"
Extracting "markupsafe-2.1.1-py39hb9d737c_1.conda"
Extracting "lzo-2.10-h516909a_1000.conda"
Extracting "importlib-metadata-4.11.4-py39hf3d152e_0.conda"
Extracting "zstd-1.5.2-h8a70e8d_1.conda"
Extracting "pbr-5.9.0-pyhd8ed1ab_0.conda"
Extracting "pycurl-7.45.1-py39hd73adbb_1.conda"
Extracting "sphinxcontrib-htmlhelp-2.0.0-pyhd8ed1ab_0.conda"
Extracting "pthread-stubs-0.4-h36c2ea0_1001.conda"
Extracting "boto3-1.23.10-pyhd8ed1ab_0.conda"
Extracting "setuptools-62.3.2-py39hf3d152e_0.conda"
Extracting "libffi-3.4.2-h7f98852_5.conda"
Extracting "gitdb-4.0.9-pyhd8ed1ab_0.conda"
Extracting "snowballstemmer-2.2.0-pyhd8ed1ab_0.conda"
Extracting "libpng-1.6.37-h21135ba_2.conda"
Extracting "libblas-3.9.0-14_linux64_openblas.conda"
Extracting "executing-0.8.3-pyhd8ed1ab_0.conda"
Extracting "libcbor-0.9.0-h9c3ff4c_0.conda"
Extracting "vine-5.0.0-pyhd8ed1ab_1.conda"
Extracting "libuuid-2.32.1-h7f98852_1000.conda"
Extracting "sqlite-3.38.5-h4ff8645_0.conda"
Extracting "bat-0.21.0-h2f28480_0.conda"
Extracting "gfal2-util-1.7.1-pyhd8ed1ab_0.conda"
Extracting "libcurl-7.83.1-h7bff187_0.conda"
Extracting "xorg-renderproto-0.11.1-h7f98852_1002.conda"
Extracting "mysql-client-8.0.27-hf09c6a7_3.conda"
Extracting "cmreshandler-1.0.0-py_2.conda"
Extracting "libgfortran5-12.1.0-hdcd56e2_16.conda"
Extracting "importlib_resources-5.7.1-pyhd8ed1ab_1.conda"
Extracting "boost-cpp-1.74.0-h75c5d50_8.conda"
Extracting "click-8.1.3-py39hf3d152e_0.conda"
Extracting "sphinxcontrib-qthelp-1.0.3-py_0.conda"
Extracting "stomp.py-4.1.23-pyh9f0ad1d_0.conda"
Extracting "docopt-0.6.2-py_1.conda"
Extracting "future-0.18.2-py39hf3d152e_5.conda"
Extracting "matplotlib-base-3.5.2-py39h700656a_0.conda"
Extracting "tornado-5.1.1+dirac.1-py39hdb842f6_0.conda"
Extracting "numpy-1.22.4-py39hc58783e_0.conda"
Extracting "billiard-3.6.4.0-py39hb9d737c_2.conda"
Extracting "sphinxcontrib-jsmath-1.0.1-py_0.conda"
Extracting "squashfs-tools-4.4-hd0129a2_3.conda"
Extracting "munkres-1.1.4-pyh9f0ad1d_0.conda"
Extracting "krb5-1.19.3-h3790be6_0.conda"
Extracting "frozenlist-1.3.0-py39hb9d737c_1.conda"
Extracting "gct-6.2.1629922860-h727a467_1.conda"
Extracting "libiconv-1.16-h516909a_0.conda"
Extracting "backports-1.0-py_2.conda"
Extracting "pyrsistent-0.18.1-py39hb9d737c_1.conda"
Extracting "myproxy-6.2.6-h62be64b_3.conda"
Extracting "cyrus-sasl-2.1.27-h230043b_5.conda"
Extracting "cycler-0.11.0-pyhd8ed1ab_0.conda"
Extracting "font-ttf-inconsolata-3.000-h77eed37_0.conda"
Extracting "sphinx-5.0.0-pyh6c4a22f_0.conda"
Extracting "docutils-0.17.1-py39hf3d152e_2.conda"
Extracting "idna-3.3-pyhd8ed1ab_0.conda"
Extracting "python-xxhash-3.0.0-py39hb9d737c_1.conda"
Extracting "graphite2-1.3.13-h58526e2_1001.conda"
Extracting "ld_impl_linux-64-2.36.1-hea4e1c9_2.conda"
Extracting "fts3-3.12.0-pyhd8ed1ab_0.conda"
Extracting "brotli-bin-1.0.9-h166bdaf_7.conda"
Extracting "ca-certificates-2022.5.18.1-ha878542_0.conda"
Extracting "bzip2-1.0.8-h7f98852_4.conda"
Extracting "python-json-logger-2.0.1-pyh9f0ad1d_0.conda"
Extracting "apache-libcloud-3.5.1-pyhd8ed1ab_0.conda"
Extracting "curl-7.83.1-h7bff187_0.conda"
Extracting "celery-5.2.7-pyhd8ed1ab_0.conda"
Extracting "kombu-5.2.4-py39hf3d152e_1.conda"
Extracting "fonts-conda-ecosystem-1-0.conda"
Extracting "pip-22.1.1-pyhd8ed1ab_0.conda"
Extracting "typing_extensions-4.2.0-pyha770c72_1.conda"
Extracting "libtool-2.4.6-h9c3ff4c_1008.conda"
Extracting "openssl-1.1.1o-h166bdaf_0.conda"
Extracting "rrdtool-1.8.0-hb8e2b2d_0.conda"
Extracting "ipython-8.4.0-py39hf3d152e_0.conda"
Extracting "xorg-libxrender-0.9.10-h7f98852_1003.conda"
Extracting "python-htcondor-9.0.12-py39h25412ed_0.conda"
Extracting "libgcc-ng-12.1.0-h8d9b700_16.conda"
Extracting "asttokens-2.0.5-pyhd8ed1ab_0.conda"
Extracting "zipp-3.8.0-pyhd8ed1ab_0.conda"
Extracting "libfido2-1.11.0-h727a467_0.conda"
Extracting "cni-1.0.1-ha975731_1.conda"
Extracting "keyutils-1.6.1-h166bdaf_0.conda"
Extracting "click-plugins-1.1.1-py_0.conda"
Extracting "jmespath-1.0.0-pyhd8ed1ab_0.conda"
Extracting "click-repl-0.2.0-pyhd8ed1ab_0.conda"
Extracting "htcondor-utils-9.0.12-hd598b45_0.conda"
Extracting "babel-2.10.1-pyhd8ed1ab_0.conda"
Extracting "font-ttf-ubuntu-0.83-hab24e00_0.conda"
Extracting "libnsl-2.0.0-h7f98852_0.conda"
Extracting "pygments-2.12.0-pyhd8ed1ab_0.conda"
Extracting "cgsi-gsoap-1.3.11-h19db4d4_5.conda"
Extracting "xorg-libx11-1.7.2-h7f98852_0.conda"
Extracting "sphinxcontrib-applehelp-1.0.2-py_0.conda"
Extracting "openldap-2.6.2-h2cfb03e_0.conda"
Extracting "hypothesis-6.46.9-pyhd8ed1ab_0.conda"
Extracting "pango-1.50.7-hbd2fdc8_0.conda"
Extracting "fonttools-4.33.3-py39hb9d737c_0.conda"
Extracting "jinja2-3.1.2-pyhd8ed1ab_0.conda"
Extracting "packaging-21.3-pyhd8ed1ab_0.conda"
Extracting "tabulate-0.8.9-pyhd8ed1ab_0.conda"
Extracting "aiosignal-1.2.0-pyhd8ed1ab_0.conda"
Extracting "recommonmark-0.7.1-pyhd8ed1ab_0.conda"
Extracting "dcap-2.47.12-h41e18d1_5.conda"
Extracting "py-1.11.0-pyh6c4a22f_0.conda"
Extracting "mock-4.0.3-py39hf3d152e_3.conda"
Extracting "fontconfig-2.14.0-h8e229c2_0.conda"
Extracting "libopenblas-0.3.20-pthreads_h78a6416_0.conda"
Extracting "pixman-0.40.0-h36c2ea0_0.conda"
Extracting "wheel-0.37.1-pyhd8ed1ab_0.conda"
Extracting "elasticsearch-7.13.4-pyhd8ed1ab_0.conda"
Extracting "cairo-1.16.0-ha61ee94_1011.conda"
Extracting "python-3.9.13-h9a8a25e_0_cpython.conda"
Extracting "requests-2.27.1-pyhd8ed1ab_0.conda"
Extracting "xrootd-5.4.2-py39hbfe9b54_0.conda"
Extracting "pyasn1-modules-0.2.7-py_0.conda"
Extracting "mysql-common-8.0.27-ha770c72_3.conda"
Extracting "iniconfig-1.1.1-pyh9f0ad1d_0.conda"
Extracting "tzdata-2022a-h191b570_0.conda"
Extracting "scitokens-cpp-0.6.3-h00015f2_2.conda"
Extracting "xorg-xproto-7.0.31-h7f98852_1007.conda"
Extracting "htcondor-classads-9.0.12-h9d75d03_0.conda"
Extracting "jedi-0.18.1-py39hf3d152e_1.conda"
Extracting "colorama-0.4.4-pyh9f0ad1d_0.conda"
Extracting "openssh-9.0p1-hf695f80_0.conda"
Extracting "nordugrid-arc-6.15.1-py39head2539_0.conda"
Extracting "cryptography-37.0.2-py39hd97740a_0.conda"
Extracting "pcre2-10.37-h032f7d1_0.conda"
Extracting "psutil-5.9.1-py39hb9d737c_0.conda"
Extracting "tk-8.6.12-h27826a3_0.conda"
Extracting "yarl-1.7.2-py39hb9d737c_2.conda"
Extracting "python-dateutil-2.8.2-pyhd8ed1ab_0.conda"
Extracting "pycparser-2.21-pyhd8ed1ab_0.conda"
Extracting "pexpect-4.8.0-pyh9f0ad1d_2.conda"
Extracting "cni-plugins-1.0.1-ha8f183a_0.conda"
Extracting "kiwisolver-1.4.2-py39hf939315_1.conda"
Extracting "python_abi-3.9-2_cp39.conda"
Extracting "libdeflate-1.10-h7f98852_0.conda"
Extracting "harfbuzz-4.3.0-hf9f4e7c_0.conda"
Extracting "async-timeout-4.0.2-pyhd8ed1ab_0.conda"
Extracting "pickleshare-0.7.5-py_1003.conda"
Extracting "pillow-9.1.1-py39hae2aec6_0.conda"
Extracting "perl-5.32.1-2_h7f98852_perl5.conda"
Extracting "m2crypto-0.37.1-py39h945232b_2.conda"

                                           __
          __  ______ ___  ____ _____ ___  / /_  ____ _
         / / / / __ `__ \/ __ `/ __ `__ \/ __ \/ __ `/
        / /_/ / / / / / / /_/ / / / / / / /_/ / /_/ /
       / .___/_/ /_/ /_/\__,_/_/ /_/ /_/_.___/\__,_/
      /_/

Encountered problems while solving:
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by libedit-3.1.20191231-he28a2e2_2
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by libedit-3.1.20191231-he28a2e2_2
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by libedit-3.1.20191231-he28a2e2_2
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by libedit-3.1.20191231-he28a2e2_2
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by libedit-3.1.20191231-he28a2e2_2
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by libedit-3.1.20191231-he28a2e2_2
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by libedit-3.1.20191231-he28a2e2_2
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by libedit-3.1.20191231-he28a2e2_2
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by libedit-3.1.20191231-he28a2e2_2
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by libedit-3.1.20191231-he28a2e2_2
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by libedit-3.1.20191231-he28a2e2_2
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by libedit-3.1.20191231-he28a2e2_2
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by libedit-3.1.20191231-he28a2e2_2
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by libedit-3.1.20191231-he28a2e2_2
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by libedit-3.1.20191231-he28a2e2_2
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by libedit-3.1.20191231-he28a2e2_2
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by libedit-3.1.20191231-he28a2e2_2
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by libedit-3.1.20191231-he28a2e2_2
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0
  - nothing provides ncurses >=6.2,<6.3.0a0 needed by readline-8.1-h46c0cb4_0

The environment can't be solved, aborting the operation
error    libmamba Could not solve for environment specs
critical libmamba UnsatisfiableError

Any help would be appreciated

MAMBA_ROOT_PREFIX: unbound variable

The error is related to micromamba.
When I execute install_site.sh, I get the following error:

/opt/dirac/versions/v10.4.8-1646818775/Linux-x86_64/diracosrc: line 108: MAMBA_ROOT_PREFIX: unbound variable

Seems like the MAMBA_ROOT_PREFIX should be set before calling the following line in diracosrc:

eval "$(${DIRACOS}/bin/micromamba shell hook activate -s bash)"

The following piece of code (weird by the way) seems to trigger the error (this is what we get from the command above):

    if [ -n "${_CE_CONDA+x}" ] && [ -n "${WINDIR+x}" ]; then
        PATH="${MAMBA_ROOT_PREFIX}/condabin:${PATH}"
    else
        PATH="${MAMBA_ROOT_PREFIX}/condabin:${PATH}"
    fi

This is also explained in the documentation at the end of the "Quickstarts" section here: https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html?highlight=MAMBA_ROOT_PREFIX#quickstarts.

micromamba expects to find the root prefix set by $MAMBA_ROOT_PREFIX environment variable. You can also provide it using CLI option -r,--root-prefix.

What should be the value of MAMBA_ROOT_PREFIX?

diracos2 installer script failed unpacking on ARM64

Hi.

This issue is not new but just to follow-up an opened one here DIRACGrid/DIRAC#6977 with a discussion initiated here DIRACGrid/DIRAC#7546

As I said this issue becomes problematic because I have tested with different versions of DIRACOS2 (2.36, 2.37, 2.38) and it occured the same message where the extraction failed because the conda.exe is killed when called. But when I build from scratch with conda constructor as explained in your tuto, it works without issues till the pip install DIRAC but when I initialized the dirac-proxy-init (with success) and afterward run a dirac command dirac-proxy-info it occurs this message error below, but I suppose it's related to the certificate sent to the proxy ?

Traceback (most recent call last):
  File "/Users/xxx/diracos/lib/python3.11/site-packages/DIRAC/ConfigurationSystem/Client/LocalConfiguration.py", line 345, in loadUserData
    self.__initLogger(self.componentName, self.loggingSection)
  File "/Users/xxx/diracos/lib/python3.11/site-packages/DIRAC/ConfigurationSystem/Client/LocalConfiguration.py", line 312, in __initLogger
    gLogger.initialize(componentName, logSection, forceInit=forceInit)
  File "/Users/xxx/diracos/lib/python3.11/site-packages/DIRAC/FrameworkSystem/private/standardLogging/LoggingRoot.py", line 102, in initialize
    backends = self.__getBackendsFromCFG(cfgPath)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/xxx/diracos/lib/python3.11/site-packages/DIRAC/FrameworkSystem/private/standardLogging/LoggingRoot.py", line 176, in __getBackendsFromCFG
    operation = Operations()
                ^^^^^^^^^^^^
  File "/Users/xxx/diracos/lib/python3.11/site-packages/DIRAC/ConfigurationSystem/Client/Helpers/Operations.py", line 104, in __init__
    self.__discoverSettings()
  File "/Users/xxx/diracos/lib/python3.11/site-packages/DIRAC/ConfigurationSystem/Client/Helpers/Operations.py", line 119, in __discoverSettings
    result = getVOfromProxyGroup()
             ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/xxx/diracos/lib/python3.11/site-packages/DIRAC/Core/Security/ProxyInfo.py", line 201, in getVOfromProxyGroup
    ret = getProxyInfo(disableVOMS=True)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/xxx/diracos/lib/python3.11/site-packages/DIRAC/Core/Security/ProxyInfo.py", line 50, in getProxyInfo

Add missing commands required for the server

These commands should be included and tested:

for cmd in glite-ce-job-submit glite-ce-job-status glite-ce-delegate-proxy glite-ce-job-cancel condor_submit condor_history condor_q condor_rm condor_transfer_data ldapsearch; do
  echo $cmd
  which $cmd
done

warning and symlink issue with DIRACOS v2.34

Downloading the latest version, and simply executing the bash command, we get for all packages warnings like
warning libmamba Extracted package cache '/tmp/ddd/diracos/pkgs/six-1.16.0-pyh6c4a22f_0' has invalid url

and at the end an error message related to the creation of a symbolic link

Or to execute a single command in this environment, use:

    micromamba run -p /tmp/ddd/diracos mycommand

ln: failed to create symbolic link '/tmp/ddd/diracos/lib/python3.9/site-packages/etc': No such file or directory

DIRACOS has been installed sucessfully in /tmp/ddd/diracos

I don't yet know if it actually impacts the behavior or not, I'll check it asap but we may need to rollback

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.