djgroen / facs

FACS: Flu And Coronavirus Simulator
https://facs.readthedocs.io
BSD 3-Clause "New" or "Revised" License
10 stars 7 forks source link

facs mpi4py install issue #53

Open shakir507 opened 7 months ago

shakir507 commented 7 months ago

Dear Dr Derek Groen, I am Shakir Bilal working at University of South Florida, In Tampa. Our group has been working on a C++ based ABM simulator and seeks to perform sensistvty analysis using the facs tool that you have developed. I have been working with Dr Arindam Saha while he was here at USF last year.

The current issue is with installing the facs on my machine with python 3.8.10 on Ubuntu. The installation process is stuck with the following two issues: `

1)

allgatherv.c: In function ‘MPI_Allgatherv’: allgatherv.c:50:1: internal compiler error: in init_alias_analysis, at alias.c:3468 50 | } | ^

allgatherv.c:50:1: internal compiler error: Segmentation fault 0x7fba204e408f ??? /build/glibc-wuryBv/glibc-2.31/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0 gcc: internal compiler error: Segmentation fault signal terminated program cc1 Please submit a full bug report, with preprocessed source if appropriate. See file:///usr/share/doc/gcc-9/README.Bugs for instructions. make[2]: [Makefile:1876: allgatherv.lo] Error 1 make[2]: Leaving directory '/home/shakir/Downloads/openmpi-4.1.2/ompi/contrib/libompitrace' make[1]: [Makefile:3555: all-recursive] Error 1 make[1]: Leaving directory '/home/shakir/Downloads/openmpi-4.1.2/ompi' make: *** [Makefile:1901: all-recursive] Error 1 Collecting mpi4py Using cached mpi4py-3.1.5.tar.gz (2.5 MB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Building wheels for collected packages: mpi4py Building wheel for mpi4py (pyproject.toml) ... error error: subprocess-exited-with-error

× Building wheel for mpi4py (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [242 lines of output] ' 2) '

include "Python.h"

            ^~~~~~~~~~
  compilation terminated.
  error: command '/home/shakir/sfw/MPICH/bin/mpicc' failed with exit code 1
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for mpi4py Failed to build mpi4py ERROR: Could not build wheels for mpi4py, which is required to install pyproject.toml-based projects'

arindamsaha1507 commented 7 months ago

Hi @djgroen

This was the issue regarding mpi4py that I was talking about last week... Please have a look when you have some time...

arabnejad commented 7 months ago

Hi All

Are you getting this error ? (you did not put the full error output)

error: Python.h: No such file or directory

Are you using virtual Env or Conda? Or try to call pip without any virtual env ?

Could you please locate Python.h file? And you can pass that include folder to the pip command like this: my assumption here is the Python.h file is located in /home/users/xyz/include/

pip install --global-option="-I/home/users/xyz/include/" mpi4py

the other possibility is you haven't properly installed the header files and static libraries for python dev have a look at this https://stackoverflow.com/questions/21530577/fatal-error-python-h-no-such-file-or-directory

djgroen commented 7 months ago

Hi all.

I think this is a local deployment issue. I see openmpi being installed in the setup script, but then a call to mpich in the final line of the installation script.

Perhaps an important first step is that you have either openmpi or mpich set up on your machine, but not a blend of both :).

Hope this help as well, in addition to @arabnejad 's very solid advice!

shakir507 commented 7 months ago

output.txt @arabnejad Here is the full output when I run install.sh

I am installing in virtual Env.

arabnejad commented 7 months ago

@shakir507 I saw your output log, how many times did you install OpenMPI ? I can see it is installed around 104 times 😮 and still can not see any error log regarding mpi4py installation failure (there are some logs but without given any reason, lines 1 -> 82 in outputlog)

Could you please check if you have python-dev package installed ? you can check it with dpkg command (I assume you have Linux based OS)

> dpkg -l | grep "python3-dev"

ii  libpython3-dev:amd64                       3.10.6-1~22.04                          amd64        header files and a static library for Python (default)
ii  python3-dev                                3.10.6-1~22.04                          amd64        header files and a static library for Python (default)
arabnejad commented 7 months ago

or you can use dpkg-query command (I am sure you have that command available as I can see some output at first lines of your log)

>  dpkg-query -s python3-dev

# output will be something like
Package: python3-dev
Status: install ok installed
Priority: optional
Section: python
Installed-Size: 145
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Multi-Arch: allowed
Source: python3-defaults
Version: 3.10.6-1~22.04
Replaces: python3 (<< 3.9.2-1~), python3.1 (<< 3.1.2+20100706-3)
Depends: python3 (= 3.10.6-1~22.04), libpython3-dev (= 3.10.6-1~22.04), python3.10-dev (>= 3.10.6-1~), python3-distutils (>= 3.10.6-1~), libjs-sphinxdoc (>= 4.3)
Breaks: python3 (<< 3.9.2-1~)
Description: header files and a static library for Python (default)
 Header files, a static library and development tools for building
 Python modules, extending the Python interpreter or embedding Python
 in applications.
 .
 This package is a dependency package, which depends on Debian's default
 Python 3 version's headers (currently v3.10).
Original-Maintainer: Matthias Klose <doko@debian.org>
Built-Using: sphinx (= 4.3.2-1)
Homepage: https://www.python.org/
shakir507 commented 6 months ago

The anaconda environment was an issue. Couldn't get my head around that one so finally removed it. This step got the installation working as it should.