Giter Site home page Giter Site logo

micromamba-feedstock's Introduction

About micromamba-feedstock

Feedstock license: BSD-3-Clause

Home: https://github.com/mamba-org/mamba

Package license: BSD-3-Clause AND MIT AND OpenSSL

Summary: Micromamba is a tiny version of mamba, the fast conda package installer.

Development: https://github.com/mamba-org/mamba

Current build status

Azure
VariantStatus
linux_64 variant
linux_aarch64 variant
linux_ppc64le variant
osx_64 variant
osx_arm64 variant
win_64 variant

Current release info

Name Downloads Version Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms

Installing micromamba

Installing micromamba from the conda-forge/label/micromamba_dev channel can be achieved by adding conda-forge/label/micromamba_dev to your channels with:

conda config --add channels conda-forge/label/micromamba_dev
conda config --set channel_priority strict

Once the conda-forge/label/micromamba_dev channel has been enabled, micromamba can be installed with conda:

conda install micromamba

or with mamba:

mamba install micromamba

It is possible to list all of the versions of micromamba available on your platform with conda:

conda search micromamba --channel conda-forge/label/micromamba_dev

or with mamba:

mamba search micromamba --channel conda-forge/label/micromamba_dev

Alternatively, mamba repoquery may provide more information:

# Search all versions available on your platform:
mamba repoquery search micromamba --channel conda-forge/label/micromamba_dev

# List packages depending on `micromamba`:
mamba repoquery whoneeds micromamba --channel conda-forge/label/micromamba_dev

# List dependencies of `micromamba`:
mamba repoquery depends micromamba --channel conda-forge/label/micromamba_dev

About conda-forge

Powered by NumFOCUS

conda-forge is a community-led conda channel of installable packages. In order to provide high-quality builds, the process has been automated into the conda-forge GitHub organization. The conda-forge organization contains one repository for each of the installable packages. Such a repository is known as a feedstock.

A feedstock is made up of a conda recipe (the instructions on what and how to build the package) and the necessary configurations for automatic building using freely available continuous integration services. Thanks to the awesome service provided by Azure, GitHub, CircleCI, AppVeyor, Drone, and TravisCI it is possible to build and upload installable packages to the conda-forge anaconda.org channel for Linux, Windows and OSX respectively.

To manage the continuous integration and simplify feedstock maintenance conda-smithy has been developed. Using the conda-forge.yml within this repository, it is possible to re-render all of this feedstock's supporting files (e.g. the CI configuration files) with conda smithy rerender.

For more information please check the conda-forge documentation.

Terminology

feedstock - the conda recipe (raw material), supporting scripts and CI configuration.

conda-smithy - the tool which helps orchestrate the feedstock. Its primary use is in the construction of the CI .yml files and simplify the management of many feedstocks.

conda-forge - the place where the feedstock and smithy live and work to produce the finished article (built conda distributions)

Updating micromamba-feedstock

If you would like to improve the micromamba recipe or build a new package version, please fork this repository and submit a PR. Upon submission, your changes will be run on the appropriate platforms to give the reviewer an opportunity to confirm that the changes result in a successful build. Once merged, the recipe will be re-built and uploaded automatically to the conda-forge channel, whereupon the built conda packages will be available for everybody to install and use from the conda-forge channel. Note that all branches in the conda-forge/micromamba-feedstock are immediately built and any created packages are uploaded, so PRs should be based on branches in forks and branches in the main repository should only be used to build distinct package versions.

In order to produce a uniquely identifiable distribution:

  • If the version of a package is not being increased, please add or increase the build/number.
  • If the version of a package is being increased, please remember to return the build/number back to 0.

Feedstock Maintainers

micromamba-feedstock's People

Contributors

0xbe7a avatar adriendelsalle avatar antoineprv avatar chrisburr avatar conda-forge-admin avatar conda-forge-curator[bot] avatar conda-forge-webservices[bot] avatar github-actions[bot] avatar hmaarrfk avatar isuruf avatar johanmabille avatar jonashaag avatar mariusvniekerk avatar nehaljwani avatar pavelzw avatar regro-cf-autotick-bot avatar ruben-arts avatar sylvaincorlay avatar wholtz avatar wolfv avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

micromamba-feedstock's Issues

0.7.0 windows build broken

Issue:

The current windows builds are broken. Seems like a missing dependency problem.


Environment (conda list):
$ conda list


Details about conda and system ( conda info ):
$ conda info

PPC64LE v0.16.0 not on conda-forge

My build system for https://github.com/mamba-org/micromamba-docker only builds new docker images when new micromamba binaries for all three of the linux-64, linux-aarch64, linux-ppc64le platforms are available on conda-forge. For micromamba 0.16.0 a linux-ppc64le binary is not currently on conda-forge. This is blocking my build process for 0.16.0 docker images. Anyone know why linux-ppc64le didn't make it onto conda-forge for 0.16.0? @wolfv - can you take a look? Thanks.

Last two builds segfault on GitHub Actions macos-12

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

The micromamba 1.0.0 0 and 0.27.0 3 builds both segfault on GitHub Actions when used with macos-12 runners (but not macos-11).

Debugging with tmate to get an interactive session I see:

macos-11

bash-3.2$ curl -Ls https://micro.mamba.pm/api/micromamba/osx-64/latest | tar -xvj bin/micromamba

bash-3.2$ bin/micromamba create --yes --prefix $PWD/test-env -c conda-forge 'micromamba=1.0.0=0' 2>&1 | grep conda-forge/osx-64 && test-env/bin/micromamba --version
conda-forge/osx-64                                          Using cache
  + libcxx       14.0.6  hccf4f1f_0  conda-forge/osx-64     Cached
  + micromamba    1.0.0  0           conda-forge/osx-64     Cached
1.0.0

bash-3.2$ bin/micromamba create --yes --prefix $PWD/test-env -c conda-forge 'micromamba=0.27.0=3' 2>&1 | grep conda-forge/osx-64 && test-env/bin/micromamba --version
conda-forge/osx-64                                          Using cache
  + libcxx       14.0.6  hccf4f1f_0  conda-forge/osx-64     Cached
  + micromamba   0.27.0  3           conda-forge/osx-64     Cached
0.27.0

bash-3.2$ bin/micromamba create --yes --prefix $PWD/test-env -c conda-forge 'micromamba=0.27.0=2' 2>&1 | grep conda-forge/osx-64 && test-env/bin/micromamba --version
conda-forge/osx-64                                          Using cache
  + libcxx       14.0.6  hccf4f1f_0  conda-forge/osx-64     Cached
  + micromamba   0.27.0  2           conda-forge/osx-64        5MB
0.27.0

macos-12

bash-3.2$ curl -Ls https://micro.mamba.pm/api/micromamba/osx-64/latest | tar -xvj bin/micromamba
x bin/micromamba

bash-3.2$ bin/micromamba create --yes --prefix $PWD/test-env -c conda-forge 'micromamba=1.0.0=0' 2>&1 | grep conda-forge/osx-64 && test-env/bin/micromamba --version
conda-forge/osx-64                                          Using cache
  + libcxx       14.0.6  hccf4f1f_0  conda-forge/osx-64     Cached
  + micromamba    1.0.0  0           conda-forge/osx-64     Cached
Segmentation fault: 11

bash-3.2$ bin/micromamba create --yes --prefix $PWD/test-env -c conda-forge 'micromamba=0.27.0=3' 2>&1 | grep conda-forge/osx-64 && test-env/bin/micromamba --version
conda-forge/osx-64                                          Using cache
  + libcxx       14.0.6  hccf4f1f_0  conda-forge/osx-64     Cached
  + micromamba   0.27.0  3           conda-forge/osx-64     Cached
Segmentation fault: 11

bash-3.2$ bin/micromamba create --yes --prefix $PWD/test-env -c conda-forge 'micromamba=0.27.0=2' 2>&1 | grep conda-forge/osx-64 && test-env/bin/micromamba --version
conda-forge/osx-64                                          Using cache
  + libcxx       14.0.6  hccf4f1f_0  conda-forge/osx-64     Cached
  + micromamba   0.27.0  2           conda-forge/osx-64     Cached
0.27.0

Installed packages

See above

Environment info

bash-3.2$ bin/micromamba info

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


            environment : None (not found)
           env location : -
      user config files : /Users/runner/.mambarc
 populated config files :
       libmamba version : 1.0.0
     micromamba version : 1.0.0
           curl version : libcurl/7.86.0 SecureTransport (OpenSSL/1.1.1s) zlib/1.2.13 libssh2/1.10.0 nghttp2/1.47.0
     libarchive version : libarchive 3.6.1 zlib/1.2.13 bz2lib/1.0.8 libzstd/1.5.2
       virtual packages : __unix=0=0
                          __osx=11.7=0
                          __archspec=1=x86_64
               channels :
       base environment : /Users/runner/micromamba
               platform : osx-64


bash-3.2$ bin/micromamba info

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


            environment : None (not found)
           env location : -
      user config files : /Users/runner/.mambarc
 populated config files :
       libmamba version : 1.0.0
     micromamba version : 1.0.0
           curl version : libcurl/7.86.0 SecureTransport (OpenSSL/1.1.1s) zlib/1.2.13 libssh2/1.10.0 nghttp2/1.47.0
     libarchive version : libarchive 3.6.1 zlib/1.2.13 bz2lib/1.0.8 libzstd/1.5.2
       virtual packages : __unix=0=0
                          __osx=12.6.1=0
                          __archspec=1=x86_64
               channels :
       base environment : /Users/runner/micromamba
               platform : osx-64

micromamba does not work as stand alone binary on system with older libstdc++

The instructions for using micromamba as a stand alone binary do not work on Linux distribution where the system libstdc++ is older than the one shipped with approximately GCC 7.1.0.

For example in a CentOS 7 docker container:

# ./micromamba shell init -s bash -p ~/micromamba
./micromamba: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./micromamba)
./micromamba: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./micromamba)
./micromamba: /lib64/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by ./micromamba)
./micromamba: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./micromamba)
./micromamba: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by ./micromamba)

The micromamba binary is dynamically linked to libstdc++ and libgcc_s.

# readelf -d micromamba 

Dynamic section at offset 0x88cc40 contains 34 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libdl.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libresolv.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [ld-linux-x86-64.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
...

Although these libraries are provided by the system, they may be older than the versions used to build the binary and therefore will not have the newer symbols. The documentation of libstd++'s ABI Policy and Guidelines provides details on symbol versioning in the library.

In a normal conda environment these libraries would be provided by the libgcc-ng and libstdcxx-ng packages with the run_exports in the compiler packages ensuring that compatible versions are installed at run time.

One possible solution would be to statically link these libraries into the binary using the -static-libstdc++ and -static-libgcc link options. If this is done the run_exports can be ignored.

Autotick bot doesn't work

#161 (comment)

https://github.com/conda-forge/micromamba-feedstock/actions/runs/6713881851/job/18246214345

Details
INFO:webservices_dispatch_action.version_updater:getting latest version
INFO:webservices_dispatch_action.version_updater:curr version|latest version: 1.5.1|1.5.3
2023-11-01 00:14:44,107 INFO     conda_forge_tick.update_recipe.version || selector: unix
2023-11-01 00:14:44,107 INFO     conda_forge_tick.update_recipe.version || src skipped url_key: {'url__###conda-selector###__win': 'https://github.com/microsoft/vcpkg/archive/refs/tags/2023.08.09.tar.gz', 'sha256__###conda-selector###__win': '241ae285fe27ce3f8478529d9a05e7a49396789fd8618ed62a11c3e4835aaab2', 'folder__###conda-selector###__win': 'vcpkg'}
2023-11-01 00:14:44,107 INFO     conda_forge_tick.update_recipe.version || selector: win
2023-11-01 00:14:44,107 INFO     conda_forge_tick.update_recipe.version || jinja2 context: {'bin_ext': '.exe',
 'build_num': 1,
 'sha256': '8760f5d01f307aad28bf04df9affdc077687594cea175b02a4b5ba20933b0920',
 'version': '1.5.3'}
2023-11-01 00:14:44,107 INFO     conda_forge_tick.update_recipe.version || evaluated jinja2 vars: {}
2023-11-01 00:14:44,107 INFO     conda_forge_tick.update_recipe.version || updated jinja2 context: {'bin_ext': '.exe',
 'build_num': 1,
 'sha256': '8760f5d01f307aad28bf04df9affdc077687594cea175b02a4b5ba20933b0920',
 'version': '1.5.3'}
2023-11-01 00:14:44,107 INFO     conda_forge_tick.update_recipe.version || url key: url__###conda-selector###__win
2023-11-01 00:14:44,107 INFO     conda_forge_tick.update_recipe.version || hash key: sha256__###conda-selector###__win
2023-11-01 00:14:44,107 INFO     conda_forge_tick.update_recipe.version || hashing URL template: https://github.com/microsoft/vcpkg/archive/refs/tags/2023.08.09.tar.gz
2023-11-01 00:14:44,108 INFO     conda_forge_tick.update_recipe.version || rendered URL: https://github.com/microsoft/vcpkg/archive/refs/tags/2023.08.09.tar.gz
2023-11-01 00:14:44,841 INFO     conda_forge_tick.update_recipe.version || source w/ new hash: {'url__###conda-selector###__win': 'https://github.com/microsoft/vcpkg/archive/refs/tags/2023.08.09.tar.gz', 'sha256__###conda-selector###__win': '241ae285fe27ce3f8478529d9a05e7a49396789fd8618ed62a11c3e4835aaab2', 'folder__###conda-selector###__win': 'vcpkg'}
2023-11-01 00:14:44,843 INFO     conda_forge_tick.update_recipe.version || source w/ new url: {'url__###conda-selector###__win': 'https://github.com/microsoft/vcpkg/archive/refs/tags/2023.08.09.tar.gz', 'sha256__###conda-selector###__win': '241ae285fe27ce3f8478529d9a05e7a49396789fd8618ed62a11c3e4835aaab2', 'folder__###conda-selector###__win': 'vcpkg'}
2023-11-01 00:14:44,843 INFO     conda_forge_tick.update_recipe.version || new URL template: https://github.com/microsoft/vcpkg/archive/refs/tags/2023.08.09.tar.gz
2023-11-01 00:14:44,843 INFO     conda_forge_tick.update_recipe.version || new URL hash: 241ae285fe27ce3f8478529d9a05e7a49396789fd8618ed62a11c3e4835aaab2
2023-11-01 00:14:44,844 INFO     conda_forge_tick.update_recipe.version || selector: None
2023-11-01 00:14:44,845 INFO     conda_forge_tick.update_recipe.version || src skipped url_key: {'url__###conda-selector###__win': 'https://github.com/microsoft/vcpkg/archive/refs/tags/2023.08.09.tar.gz', 'sha256__###conda-selector###__win': '241ae285fe27ce3f8478529d9a05e7a49396789fd8618ed62a11c3e4835aaab2', 'folder__###conda-selector###__win': 'vcpkg'}
2023-11-01 00:14:44,845 INFO     conda_forge_tick.update_recipe.version || updated|errors: True|set()
2023-11-01 00:14:44,845 CRITICAL conda_forge_tick.update_recipe.version || Recipe did not change in version migration!
CRITICAL:webservices_dispatch_action.version_updater:errors when updating the recipe: {'no URLs in the source section'}
ERROR:webservices_dispatch_action.version_updater:error while updating the recipe!
Traceback (most recent call last):
  File "/webservices_dispatch_action/webservices_dispatch_action/version_updater.py", line 101, in update_version
    raise RuntimeError("Error updating the recipe!")
RuntimeError: Error updating the recipe!
INFO:webservices_dispatch_action.version_updater:token can change workflows: False
INFO:webservices_dispatch_action.version_updater:pushing and commenting: branch|owner|repo = conda_forge_admin_160|conda-forge-admin|micromamba-feedstock
Traceback (most recent call last):
  File "/opt/conda/bin/run-webservices-dispatch-action", line 33, in <module>
    sys.exit(load_entry_point('webservices-dispatch-action', 'console_scripts', 'run-webservices-dispatch-action')())
  File "/webservices_dispatch_action/webservices_dispatch_action/__main__.py", line 140, in main
    raise RuntimeError(
RuntimeError: Updating version failed! error in push|version update: False|True

micromamba not notarized on macOS

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

The macOS binary for micromamba is not notarized, so it is blocked from executing until overriding the security warning with admin privileges. I am installing micromamba via this homebrew cask, but I see that that in turn gets it binaries from this repository.

Installed packages

N/A

Environment info

macOS 12.6, Intel x86_64

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.