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.