mamba-org / mamba

The Fast Cross-Platform Package Manager
https://mamba.readthedocs.io
BSD 3-Clause "New" or "Revised" License
6.93k stars 357 forks source link

Put micromamba v2 on homebrew, currently latest version there is 1.5.10 #3495

Open corneliusroemer opened 1 month ago

corneliusroemer commented 1 month ago

I'd like to install micromamba v2 via homebrew, but so far only 1.5.10 is available there.

https://github.com/Homebrew/homebrew-core/blob/45656b5b8833aa5a0f26fdcf4318324c756fb994/Formula/m/micromamba.rb

Do you have plans to add it there?

corneliusroemer commented 1 month ago

I created a PR to point this out in docs while homebrew doesn't have v2.

Once homebrew has v2, this PR should be reverted: https://github.com/mamba-org/mamba/pull/3499

henryiii commented 3 weeks ago

See https://github.com/Homebrew/homebrew-core/pull/192460 and https://github.com/Homebrew/homebrew-core/pull/191869.

henryiii commented 2 weeks ago

I made PR https://github.com/Homebrew/homebrew-core/pull/195371 - advice welcome on how to proceed - it seems "micromamba" now requires static linkage so the micromamba recipe can't build it, shared linkage is required on homebrew.

henryiii commented 2 weeks ago

Anyone know why macOS 13 reports:

 /tmp/micromamba-20241025-6758-psgcn7/mamba-micromamba-2.0.1/libmamba/src/core/transaction.cpp:703:36: error: no viable constructor or deduction guide for deduction of template arguments of 'packaged_task'
                  std::packaged_task task{ [=] { return it->run(); } };
henryiii commented 2 weeks ago

And linux:

Error: /usr/include/c++/11/bits/hashtable_policy.h:1004:12:   required from ‘struct std::__detail::_Insert<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, mamba::specs::Channel>, std::allocator<std::pair<const std::__cxx11::basic_string<char>, mamba::specs::Channel> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char> >, std::hash<std::__cxx11::basic_string<char> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, false>’
  /usr/include/c++/11/bits/hashtable.h:180:11:   required from ‘class std::_Hashtable<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, mamba::specs::Channel>, std::allocator<std::pair<const std::__cxx11::basic_string<char>, mamba::specs::Channel> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char> >, std::hash<std::__cxx11::basic_string<char> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >’
  /usr/include/c++/11/bits/unordered_map.h:105:18:   required from ‘class std::unordered_map<std::__cxx11::basic_string<char>, mamba::specs::Channel, std::hash<std::__cxx11::basic_string<char> >, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, mamba::specs::Channel> > >’
  /tmp/micromamba-20241025-5716-906661/mamba-micromamba-2.0.1/libmamba/include/mamba/util/weakening_map.hpp:26:11:   required from ‘class mamba::util::weakening_map<std::unordered_map<std::__cxx11::basic_string<char>, mamba::specs::Channel, std::hash<std::__cxx11::basic_string<char> >, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, mamba::specs::Channel> > >, mamba::specs::ChannelResolveParams::NameWeakener>’
  /tmp/micromamba-20241025-5716-906661/mamba-micromamba-2.0.1/libmamba/include/mamba/specs/channel.hpp:56:40:   required from here
  /usr/include/c++/11/bits/stl_pair.h:218:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type
    218 |       _T2 second;                ///< The second member
        |           ^~~~~~
  In file included from /tmp/micromamba-20241025-5716-906661/mamba-micromamba-2.0.1/libmamba/src/specs/channel.cpp:11:
  /tmp/micromamba-20241025-5716-906661/mamba-micromamba-2.0.1/libmamba/include/mamba/specs/channel.hpp:25:11: note: forward declaration of ‘class mamba::specs::Channel’
     25 |     class Channel;
        |           ^~~~~~~
  /tmp/micromamba-20241025-5716-906661/mamba-micromamba-2.0.1/libmamba/src/specs/channel.cpp: In function ‘mamba::specs::Channel::channel_list mamba::specs::{anonymous}::resolve_name(mamba::specs::UnresolvedChannel&&, mamba::specs::ChannelResolveParamsView)’:
  /tmp/micromamba-20241025-5716-906661/mamba-micromamba-2.0.1/libmamba/src/specs/channel.cpp:471:103: error: could not convert ‘{<expression error>}’ from ‘<brace-enclosed initializer list>’ to ‘mamba::specs::Channel::channel_list’ {aka ‘std::vector<mamba::specs::Channel>’}
    471 |                 return { resolve_name_in_custom_channel(std::move(uc), params, it->first, it->second) };
        |                                                                                                       ^
        |                                                                                                       |
        |                                                                                                       <brace-enclosed initializer list>

Other builds are fine, like macOS 14.