Re: [OpenIndiana-discuss] use cases of Sun Studio-compiled C++ libraries on OI
On 11/28/14 06:25 PM, Richard L. Hamilton wrote: If it’s C++, the name mangling is different; look up the options for the Sun and GNU versions of nm respectively, use each version of nm with its demangling option, and whichever has sensible output corresponds to the compiler used. Even with Studio, there are now at least 7 different binary incompatible options for building C++ code: -compat=4 - pre-C++98 SunPro 4.x compiler ABI (only in Studio 12.2 older) -compat=5 (aka -std=sun03) - C++03 Sun compiler ABI -compat=g (aka -std=c++03) - C++03 with g++ extensions/ABI -std=c++11 - C++11 features g++ library/ABI (only in Studio 12.4 later) -library=Cstd - C++03 with Studio libCstd library -library=stdcxx4 - C++03 with Apache stdcxx library -library=stlport4 - C++03 with STLport library As you'll see in the CC man page, all C++ code in a program must use the same -compat, -std, -library flags - you can't use a library built with different ones than the program itself uses. -alan- A strange game. The only winning move is not to play. How about a nice game of chess? ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org http://openindiana.org/mailman/listinfo/openindiana-discuss
Re: [OpenIndiana-discuss] use cases of Sun Studio-compiled C++ libraries on OI
Wouldn't this break the binary compatibility guarantee that Solaris had been traditionally marketed on? I'm no kernel engineer, so I wouldn't know. 'With the first link, the chain is forged. The first speech censured, the first thought forbidden, the first freedom denied, chains us all irrevocably.' Those words were uttered by Judge Aaron Satie as wisdom and warning... The first time any man's freedom is trodden on, we’re all damaged. - Jean-Luc Picard, quoting Judge Aaron Satie, Star Trek: TNG episode The Drumhead - Alex Smith - Huntsville, Alabama metropolitan area USA On Sun, Dec 7, 2014 at 12:51 PM, Alan Coopersmith alan.coopersm...@oracle.com wrote: On 11/28/14 06:25 PM, Richard L. Hamilton wrote: If it’s C++, the name mangling is different; look up the options for the Sun and GNU versions of nm respectively, use each version of nm with its demangling option, and whichever has sensible output corresponds to the compiler used. Even with Studio, there are now at least 7 different binary incompatible options for building C++ code: -compat=4 - pre-C++98 SunPro 4.x compiler ABI (only in Studio 12.2 older) -compat=5 (aka -std=sun03) - C++03 Sun compiler ABI -compat=g (aka -std=c++03) - C++03 with g++ extensions/ABI -std=c++11 - C++11 features g++ library/ABI (only in Studio 12.4 later) -library=Cstd - C++03 with Studio libCstd library -library=stdcxx4 - C++03 with Apache stdcxx library -library=stlport4 - C++03 with STLport library As you'll see in the CC man page, all C++ code in a program must use the same -compat, -std, -library flags - you can't use a library built with different ones than the program itself uses. -alan- A strange game. The only winning move is not to play. How about a nice game of chess? ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org http://openindiana.org/mailman/listinfo/openindiana-discuss ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org http://openindiana.org/mailman/listinfo/openindiana-discuss
Re: [OpenIndiana-discuss] use cases of Sun Studio-compiled C++ libraries on OI
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 12/7/2014 5:26 PM, Alex Smith (K4RNT) wrote: Wouldn't this break the binary compatibility guarantee that Solaris had been traditionally marketed on? I'm no kernel engineer, so I wouldn't know. No. The guarantee has always been that *IF* your application complies strictly with the ABI *THEN* it won't be broken on future releases without adequate notice. This doesn't in any way guarantee that you can produce such an application in the first place by linking together arbitrary (and incompatible) objects. Producing an ABI compliant application can be a difficult job, particularly if you choose to work in a hostile environment such as C++. - -- James Carlson 42.703N 71.076W carls...@workingcode.com -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.17 (MingW32) iEYEARECAAYFAlSE2agACgkQ6TIHA1NkzvAeTgCbBlnMVHo6L9gduQQLqfXFgepK wpcAnRH8T957+0iiDjruaPDg2nZvnMRf =24p+ -END PGP SIGNATURE- ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org http://openindiana.org/mailman/listinfo/openindiana-discuss
Re: [OpenIndiana-discuss] use cases of Sun Studio-compiled C++ libraries on OI
On 12/ 7/14 02:50 PM, James Carlson wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 12/7/2014 5:26 PM, Alex Smith (K4RNT) wrote: Wouldn't this break the binary compatibility guarantee that Solaris had been traditionally marketed on? I'm no kernel engineer, so I wouldn't know. No. The guarantee has always been that *IF* your application complies strictly with the ABI *THEN* it won't be broken on future releases without adequate notice. This doesn't in any way guarantee that you can produce such an application in the first place by linking together arbitrary (and incompatible) objects. Producing an ABI compliant application can be a difficult job, particularly if you choose to work in a hostile environment such as C++. Right - the binary compatibility guaranteed is with previous versions of the OS, not arbitrary compilation options. Similarly you can't link 32-bit 64-bit C code together, nor SPARC i386 - they're all binary incompatible with each other. As to whether OpenIndiana cares about Sun's marketing programs is a completely different question - maintaining binary compatibility can be a lot of work, and OI's clearly not overflowing with excess developers with oodles of spare time to offer. -alan- ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org http://openindiana.org/mailman/listinfo/openindiana-discuss
Re: [OpenIndiana-discuss] use cases of Sun Studio-compiled C++ libraries on OI
Alexander Pyhalov wrote: Hello. I'd like to hear about people who now hardly depends on Sun Studio-compiled C++ libraries AND use OpenIndiana. Do you have software which can't be recompiled with GCC? Do you know commercial software which depend on the libraries? I mean the following OI packages: database/postgres/library/c++/libpqxx library/c++/glibmm library/c++/libxml++ library/c++/net6 library/c++/obby library/c++/sigcpp library/c++/stdcxx library/desktop/c++/cairomm library/desktop/c++/gtkmm library/desktop/c++/mm-common library/desktop/c++/pangomm I'd like to drop them and replace by g++-compiled (incompatible) versions. Who will be affected? If you are building modern code (that adheres to C++11), the difference should be moot. Studio 12.4 in C++11 mode uses the g++ ABI and the g++ 4.8.2 run time library. -- Ian. ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org http://openindiana.org/mailman/listinfo/openindiana-discuss
Re: [OpenIndiana-discuss] use cases of Sun Studio-compiled C++ libraries on OI
Hi Alexander, while not exactly in your problem class, I have a similar case: compiling httpd modules (e.g. mod_security in my case) using gcc will make httpd crash on startup. You either need Sun Studio or drop the packaged Apache and compile yourself. So this is another case where it would be beneficial/necessary to move on to using gcc instead of Sun Studio... Cheers Stefan -Ursprüngliche Nachricht- Von: Alexander Pyhalov [mailto:a...@rsu.ru] Gesendet: Freitag, 28. November 2014 09:54 An: Discussion list for OpenIndiana Betreff: [OpenIndiana-discuss] use cases of Sun Studio-compiled C++ libraries on OI Hello. I'd like to hear about people who now hardly depends on Sun Studio-compiled C++ libraries AND use OpenIndiana. Do you have software which can't be recompiled with GCC? Do you know commercial software which depend on the libraries? I mean the following OI packages: database/postgres/library/c++/libpqxx library/c++/glibmm library/c++/libxml++ library/c++/net6 library/c++/obby library/c++/sigcpp library/c++/stdcxx library/desktop/c++/cairomm library/desktop/c++/gtkmm library/desktop/c++/mm-common library/desktop/c++/pangomm I'd like to drop them and replace by g++-compiled (incompatible) versions. Who will be affected? If there are some specific libraries of interest, we can discuss ways to move them to alternative locations (e.g. /usr/CC/). If you need them, do you need just binaries (*.so* files) or actually compile software using these libraries and Sun Studio? For example, we could just preserve the contents of these packages in some public place or deliver some renamed packages, if it's really needed. But I'd like to avoid the later option. I don't speak about system/library/c++/sunpro, this one will be preserved. -- Best regards, Alexander Pyhalov, system administrator of Southern Federal University IT department ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org http://openindiana.org/mailman/listinfo/openindiana-discuss Acando GmbH, Millerntorplatz 1, 20359 Hamburg, Germany | Geschäftsführer: Guido Ahle | Amtsgericht Hamburg, HRB 76048 | Ust.Ident-Nr.:DE208833022 ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org http://openindiana.org/mailman/listinfo/openindiana-discuss
Re: [OpenIndiana-discuss] use cases of Sun Studio-compiled C++ libraries on OI
On Fri, 28 Nov 2014, Tim Mooney wrote: On a tangentially related note, does anyone know of any tests that compare the performance of generated code between Studio and gcc/g++? I haven't seen one in years, so I would be interested to know how much gcc has closed the performance gap with Studio? For the large part and for C code, I would say that the difference is small in most cases for x86-64. I see a small lead in floating point performance using the Studio compiler, and a small lead with integer performance using GCC. However, either one might come out in the lead for any given test case. When it comes to SPARC code, the Studio compiler is clearly in the lead. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org http://openindiana.org/mailman/listinfo/openindiana-discuss
Re: [OpenIndiana-discuss] use cases of Sun Studio-compiled C++ libraries on OI
Hello, I am using OI 151a9 with some server packages installed (some of them from opencsw.org), but I have no idea which libraries they depend on, or which compiler was used to compile the packages or required libraries. Just hope that OI will remain compatible/usable in the future. Regards, Dmitry. P.S. I am not using Hipster version. Hello. I'd like to hear about people who now hardly depends on Sun Studio-compiled C++ libraries AND use OpenIndiana. Do you have software which can't be recompiled with GCC? Do you know commercial software which depend on the libraries? ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org http://openindiana.org/mailman/listinfo/openindiana-discuss
Re: [OpenIndiana-discuss] use cases of Sun Studio-compiled C++ libraries on OI
If it’s plain C, it shouldn’t matter. If it’s C++, the name mangling is different; look up the options for the Sun and GNU versions of nm respectively, use each version of nm with its demangling option, and whichever has sensible output corresponds to the compiler used. Here’s an example, showing that the Sun compiler was used. They hopefully used the same compiler for everything, since compiled C++ is incompatible between the two. This was on Solaris 10, but the principle should hold. it (Sun nm gives sensible results, therefore it was built with the Sun C++ compiler): nm -C /opt/csw/bdb48/lib/libdb_cxx-4.8.so |grep MultipleRecnoDataBuilder [2375] |185876| 168|FUNC |GLOB |0|11 |bool DbMultipleRecnoDataBuilder::append(unsigned,void*,unsigned) [__1cbADbMultipleRecnoDataBuilderGappend6MIpvI_b_] [2811] |186044| 136|FUNC |GLOB |0|11 |bool DbMultipleRecnoDataBuilder::reserve(unsigned,void*,unsigned) [__1cbADbMultipleRecnoDataBuilderHreserve6MIrpvI_b_] [1677] |185832|44|FUNC |GLOB |0|11 |DbMultipleRecnoDataBuilder::DbMultipleRecnoDataBuilder(Dbt) [__1cbADbMultipleRecnoDataBuilder2t6MrnDDbt__v_] [3549] |185832|44|FUNC |GLOB |0|11 |DbMultipleRecnoDataBuilder::DbMultipleRecnoDataBuilder #Nvariant 1(Dbt) [__1cbADbMultipleRecnoDataBuilder2t5B6MrnDDbt__v_] not it (didn’t succeed in demangling it): gnm --demangle /opt/csw/bdb48/lib/libdb_cxx-4.8.so |grep MultipleRecnoDataBuilder 0002d5e8 T __1cbADbMultipleRecnoDataBuilder2t5B6MrnDDbt__v_ 0002d5e8 T __1cbADbMultipleRecnoDataBuilder2t6MrnDDbt__v_ 0002d614 T __1cbADbMultipleRecnoDataBuilderGappend6MIpvI_b_ 0002d6bc T __1cbADbMultipleRecnoDataBuilderHreserve6MIrpvI_b_ On Nov 28, 2014, at 5:04 PM, Dmitry Kozhinov d...@desktopfay.com wrote: Hello, I am using OI 151a9 with some server packages installed (some of them from opencsw.org), but I have no idea which libraries they depend on, or which compiler was used to compile the packages or required libraries. Just hope that OI will remain compatible/usable in the future. Regards, Dmitry. P.S. I am not using Hipster version. Hello. I'd like to hear about people who now hardly depends on Sun Studio-compiled C++ libraries AND use OpenIndiana. Do you have software which can't be recompiled with GCC? Do you know commercial software which depend on the libraries? ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org http://openindiana.org/mailman/listinfo/openindiana-discuss ___ openindiana-discuss mailing list openindiana-discuss@openindiana.org http://openindiana.org/mailman/listinfo/openindiana-discuss