Go Back   ZeroC Forums > Help Center

Reply
 
LinkBack Thread Tools Rate Thread Display Modes
  #1 (permalink)  
Old 06-22-2007
Ian James Ian James is offline
Registered User
 
Name: Ian James
Organization: Deutsche Bank
Project: Equities IT
 
Join Date: Jun 2007
Posts: 4
Solaris 8 (SPARC) or Solaris 10 x86 support?

Hi, im evaluating Ice, particuarly the grid. It looks great, however our environments are not on the platform list for C++:
1) Solaris 8, SPARC
CC: Sun WorkShop 6 update 2 C++ 5.3 Patch 111685-20 2004/03/1
2) Solaris 10, x86 64

We started to hit some linking issues compiling our c++ clients on the solaris 8 box (libbz2 for starters); can anyone give me an idea on what effort/steps is required on this platform if they have done this before? Would upgrading to 5.8 solve our issues or is there more work involved if we do that?

Also, are there any issues building/running Solaris 10 x86 as oppose to the sparc version that we should be aware of if we use CC5.8?

Many thanks
__________________
Ian James
Equities IT, Deutsche Bank
London
Reply With Quote
  #2 (permalink)  
Old 06-22-2007
bernard's Avatar
bernard bernard is offline
ZeroC Staff
 
Name: Bernard Normier
Organization: ZeroC, Inc.
Project: Ice
 
Join Date: Feb 2003
Location: Palm Beach Gardens, FL
Posts: 818
Hi Ian,

We've never tried Ice on Solaris 8; however I think it should be easy to port as long as you:
- switch to Sun CC 5.8 (Studio 11); we used to support CC 5.3 but dropped it a while ago. I am sure upgrading is much easier than working-around the CC 5.3 bugs.
- install /dev/random and /dev/urandom on your system (Solaris 8 patch 112438).

Although Solaris 10/x86_64/CC 5.8 is not currently a supported combination, I believe it will build and work straight out of the source distribution. The necessary fixes were contributed some ago by Markus Bernhardt. And you may want to avoid CC 5.9 for now (see Markus posts).

Best regards,
Bernard
__________________
Bernard Normier
ZeroC, Inc.

Last edited by bernard : 06-22-2007 at 12:29 PM.
Reply With Quote
  #3 (permalink)  
Old 06-28-2007
Ian James Ian James is offline
Registered User
 
Name: Ian James
Organization: Deutsche Bank
Project: Equities IT
 
Join Date: Jun 2007
Posts: 4
Thanks Bernard, i have tried to compile up the source for solaris 10, x86. I wanted to use the g++ compiler (by removing the CC setting in INSTALL.SunOS) that was on this box (no CC installed as yet), and it works ok for hte first few files and then seems to revert to cc:

gmake[1]: Leaving directory `/export/home/sor/Ice-3.2.0/config'
making all in src
gmake[1]: Entering directory `/export/home/sor/Ice-3.2.0/src'
making all in IceUtil
gmake[2]: Entering directory `/export/home/sor/Ice-3.2.0/src/IceUtil'
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g ArgVector.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g Base64.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g Cond.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g ConvertUTF.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g CountDownLatch.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g CtrlCHandler.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g Exception.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g Shared.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g InputUtil.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g MD5.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g MD5I.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g Options.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g OutputUtil.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g Random.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g RWRecMutex.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g RecMutex.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g StaticMutex.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g StringUtil.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g Thread.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g ThreadException.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g Time.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g UUID.cpp
g++ -c -I../../include -DICE_UTIL_API_EXPORTS -I.. -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g Unicode.cpp
rm -f ../../lib/libIceUtil.so.3.2.0
g++ -shared -ftemplate-depth-128 -Wall -D_REENTRANT -fPIC -g -L../../lib -o ../../lib/libIceUtil.so.3.2.0 -h libIceUtil.so.32 ArgVector.o Base64.o Cond.o ConvertUTF.o CountDownLatch.o CtrlCHandler.o Exception.o Shared.o InputUtil.o MD5.o MD5I.o Options.o OutputUtil.o Random.o RWRecMutex.o RecMutex.o StaticMutex.o StringUtil.o Thread.o ThreadException.o Time.o UUID.o Unicode.o -lpthread -lrt
rm -f ../../lib/libIceUtil.so.32
ln -s libIceUtil.so.3.2.0 ../../lib/libIceUtil.so.32
rm -f ../../lib/libIceUtil.so
ln -s libIceUtil.so.32 ../../lib/libIceUtil.so
gmake[2]: Leaving directory `/export/home/sor/Ice-3.2.0/src/IceUtil'
making all in icecpp
gmake[2]: Entering directory `/export/home/sor/Ice-3.2.0/src/icecpp'
cc -c -I../../include -I. -DPREFIX=\"\" cccp.c
gmake[2]: cc: Command not found
gmake[2]: *** [cccp.o] Error 127
gmake[2]: Leaving directory `/export/home/sor/Ice-3.2.0/src/icecpp'
gmake[1]: *** [all] Error 1
gmake[1]: Leaving directory `/export/home/sor/Ice-3.2.0/src'
gmake: *** [all] Error 1


on another box i get a lot further but then hit a different error:

gmake[2]: Entering directory `/export/home/sor/shunil/Ice-3.2.0/src/Ice'
rm -f ../../lib/libIce.so.3.2.0
CC -G -R /usr/sfw/lib -z text -mt +p -features=tmplife -xldscope=hidden +w -erroff=hidef,wvarhidenmem,wvarhidemem -KPIC -g -L../../lib -o ../../lib/libIce.so.3.2.0 -h libIce.so.32 Acceptor.o Application.o Buffer.o BasicStream.o BuiltinSequences.o CommunicatorI.o Communicator.o ConnectionFactory.o ConnectionI.o ConnectionMonitor.o Connection.o Connector.o Current.o DefaultsAndOverrides.o Direct.o DynamicLibrary.o EndpointFactoryManager.o EndpointFactory.o Endpoint.o EndpointI.o EventHandler.o Exception.o FacetMap.o FactoryTableDef.o FactoryTable.o GC.o Identity.o IdentityUtil.o ImplicitContextI.o ImplicitContext.o IncomingAsync.o Incoming.o Initialize.o Instance.o LocalException.o LocalObject.o LocatorInfo.o Locator.o LoggerI.o Logger.o LoggerUtil.o Network.o ObjectAdapterFactory.o ObjectAdapterI.o ObjectAdapter.o ObjectFactoryManager.o ObjectFactory.o Object.o OutgoingAsync.o Outgoing.o PluginManagerI.o Plugin.o Process.o PropertiesI.o Properties.o PropertyNames.o Protocol.o ProtocolPluginFacade.o ProxyFactory.o Proxy.o ReferenceFactory.o Reference.o RouterInfo.o Router.o ServantLocator.o ServantManager.o Service.o SliceChecksumDict.o SliceChecksums.o Stats.o StreamI.o Stream.o StringConverter.o SysLoggerI.o TcpAcceptor.o TcpConnector.o TcpEndpointI.o TcpTransceiver.o ThreadPool.o TraceLevels.o TraceUtil.o Transceiver.o UdpEndpointI.o UdpTransceiver.o UnknownEndpointI.o -lIceUtil -L/export/home/sor/shunil/bzip/lib -lbz2 -ldl -lsocket
Text relocation remains referenced
against symbol offset in file
<unknown> 0x4 /export/home/sor/shunil/bzip/lib/libbz2.a(bzlib.o)
<unknown> 0x1c /export/home/sor/shunil/bzip/lib/libbz2.a(bzlib.o)
<unknown> 0x4d /export/home/sor/shunil/bzip/lib/libbz2.a(bzlib.o)
default_bzalloc 0x175 /export/home/sor/shunil/bzip/lib/libbz2.a(bzlib.o)
...
lots more of these
...

ld: fatal: relocations remain against allocatable but non-writable sections
gmake[2]: *** [../../lib/libIce.so.3.2.0] Error 1
gmake[2]: Leaving directory `/export/home/sor/shunil/Ice-3.2.0/src/Ice'
gmake[1]: *** [all] Error 1
gmake[1]: Leaving directory `/export/home/sor/shunil/Ice-3.2.0/src'
gmake: *** [all] Error 1


any ideas or hints?
__________________
Ian James
Equities IT, Deutsche Bank
London
Reply With Quote
  #4 (permalink)  
Old 06-29-2007
bernard's Avatar
bernard bernard is offline
ZeroC Staff
 
Name: Bernard Normier
Organization: ZeroC, Inc.
Project: Ice
 
Join Date: Feb 2003
Location: Palm Beach Gardens, FL
Posts: 818
Hi Ian,

In general, I would recommend to build with CC 5.8 -- that's what we use on SPARC and that's the compiler used by Markus, so it's likely Ice will build and run well with this compiler on Solaris 10 x86_64.

You can download CC 5.8 (Sun Studio 11) from Sun Studio Developer Package Updates. (It's not just an eval, it's a free unrestricted license).

Now for your build failure:

Quote:
UnknownEndpointI.o -lIceUtil -L/export/home/sor/shunil/bzip/lib -lbz2 -ldl -lsocket
Text relocation remains referenced
against symbol offset in file
<unknown> 0x4 /export/home/sor/shunil/bzip/lib/libbz2.a(bzlib.o)
<unknown> 0x1c /export/home/sor/shunil/bzip/lib/libbz2.a(bzlib.o)
<unknown> 0x4d /export/home/sor/shunil/bzip/lib/libbz2.a(bzlib.o)
default_bzalloc 0x175 /export/home/sor/shunil/bzip/lib/libbz2.a(bzlib.o)
It looks like you're trying to link with your own static-only libbz2 library. You should use instead the Solaris libbz2 shared library (comes with Solaris, installed in /usr/lib on SPARC).

Best regards,
Bernard
__________________
Bernard Normier
ZeroC, Inc.
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
Solaris 8 or 10 dgdillaman Help Center 3 10-12-2006 10:13 AM
I can use the Ice on Solaris 8 and Solaris 10? tjl02040 Help Center 1 09-07-2006 10:06 AM
Anyone compiled and running on Solaris x86? ehup Help Center 0 09-05-2006 09:16 PM
Ice on Solaris 2.6/Sparc ? Garric Comments 9 01-30-2006 07:28 PM
IcePatch2/Util.cpp namespace resolution problem on Solaris 10 / Sun Studio 10 failys Bug Reports 1 11-17-2005 10:17 AM


All times are GMT -4. The time now is 01:44 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.0.0
(c) 2008 ZeroC, Inc.