[omniORB] Seg. Faults on Irix 6.5
James Riden
jamesr@harlequin.co.uk
Thu, 20 May 1999 08:51:27 +0100
At 01:36 PM 5/19/99 -0400, ryan.tecco wrote:
>
>On Tue, 18 May 1999, James Riden wrote:
>
>> If it runs properly after this, this is a known problem, and I think
>> someone has produced a patch for it. I can't remember where offhand, or
>> even if it comes with v 2.7.1.
>>
>> try :
>>
>> http://www.uk.research.att.com/omniORB/archives/1998-08/0045.html
>>
>> plus, make sure that you have all the necessary patches to the C++
>> compiler & runtime.
>
>What exactly are those patches? Anything outside of a standard install of
>Irix 6.5?
Ryan,
I believe that IRIX 6.5, instead of having many patches to apply, as with
IRIX 6.3/6.4, has a stream of maintenance releases. However I don't think
the C++ compiler counts as part of the OS, so there are a few patches to
that.
Here's some stuff about a working machine with the 7.2.1 C++ compiler &
runtime :
machine% uname -a
IRIX machine 6.5 05190004 IP32
machine% versions -b | grep MIPSpro
I patchSG0002992 10/12/98 Patch SG0002992: MIPSpro 7.2.1 Compiler
Back-end #1
I patchSG0003022 10/12/98 Patch SG0003022: MIPSpro 7.2.1 Fortran90
Front-End #1
I patchSG0003048 10/12/98 Patch SG0003048: MIPSpro 7.2.1 C++
front-end rollup #1
I patchSG0003077 10/12/98 Patch SG0003077: MIPSpro 7.2.1 C
front-end rollup #1
I think maybe with the 7.2 compiler you might need to apply a patch to
the run-time as well. Your systems administrator should be able to point
you to the patch list on the SGI website, and apply any you need.
>And I don't know if the problem is with omniNames, because the first echo
>example doesn't use the name service... unless perhaps it always loads up
>omniNames. Let me know!
Sorry, omniNames was just an example. Here's a reprise with eg1 :
machine% cd omniORB_2.7.1/src/examples/echo
machine% gnumake export
<snip>
+ CC -o eg1 -n32 -float -ansi -LANG:exceptions=ON -woff 3303,1110,1182
-L../../../lib/mips_irix_6.5_n32 eg1.o ../../../stub/echoSK.o
../../../stub/echoDynSK.o -lomniORB2 -lomniDynamic2 -lomnithread -lpthread
-ltcpwrapGK -lomniORB2 -lomnithread
<snip>
machine% eg1
Segmentation fault (core dumped) (look familiar ?)
try again :
machine% CC -o eg1 -n32 -float -ansi -LANG:exceptions=ON -woff 3303,1110,1182
-L../../../lib/mips_irix_6.5_n32 eg1.o ../../../stub/echoSK.o
../../../stub/echoDynSK.o -lomniORB2 -lomniDynamic2 -lomnithread -ltcpwrapGK
-lomniORB2 -lomnithread -lpthread
(this should be all on one line)
machine% eg1
I said,"Hello!". The Object said,"Hello!"
machine%
Note the -lpthread comes after any mentions of -lomnithread . I think this
is what makes the difference - it may or may not be to do with the order of
initialisation of statics in the different libraries. Should I add this to all
the mips_irix_6.X_n32.mk ? (if I can work out the correct gnumake runes that
is ;) I could also add some of this to the FAQ / IRIX release notes if anyone
thinks it worthwhile. Someone tell me if I've got anything particularly
wrong.
cheers,
James
--
"I hear they're hiring down at McDonalds. Enjoy your new job flipping
burgers. "
from the C++ FAQ lite, section 10.10