[omniORB] OminORB on Solaris and EGCS

Amit Joshi amitj@erols.com
Wed, 16 Dec 1998 19:26:33 -0500


Yes.

You have to add a new entry to the config file, create a new platform
file and the fiddle with various dir.mk files to create shared
libraries. However if you accomplish this then it works perfectly under 
Solaris 2.6 with egcs 1.1 (with --enable-threads). I succesfully made
these changes. The trick was to 
look at the linux setup for the compiler settings and the Sparc Works
setup for the shared libraries. I cannot provide the diffs any more
because ...

Alternatively you can use autoconf/automake. I have successfully buildt
omniORB 2.6.1 with automake/autoconf. I have uploaded the patched
version to the omniORB site a version of omniORB 2.6.1 adapted to use
autoconf/automake. I have tried out my version with Linux
2.1.119(SMP)+egcs 1.1, Solaris 2.6+egcs 1.1 and Solaris 2.6+Sparcworks
4.2. 

Be warned that there seems to be a difference in opinion as to how the
configuration should proceed. I changed the source code to have ifdefed
variables such as HAVE_PTHREAD rather than depend on the variables such
as __sun etc. This I believe is the philosophy underlying
autoconf/automake: detect the presence or absence of a facility and then
setup a define to indicate this. The source should then use the define
to test the existence of the facility. The omniORB approach (and I am
not saying it is incorrect - just different) is to detect the operating
system+compiler+other_things and then create defines. The code then
assumes that the defines based on the combinations of operating
system+compiler+other_things will be indicative of the underlying
facilities available. This requires handcrafting platform files and
modifying dir.mk files for each combination of OS+compiler etc.
Currently with the large collection of such files the task is relatively
easier. 

I have chosen to follow the autoconf/automake approach which then
required me to change the code use the new define. I believe in the long
run this aids portability. At worst you have to handcraft a new config.h
file for a system where the autoconf/automake tools are not available.
Please, no flames: I think omniORB is a fine piece of work and the I
believe either mechanism of configuration is valid and will work: there
is simply a philosophical difference. 

No I do not have a site where I can keep it accessible for download and
the diff is rather large. I can upload the autoconf/automake version for
anybody who wants. Send me email. I would be happy to help make it work
on other operating systems. The autoconf/automake stuff configures with
CygWin32 but not with the MS compilers.


"Brown,Andrew,A,NAM7 BROWNA34 M" wrote:
> 
> Does OmniORb support Solaris 2.6 and will it compile on EGCS 1.1
> 
> Thanks
> 
> Andrew Brown

-- 
Amit Joshi

"There's a pleasure in being mad ...
 ... which none but madmen know!" - St. Dryden