On 11/02/19 12:20 +0100, Jakub Jelinek wrote:
On Mon, Feb 11, 2019 at 12:14:10PM +0100, Florian Weimer wrote:
- Jonathan Wakely:
On 08/02/19 19:56 -0600, Patrick Diehl wrote:
Hi,
I maintain the hpx package and it uses std:atomic and when I install gcc-c++ it seems that libatomic is not a dependency of the gcc-c++ package. My program fails, because it can not link against libatomic. Is this the supposed behavior to install libatomic or should libatomic become one of the dependencies of gcc-c++?
Not all C++ programs need libatomic. If hpx needs it, I think you should require it explicitly.
Not all C++ programs need libstdc++ or librt. Yet both are available by default.
Don't know why you are mentioning librt, gcc-c++ nor libstdc++ don't have a dependency on librt, either rpm or DT_NEEDED. You have to try hard to avoid libstdc++, that is what you get by default, one needs to use -nostdinc, link with gcc instead of g++, usually disable rtti/exceptions etc. or link with -lsupc++ (which is in libstdc++-devel anyway).
Compared to that, most of the C++ programs don't need libatomic, most of them don't need libitm, etc. So, why force it upon everybody when only 0.05% will need it?
On that basis, why does gcc-c++ install libgomp and libgfortran?
libatomic might be needed for some uses of std::atomic, but nothing in ISO C++ requires OpenMP or Fortran.