Discussion:
[omniORB] Porting of omniORB over RTOS
binod pal
2010-09-08 22:47:09 UTC
Permalink
Skipped content of type multipart/alternative-------------- next part --------------
A non-text attachment was scrubbed...
Name: error.rtf
Type: application/ms-word
Size: 41473 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20100908/4302ac8c/error-0001.bin
Thomas Lockhart
2010-09-09 00:32:09 UTC
Permalink
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20100908/35247dcb/attachment.htm
Brian Neal
2010-09-09 06:53:07 UTC
Permalink
2010/9/8 Thomas Lockhart <***@fourpalms.org>:
>
>> 2. When i am compiling the code for INTEGRITY, i am getting the
>> following errors...
>> "D:toDelincludeomniORB4/CORBA_Exception.h", line 245: warning #76-D:
>> argument to macro is empty virtual ~UserException();
>
> It looks like "virtual" is declared as some kind of goofy macro in
> INTEGRITY. Too bad for you :/

No, I find that rather hard to believe, otherwise you could not code
in C++ under INTEGRITY, which is something we've been doing for many
years now. However, I can believe that UserException is a macro (hint:
so is DataBuffer). I have no idea why anyone thinks it's a good idea
to write macros in CamelCase...

We contemplated (briefly) porting omniORB to INTEGRITY, and I wish you
luck, Binod Pal. INTEGRITY does provide a POSIX wrapper around it's
API, but I would be afraid that the semantics of all the various
functions may not match the true POSIX semantics close enough for a
trouble-free port. But please keep us posted of your progress, I might
be interested in helping you.

Regards,
BN
binod pal
2010-09-09 19:31:28 UTC
Permalink
Hi,

I would like to clarify that UserException is not a macro, it is a class. I had tried two options

Option-1
I commented virtual and inline functions in UserException class
then i got the following error

OMNIORB_DECLARE_USER_EXCEPTION_IN_CORBA(WrongTransaction, _dyn_attr)

error #54-D: too few arguments in macro invocation
OMNIORB_DECLARE_USER_EXCEPTION_IN_CORBA(Bounds, _dyn_attr)
appears in various files like CORBA_NamedValue.h, CORBA_Context.h etc.

I think the error may be in macro expansion i.e arguments of macro may themselves be macro. Any comments for this?

Option-2
with virtual and inline lines without comment
following error appears
error #54-D: too few arguments in macro invocation
virtual ~UserException();
error #279: invalid destructor declaration
virtual ~UserException();
error #79: expected a type specifier
virtual ~UserException();
error #407: a destructor may not have parameters
virtual ~UserException();
error #79: expected a type specifier
virtual ~UserException();
but UserException is class not a macro. I don't know why this is giving error.

Does anyone has idea what is wrong here.

Regards
Binod Pal

On Thu, 09 Sep 2010 06:22:08 +0530 wrote
>2010/9/8 Thomas Lockhart :

>

>> 2. When i am compiling the code for INTEGRITY, i am getting the

>> following errors...

>> "D:toDelincludeomniORB4/CORBA_Exception.h", line 245: warning #76-D:

>> argument to macro is empty virtual ~UserException();

>

> It looks like "virtual" is declared as some kind of goofy macro in

> INTEGRITY. Too bad for you :/



No, I find that rather hard to believe, otherwise you could not code

in C++ under INTEGRITY, which is something we've been doing for many

years now. However, I can believe that UserException is a macro (hint:

so is DataBuffer). I have no idea why anyone thinks it's a good idea

to write macros in CamelCase...



We contemplated (briefly) porting omniORB to INTEGRITY, and I wish you

luck, Binod Pal. INTEGRITY does provide a POSIX wrapper around it's

API, but I would be afraid that the semantics of all the various

functions may not match the true POSIX semantics close enough for a

trouble-free port. But please keep us posted of your progress, I might

be interested in helping you.



Regards,

BN



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20100909/6152aa4a/attachment.htm
Brian Neal
2010-09-09 19:42:46 UTC
Permalink
On Thu, Sep 9, 2010 at 8:29 AM, binod pal <***@rediffmail.com> wrote:

>
> Hi,
>
> I would like to clarify that UserException is not a macro, it is a class. I
> had tried two options



UserException is a macro in INTEGRITY_error.h, at least in the INTEGRITY
that I am using (5.0.11 and 5.0.10).

I suspect this macro is colliding with a class in omniORB (and any other
ORB). In my version of INTEGRITY_error.h they have it wrapped in an #ifdef
like so:

/* Unfortunately, ORBExpress defines a class UserException which
causes */
/* compilation failures, so this macro/API must be disabled. */
#ifndef ORBEXPRESS
# define UserException(TheTask, Type) \
__UserException(TheTask, Type, __FILE__, sizeof(__FILE__), __LINE__)
#endif

You could try #defining ORBEXPRESS or adding another check for omniORB.
BN
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20100909/0a4e596f/attachment.htm
Duncan Grisby
2010-09-10 19:21:26 UTC
Permalink
On Thu, 2010-09-09 at 08:42 -0500, Brian Neal wrote:

> UserException is a macro in INTEGRITY_error.h, at least in the
> INTEGRITY that I am using (5.0.11 and 5.0.10).
>
> I suspect this macro is colliding with a class in omniORB (and any
> other ORB). In my version of INTEGRITY_error.h they have it wrapped in
> an #ifdef like so:

UserException is a class name required by the CORBA standard, so any ORB
is definitely going to have a problem with that macro. The right thing
to do is to disable it with the #ifdef.

Cheers,

Duncan.

--
-- Duncan Grisby --
-- ***@grisby.org --
-- http://www.grisby.org --
binod pal
2010-09-30 19:31:29 UTC
Permalink
Hi,

I had build the omniORB library on INTEGRITY and i tried to run the simple echo example over it(client and server collocated). The application is running but, i am not getting any output. For the debugging purpose i set the traceLevel = 25. Can someone figure out from the output

I/O: omniORB: My addresses are:
I/O: omniORB: Maximum supported GIOP version is 1.2
I/O: omniORB: Native char code sets: ISO-8859-1 UTF-8.
I/O: omniORB: Transmission char code sets: ISO-8859-1(1.2) ISO-8859-1(1.1) ISO-8859-1(1.0) UTF-8(1.2) UTF-8(1.1).
I/O: omniORB: Native wide char code sets: UTF-16.
I/O: omniORB: Transmission wide char code sets: UTF-16(1.2).
I/O: omniORB: Information: the omniDynamic library is not linked.
I/O: omniORB: Current configuration is as follows:
I/O: omniORB: DefaultInitRef (file) =
I/O: omniORB: DefaultInitRef (args) =
I/O: omniORB: abortOnInternalError = 0
I/O: omniORB: abortOnNativeException = 0
I/O: omniORB: acceptBiDirectionalGIOP = 0
I/O: omniORB: acceptMisalignedTcIndirections = 0
I/O: omniORB: bootstrapAgentHostname =
I/O: omniORB: bootstrapAgentPort = 900
I/O: omniORB: clientCallTimeOutPeriod = 0
I/O: omniORB: clientConnectTimeOutPeriod = 0
I/O: omniORB: clientTransportRule = * unix,ssl,tcp
I/O: omniORB: configFile =
I/O: omniORB: connectionWatchImmediate = 0
I/O: omniORB: connectionWatchPeriod = 50000
I/O: omniORB: copyValuesInLocalCalls = 1
I/O: omniORB: diiThrowsSysExceptions = 0
I/O: omniORB: dumpConfiguration = 0
I/O: omniORB: endPoint = giop:tcp::
I/O: omniORB: endPointPublish = addr
I/O: omniORB: giopMaxMsgSize = 2097152
I/O: omniORB: giopTargetAddressMode = KeyAddr
I/O: omniORB: id = omniORB4
I/O: omniORB: idleThreadTimeout = 10
I/O: omniORB: immediateAddressSwitch = 0
I/O: omniORB: inConScanPeriod = 180
I/O: omniORB: lcdMode = 0
I/O: omniORB: maxGIOPConnectionPerServer = 5
I/O: omniORB: maxGIOPVersion = 1.2
I/O: omniORB: maxInterleavedCallsPerConnection = 5
I/O: omniORB: maxServerThreadPerConnection = 100
I/O: omniORB: maxServerThreadPoolSize = 100
I/O: omniORB: maxSocketRecv = 2147483647
I/O: omniORB: maxSocketSend = 2147483647
I/O: omniORB: nativeCharCodeSet = ISO-8859-1
I/O: omniORB: nativeWCharCodeSet = UTF-16
I/O: omniORB: objectTableSize = 0
I/O: omniORB: offerBiDirectionalGIOP = 0
I/O: omniORB: oneCallPerConnection = 1
I/O: omniORB: outConScanPeriod = 120
I/O: omniORB: poaHoldRequestTimeout = 0
I/O: omniORB: poaUniquePersistentSystemIds = 1
I/O: omniORB: principal = [Null]
I/O: omniORB: resetTimeOutOnRetries = 0
I/O: omniORB: scanGranularity = 5
I/O: omniORB: serverCallTimeOutPeriod = 0
I/O: omniORB: serverTransportRule = * unix,ssl,tcp
I/O: omniORB: socketSendBuffer = -1
I/O: omniORB: strictIIOP = 1
I/O: omniORB: supportBootstrapAgent = 0
I/O: omniORB: supportCurrent = 1
I/O: omniORB: supportPerThreadTimeOut = 0
I/O: omniORB: tcAliasExpand = 0
I/O: omniORB: threadPerConnectionLowerLimit = 9000
I/O: omniORB: threadPerConnectionPolicy = 1
I/O: omniORB: threadPerConnectionUpperLimit = 10000
I/O: omniORB: threadPoolWatchConnection = 1
I/O: omniORB: traceExceptions = 1
I/O: omniORB: traceFile = [stderr]
I/O: omniORB: traceInvocationReturns = 0
I/O: omniORB: traceInvocations = 0
I/O: omniORB: traceLevel = 25
I/O: omniORB: traceThreadId = 0
I/O: omniORB: traceTime = 0
I/O: omniORB: unixTransportDirectory = /tmp/omni-%u
I/O: omniORB: unixTransportPermission = 777
I/O: omniORB: useTypeCodeIndirections = 1
I/O: omniORB: validateUTF8 = 0
I/O: omniORB: verifyObjectExistsAndType = 1
I/O: omniORB: Initialising incoming endpoints.
I/O: omniORB: Instantiate endpoint 'giop:tcp::0'
I/O: omniORB: Unable to create pipe for SocketCollection.
I/O: omniORB: Bind to address 0.0.0.0 ephemeral port.
I/O: omniORB: Failed to bind to address 0.0.0.0 ephemeral port.
I/O: omniORB: Error: Unable to create an endpoint of this description: giop:tcp::0
I/O: omniORB: throw INITIALIZE from objectAdapter.cc:436 (NO,INITIALIZE_TransportError)
I/O: Caught CORBA::INITIALIZE
I/O: omniORB: ORB not destroyed; no final clean-up.

that what is going wrong here.

Regards
Binod Pal


On Thu, 09 Sep 2010 19:11:50 +0530 wrote
>

On Thu, Sep 9, 2010 at 8:29 AM, binod pal wrote:


Hi,

I would like to clarify that UserException is not a macro, it is a class. I had tried two options

?
?
UserException is a macro in INTEGRITY_error.h, at least in the INTEGRITY that I am using (5.0.11 and 5.0.10).
?
I suspect this macro is colliding with a class in omniORB (and any other ORB). In my version of INTEGRITY_error.h they have it wrapped in an #ifdef like so:
?
/* Unfortunately, ORBExpress defines a class UserException which causes?????? */
/* compilation failures, so this macro/API must be disabled.??????? */
#ifndef ORBEXPRESS
# define UserException(TheTask, Type) \

?__UserException(TheTask, Type, __FILE__, sizeof(__FILE__), __LINE__)
#endif
?
You could try #defining ORBEXPRESS or adding another check for omniORB.

BN



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20100930/d699134a/attachment.htm
VEYSSIERE Nicolas
2010-09-30 19:36:03 UTC
Permalink
Skipped content of type multipart/alternative-------------- next part --------------
A non-text attachment was scrubbed...
Name: nicolas_veyssiere.vcf
Type: text/x-vcard
Size: 392 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20100930/639e2d6c/nicolas_veyssiere-0001.vcf
binod pal
2010-10-12 16:48:38 UTC
Permalink
Hi,

I am getting this error

I/O: omniORB: Unable to create pipe for SocketCollection.

Does someone has any idea of what is going wrong here.

Regards
Binod Pal




-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20101012/fa3072da/attachment.htm
Loading...