JohannesBuchner / PyMultiNest

Pythonic Bayesian inference and visualization for the MultiNest Nested Sampling Algorithm and PyCuba's cubature algorithms.
http://johannesbuchner.github.io/PyMultiNest/
Other
191 stars 87 forks source link

Installing PyMultiNest on arm64 #239

Closed sahiljhawar closed 11 months ago

sahiljhawar commented 11 months ago

Following from #238, when I try to install the package on my M1 Mac from conda using conda install -c conda-forge nmma it successfully installs but on another machine (Apple silicon) it fails with the following error.

Collecting package metadata (current_repodata.json): done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Solving environment: unsuccessful attempt using repodata from current_repodata.json, retrying with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Solving environment: / 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                                    

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versionsThe following specifications were found to be incompatible with your system:

  - feature:/osx-arm64::__unix==0=0
  - feature:|@/osx-arm64::__unix==0=0
  - nmma -> pymultinest -> __unix

Your installed version is: 0
JohannesBuchner commented 11 months ago

Try with a fresh environment.

sahiljhawar commented 11 months ago

Trying with fresh environment every time

JohannesBuchner commented 11 months ago

Does conda install -c conda-forge pymultinest fail?

If not, this seems like a "nmma" (whatever that is) bug of some incompatible dependency versions and should be discussed there. Let me know if there is something specific that should be done for pymultinest releases. We don't pin versions, so multinest/pymultinest is quite relaxed about installs.

Closing for now.

sahiljhawar commented 11 months ago

Yes, conda install -c conda-forge pymultinest itself fails. We have checked the dependecies within NMMA and everything works well with x86 based machines. Here's the error when trying to install PyMulitNest

(nmma_3p11) user $ conda install -c conda-forge pymultinest
Collecting package metadata (current_repodata.json): done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Solving environment: unsuccessful attempt using repodata from current_repodata.json, retrying with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Solving environment: \ 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                                    

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versionsThe following specifications were found to be incompatible with your system:

  - feature:/osx-arm64::__unix==0=0
  - feature:|@/osx-arm64::__unix==0=0
  - pymultinest -> __unix

Your installed version is: 0

I am concenered about this since PyMultiNest on Conda is noarch and it works on some machines but not on others.

JohannesBuchner commented 11 months ago

Can you install multinest? (conda install -c conda-forge multinest)

If yes, this is an issue for https://github.com/conda-forge/pymultinest-feedstock

If no, this is an issue for https://github.com/conda-forge/multinest-feedstock/

There are packages for os-x here https://anaconda.org/conda-forge/multinest/files I don't have osx-64 so I am not sure why; pymultinest has a noarch package, multinest has osx64 and amd64

I see that pymultinest-feedstock used to have a os-specific packages as well for 2.11, but not for 2.12.

JohannesBuchner commented 11 months ago

this may have been introduced by https://github.com/conda-forge/pymultinest-feedstock/pull/24

jvines commented 11 months ago

I am also having problems installing Multinest on a Mac M1 chip through mamba, says it does not exist.

JohannesBuchner commented 11 months ago

@ocefpaf @beckermr, do you think the noarch patch may have introduced this regression and we have to roll back #24 ?

beckermr commented 11 months ago

You all should file an issue on the feedstock with the requested debugging info there. We'll need that to make progress I think.

ocefpaf commented 11 months ago

You all should file an issue on the feedstock with the requested debugging info there. We'll need that to make progress I think.

Yep. But bare in mind that PyMultiNest is not at fault here. Conda-forge doesn't have one of its dependencies, MultiNest, for M1 yet. That one may be a bit harder to compile due to its complexity.

JohannesBuchner commented 11 months ago

@jvines @sahiljhawar please open an issue in https://github.com/conda-forge/multinest-feedstock/ explaining how installing multinest with conda fails.

JohannesBuchner commented 11 months ago

closing, probably not a pymultinest issue