Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 912145 - sci-physics/lammps-20230328: if emerged without the "mpi" use flag, produces binary that fails to work
Summary: sci-physics/lammps-20230328: if emerged without the "mpi" use flag, produces ...
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal minor (vote)
Assignee: Nicolas Bock
Depends on:
Reported: 2023-08-11 19:25 UTC by Giovani M. Faccin
Modified: 2024-01-11 08:53 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Giovani M. Faccin 2023-08-11 19:25:42 UTC
Compiling sci-physics/lammps-20230328 works in principle, but when one tries to run the program, this error is shown:

gfaccin@piranha ~ $ lmp 
lmp: error while loading shared libraries: cannot open shared object file: No such file or directory

Thus, the binary produced with the -mpi flag (default) is expecting mpi libraries in the system. 

The system had openmpi installed before compilation took place. It looks that, by default, the mpich implementation is used when compiling lammps. Perhaps this could be connected to the problem?

Temporary workaround: mask the mpich package in portage. Then, add the "mpi" use flag to the lammps package and involved libraries and recompile it using openmpi.  Then, it will work. Looks like the ebuild configuration step is missing something.

Reproducible: Always

Steps to Reproduce:
1. emerge lammps on a fresh install without the mpi use flag enabled and having openmpi previously available on the system
Actual Results:  
Compilation works, but the produced binary won't because expected libraries won't be installed. The system had previously openmpi installed.

Expected Results:  
Produced binary does not work.

Executed as expected.
Comment 1 Andrew Nowa Ammerlaan gentoo-dev 2024-01-11 08:53:22 UTC
We do set `-DBUILD_MPI=$(usex mpi)`, but perhaps this is not respected somewhere?