Curtis Olson wrote: > For what it's worth, the primary plib author (Steve) has always been > very adamant that plib be built as static libs. He has expressed > several times his opposition to compiling C++ code into shared > libraries.
I can sympathize, but unfortunately I'm not responsible for the plib packages in Debian, so it's not my call. That they're shared libs kind of forces me to also make simgear shared, but if the maintainer of the plib package (Philipp Frauenfelder) could be convinced, I could perhaps change simgear... > I forget all the issues he pointed out, but certainly C++'s > name mangling scheme can cause problems since different compilers or > different versions of the same compiler can use different name mangling > algorithms, and then the runtime linker may be unable to find the needed > function at runtime. Presumably that's not his strongest argument. For example, all of KDE is C++ code, and nobody wants to link Qt and the KDE libs statically into everything. In Debian, whenever the C++ ABI (which could include the name mangling scheme) changes, a transition is initiated, where packages compiled against the new compiler gets a new name. For example, the plib package currently in Debian is called plib1.8.4c2, which means it has already gone through such a transition, and is currently using g++ 4.0's ABI (name mangling). I'm sure other major distros have to do something similar. I'd consider things like PIC code being bigger and slower as better arguments. > I wonder if there may also be potential > runtime/memory allocation issues. The whole shared library scheme > presupposes C code. I guess you're not a KDE fan? (Well, me neither...) ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Flightgear-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/flightgear-devel

