Hello Morten,
I will answer things in reverse order from your email:
Sun C++ and g++ object incompatible
-----------------------------------
> I have the understanding that Sun Studio 12 has a Linux compatibility
> mode, and that both modes ARM and ANSI mode can be supported.
> -compat[={4|5}]
The -compat=4 option is only for backward compatibility with an
ancient, superceeded Sun C++ compiler, it should not be used.
For C++ code, it is necessary to compile all C++ code with either:
(1) Sun Studio 11 or 12 with -stlport4. Which will require:
- Upgrading libtool to:
goanna% libtool --version
ltmain.sh (GNU libtool) 1.5.24 (1.1220.2.455 2007/06/24 02:13:29)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is
NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. goanna%
- some simple diffs for some addition #include statements which
I can supply if you like, or I'm sure you could easilly figure
it out yourself if you tried to compile it.
(2) Sun Studio 11 or 12 (without -stlport.). I think this still
requires ugprading libtool to the above version. Tommi and I added
support for this earlier (apart from the old libtool version packaged
with cxxtools which has problems on Solaris).
(3) Using some version of gcc on Solaris. I've never tried that.
Latest gcc on Solaris
---------------------
> Parts of what you write I did not quite understand.
>
>
> > The current gcc release for Solaris is included in the
> > SFE project:
> >
> > http://pkgbuild.sourceforge.net/spec-files-extra/
>
>
> >
> > It builds with Sun Studio 12 on Solaris 10 and
> > Solaris Express. Something like:
> >
> > % svn co
> >
> https://pkgbuild.svn.sourceforge.net/svnroot/pkgbuild/spec-files-extra/trunk
> > spec-files-extra
> > % cd spec-files-extra
> > % pkgtool build --download SFEgcc.spec
> >
> > Then to use it requires passing -R/usr/gnu/lib
> > when linking programs.
>
> this is greek to me. Could you please elaborate?
The above was only if you wanted to use the current gcc version
on Solaris. I will explain in more detail about SFE anyway, because
that is probably the easiest way to install the current libtool.
Installing CBE, libtool from SFE
--------------------------------
If you already have a subversion that works, then it would
be best to first download SFE from:
http://pkgbuild.sourceforge.net/spec-files-extra/
Like:
svn co
https://pkgbuild.svn.sourceforge.net/svnroot/pkgbuild/spec-files-extra/trunk
SFE
The Blastwave stuff is probably great for some software
packages, however for development tools it does not seem
up to date enough. In particular, the Blastwave libtool
is also too old. Hence I think you will need to remove
the Blastwave autotools.
pkgrm CSWlibtool
pkgrm CSWautomake
pkgrm CSWautoconf
Then you need pkgbuild from the CBD JDS:
http://www.opensolaris.org/os/project/jds/contributing/building/
However the subversion in CBS JDS 1.6.0 is too old, so you need to
uinstall it, something like
pkgrm CBEsvn
Then if you haven't aready downloaded SFE with an earlier working
subversion, then I guess it could be tricky to obtain SFE, maybe you
could use the Blastwave subversion.
If you have SFE, then you can build subversion from SFE:
pkgtool build --download SFEgdbm
pkgtool build --download SFEbdb.spec
pkgtool build --download SFEsubversion
I think the JDS CBE versions of autoconf, automake are OK.
Then after you get SFE, you can build and install the latest libtool:
pkgtool build --download SFElibtool.spec
Sun Studio Rogue Wave C++ glitches
----------------------------------
Tommi has applied workarounds in the cxxtools and tntnet codebase for
the issues in:
http://onesearch.sun.com/search/onesearch/index.jsp?qt=tntnet&qp_name=null&subCat=siteforumid%3Ajava850&site=dev&dftab=siteforumid%3Ajava850&chooseCat=javaall&col=developer-forums
gcc compile errors on Solaris
-----------------------------
For the gcc error:
gmake[2]: Entering directory `/tmp/cxxtools-1.4.5/src'
if /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H
-I. -I. -I. -I../include/cxxtools -I../include -I../libltdl
-D_REENTRANT -pthreads -g -O2 -MT libcxxtools_la-iconvstream.lo -MD -MP
-MF ".deps/libcxxtools_la-iconvstream.Tpo" -c -o
libcxxtools_la-iconvstream.lo `test -f 'iconvstream.cpp' || echo
'./'`iconvstream.cpp; \
then mv -f ".deps/libcxxtools_la-iconvstream.Tpo"
".deps/libcxxtools_la-iconvstream.Plo"; else rm -f
".deps/libcxxtools_la-iconvstream.Tpo"; exit 1; fi
g++ -DHAVE_CONFIG_H -I. -I. -I. -I../include/cxxtools -I../include
-I../libltdl -D_REENTRANT -pthreads -g -O2 -MT
libcxxtools_la-iconvstream.lo -MD -MP -MF
.deps/libcxxtools_la-iconvstream.Tpo -c iconvstream.cpp -fPIC -DPIC -o
.libs/libcxxtools_la-iconvstream.o
iconvstream.cpp: In member function 'virtual int
cxxtools::iconvstreambuf::overflow(int)':
iconvstream.cpp:106: error: invalid conversion from 'char**' to 'const
char**'
iconvstream.cpp:106: error: initializing argument 2 of 'size_t
libiconv(void*, const char**, size_t*, char**, size_t*)'
gmake[2]: *** [libcxxtools_la-iconvstream.lo] Error 1
gmake[2]: Leaving directory `/tmp/cxxtools-1.4.5/src'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/tmp/cxxtools-1.4.5/src'
gmake: *** [all-recursive] Error 1
bash-3.00$
I've never tried compiling it with g++ on Solaris.
If you like I can try compiling it with SFEgcc:
goanna% which g++
/usr/gnu/bin/g++
goanna% g++ --version
g++ (GCC) 4.2.1
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is
NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
goanna%
and see if I can come up with diffs to workaround any issues.
Regards, Mark
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Tntnet-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tntnet-general