flatironinstitute / FMM3D

Flatiron Institute Fast Multipole Libraries --- This codebase is a set of libraries to compute N-body interactions governed by the Laplace and Helmholtz equations, to a specified precision, in three dimensions, on a multi-core shared-memory machine.
https://fmm3d.readthedocs.io
Other
91 stars 36 forks source link

Installaion of python wrappers on Ubnuntu 22.04 #54

Open GBZH opened 2 months ago

GBZH commented 2 months ago

Hello,

First of all thank you for making such a program available!

Apparently I have correctly installed your program on my laptop as can be seen in the attached log file which contains all the commands I have passed along with their output. The environment variable LD_LIBRARY_PATH has been set in my .zshrc.

As can be seen in the log file the Fortran and C examples run well and give only some messages of the type: Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG IEEE_OVERFLOW_FLAG IEEE_UNDERFLOW_FLAG IEEE_DENORMAL

The C examples run perfectly as well.

Then I tried to build the Python wrappers in a virtual environment My_FMM3D_env. The "make python" command exhibits many messages like: Building modules... Building module "hfmm3d_fortran"... Generating possibly empty wrappers" Maybe empty "hfmm3d_fortran-f2pywrappers.f"

as well as: buildmodule: Could not find the body of interfaced routine "hfmm3d_s_c_p". Skipping.

But at the end the install does not give other error messages. However, note that on the contrary to what is mentioned in the documentation, this make command does not run any tests. I ran them manually using command "python python/test/test_lfmm.py and they work fine according to the output message.

The problems comes when trying to run the Python examples which do not work at all as seen at the end of the log file. I have cleaned the distribution and repeated the install several times, but I still get the same error message and cannot find where I am doing any mistake. Therefore, any help or advice from your side would be very helpful.

logfile.txt