Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AUR]: AUR package installs but import pypolychord fails with ImportError: libmpi_cxx.so.40 #120

Open
appetrosyan opened this issue Mar 5, 2024 · 2 comments

Comments

@appetrosyan
Copy link
Contributor

The AUR package (as well as the package installed by cloning and running sudo python3 setup.py install) succeeds with warnings.

Importing pypolychord from within the interpreter fails with the libmpi_cxx.so.40 most likely because the MPI interface library is no longer available on Arch Linux and won't be going forward.

Solutions

Re-package old MPI and make it a dependency

This is probably the best course of action, at the moment.

Fix up and use the later version of MPI.

This is probably the best course of action long term. I will attempt to do it, but no promises.

@williamjameshandley
Copy link
Member

Hi, could you confirm whether on a clean install (best done by repeatedly running pip uninstall pypolychord), the following commmand work or fail:

python -m venv venv
source venv/bin/activate
git clone git@github.com:PolyChord/PolyChordLite.git
cd PolyChordLite
make
pip install .
cd ..
wget https://raw.githubusercontent.com/PolyChord/PolyChordLite/master/quickstart.py
mpirun -np 4 python quickstart.py

@appetrosyan
Copy link
Contributor Author

I finally managed to get it to work...

This particular set of commands fails at the last step with:

(venv) [app@antares polychord-test]$ mpirun -np 8 quickstart.py 
--------------------------------------------------------------------------
prterun was unable to find the specified executable file, and therefore did
not launch the job.  This error was first reported for process rank
0; it may have occurred for other processes as well.

NOTE: A common cause for this error is misspelling a prterun command
   line parameter option (remember that prterun interprets the first
   unrecognized command line token as the executable).

Node:       antares Executable: quickstart.py
--------------------------------------------------------------------------

However, unlike my previous attempts, I can now do

python quickstart.py

and get the expected sampling results that would be expected:

Last dead point: [ 7.65701129e-03  2.80226513e-03  3.16155912e-03 -2.93123023e-03
  8.50700784e-05  5.42905187e+00  5.53033274e+00]
 ____________________________________________________ 
|                                                    |
| ndead  =         3232                              |
| log(Z) =           -2.72723 +/-            0.17909 |
|____________________________________________________|
/home/app/Git/polychord-test/venv/lib/python3.12/site-packages/pypolychord/polychord.py:642: UserWarning: anesthetic not installed. Cannot return NestedSamples object.

This seems odd, but definitely means that it is a systems configuration issue, not a package problem.

Warning

I would recommend keeping the issue open, until I figure out what exactly was causing the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants