Re: [OpenIndiana-discuss] use cases of Sun Studio-compiled C++ libraries on OI

2014-12-07 Thread Alan Coopersmith

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

2014-12-07 Thread Alex Smith (K4RNT)
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

2014-12-07 Thread James Carlson
-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

2014-12-07 Thread Alan Coopersmith

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

2014-11-29 Thread Ian Collins

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

2014-11-28 Thread Stefan Müller-Wilken
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

2014-11-28 Thread Bob Friesenhahn

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

2014-11-28 Thread Dmitry Kozhinov

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

2014-11-28 Thread Richard L. Hamilton
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