After more than 30 years, why is there is no standardized package manager for c/c++ projects to avoid build systems hell.

Merely dynamically linking to a GPL library "infects" the application...

That's a common misconception. It actually does not. You just need to provide object files with your binary application to allow relinking to an LGPL library. From the LGPL text:

  1. Combined Works.

    ...

    c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document.

    d) Do one of the following:

    0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.

    1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version.

It's easier to use a shared library mechanism, but it is not required to prevent the LGPL from applying to your work as a derived work.

/r/cpp Thread Parent