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

MultiNest: cmake command - gcc and g++ problem with macOS #251

Open
FabiolaCocchiararo opened this issue Mar 20, 2024 · 2 comments
Open

Comments

@FabiolaCocchiararo
Copy link

Hi,

I have a problem with MultiNest with macOS Sonoma 14.2.1, chip Apple M1 Pro.
I have installed bagpipes but I get this error:

File ~/anaconda3/lib/python3.11/site-packages/bagpipes/fitting/fit.py:149 in fit
   pmn.run(self.fitted_model.lnlike,

 File ~/anaconda3/lib/python3.11/site-packages/pymultinest-2.12-py3.11.egg/pymultinest/run.py:285 in run
   lib.run(*args_converted)

 File ~/anaconda3/lib/python3.11/ctypes/__init__.py:389 in __getattr__
   func = self.__getitem__(name)

 File ~/anaconda3/lib/python3.11/ctypes/__init__.py:394 in __getitem__
   func = self._FuncPtr((name_or_ordinal, self))

AttributeError: dlsym(RTLD_DEFAULT, run): symbol not found

I have followed the guide https://johannesbuchner.github.io/PyMultiNest/install.html to install PyMultiNest and MultiNest but I have some issues with the cmake command. As reported in the guide, I tried

cmake -DCMAKE_C_COMPILER=/usr/local/bin/gcc -DCMAKE_CXX_COMPILER=/usr/local/bin/g++ -DCMAKE_PREFIX_PATH=/usr/lib ..
but I have this error:

CMake Error at CMakeLists.txt:2 (project):
  The CMAKE_C_COMPILER:

    /usr/local/bin/gcc

  is not a full path to an existing compiler tool.

  Tell CMake where to find the compiler by setting either the environment
  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
  the compiler, or to the compiler name if it is in the PATH.


CMake Error at CMakeLists.txt:2 (project):
  The CMAKE_CXX_COMPILER:

    /usr/local/bin/g++

  is not a full path to an existing compiler tool.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.

I am sure that both the path for gcc and g++ are correct, because I find them with the which command.

I also tried:

export CXX=/usr/bin/g++
export CC=/usr/bin/gcc
cmake -DCMAKE_PREFIX_PATH=/usr/lib .. 

but I got the same error.

Just to see what happened, I tried

export CC=clang                      
export CXX=clang++
cmake -DCMAKE_PREFIX_PATH=/usr/lib ..

and in this case it works, but with the following step make, I get this new error:

ld: warning: ignoring duplicate libraries: '-lm'
ld: multiple errors: duplicate LC_RPATH '/opt/local/lib/libgcc' in '/opt/local/lib/openmpi-mp/libmpi_usempif08.40.dylib'; duplicate LC_RPATH '/opt/local/lib/libgcc' in '/opt/local/lib/openmpi-mp/libmpi_usempi_ignore_tkr.40.dylib'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [/Users/fabiolacocchiararo/MultiNest/bin/eggboxC] Error 1
make[1]: *** [src/example_eggbox_C/CMakeFiles/eggboxC.dir/all] Error 2
make: *** [all] Error 2

I tried to modify the bash_profile file as suggested here #214 but I got the same error.

Am I missing something?

Thank you for your support,
Fabiola

@sahiljhawar
Copy link
Contributor

@FabiolaCocchiararo Can you try the instructions given here: https://nuclear-multimessenger-astronomy.github.io/nmma/

In past we faced a lot of errors while trying to install MultiNest and PMN on arm based Macs, hence we compiled all the steps and mentioned here.

@sahiljhawar
Copy link
Contributor

sahiljhawar commented Jul 17, 2024

@FabiolaCocchiararo Were you able to resolve AttributeError: dlsym(RTLD_DEFAULT, run): symbol not found issue? If yes, can you share the details?

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