Discussion:
[omniORB] Need your help
Kovex
2010-10-11 16:13:34 UTC
Permalink
Hallo!
I need your help. I try to compile some IDL for c++ project and receive
next message:

c:\Projects\VS7.NET\TrapSender\idl>omniIDL -bcxx -Wbh=.h -Wbs=.cpp
Subscription.idl
Traceback (innermost last):
File "<string>", line 33, in ?
File "C:\omniORB41\vc8\lib\python\omniidl\main.py", line 505, in main
bemodules[i].run(tree, backends_args[i])
File "C:\omniORB41\vc8\lib\python\omniidl_be\cxx\__init__.py", line
321, in run skel.run(tree)
File "C:\omniORB41\vc8\lib\python\omniidl_be\cxx\skel\__init__.py",
line 157, in run monolithic(stream, tree)
File "C:\omniORB41\vc8\lib\python\omniidl_be\cxx\skel\__init__.py",
line 123, in monolithic tree.accept(skel)
File "C:\omniORB41\vc8\lib\python\omniidl\idlast.py", line 204, in
accept def accept(self, visitor): visitor.visitAST(self)
File "C:\omniORB41\vc8\lib\python\omniidl_be\cxx\skel\main.py", line
291, in visitAST n.accept(self)
File "C:\omniORB41\vc8\lib\python\omniidl\idlast.py", line 336, in
accept def accept(self, visitor): visitor.visitModule(self)
File "C:\omniORB41\vc8\lib\python\omniidl_be\cxx\skel\main.py", line
298, in visitModule n.accept(self)
File "C:\omniORB41\vc8\lib\python\omniidl\idlast.py", line 382, in
accept def accept(self, visitor): visitor.visitInterface(self)
File "C:\omniORB41\vc8\lib\python\omniidl_be\cxx\skel\main.py", line
367, in visitInterface if inherits_name.needFlatName(environment):
File "C:\omniORB41\vc8\lib\python\omniidl_be\cxx\id.py" , line 185,
in needFlatName return len(relName) > 1
TypeError: len() of unsized object

What wrong? Can you help me please? This IDL normally compiled for
Pyton. All using IDL is enclosure to this message.
Thank you for help!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: idl.zip
Type: application/octet-stream
Size: 3311 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20101011/0b284658/idl.obj
Urban Purkat
2010-10-11 19:08:15 UTC
Permalink
What omniORB version do you use?
?Hallo!
I need your help. I try to compile some IDL for c++ project and receive next
c:\Projects\VS7.NET\TrapSender\idl>omniIDL -bcxx -Wbh=.h -Wbs=.cpp
Subscription.idl
?File "<string>", line 33, in ?
?File "C:\omniORB41\vc8\lib\python\omniidl\main.py", line 505, in main
? ?bemodules[i].run(tree, backends_args[i])
?File "C:\omniORB41\vc8\lib\python\omniidl_be\cxx\__init__.py", line 321, in
run skel.run(tree)
?File "C:\omniORB41\vc8\lib\python\omniidl_be\cxx\skel\__init__.py", line
157, in run monolithic(stream, tree)
?File "C:\omniORB41\vc8\lib\python\omniidl_be\cxx\skel\__init__.py", line
123, in monolithic tree.accept(skel)
?File "C:\omniORB41\vc8\lib\python\omniidl\idlast.py", line 204, in accept
def accept(self, visitor): visitor.visitAST(self)
?File "C:\omniORB41\vc8\lib\python\omniidl_be\cxx\skel\main.py", line 291,
in visitAST n.accept(self)
?File "C:\omniORB41\vc8\lib\python\omniidl\idlast.py", line 336, in accept
def accept(self, visitor): visitor.visitModule(self)
?File "C:\omniORB41\vc8\lib\python\omniidl_be\cxx\skel\main.py", line 298,
in visitModule n.accept(self)
?File "C:\omniORB41\vc8\lib\python\omniidl\idlast.py", line 382, in accept
def accept(self, visitor): visitor.visitInterface(self)
?File "C:\omniORB41\vc8\lib\python\omniidl_be\cxx\skel\main.py", line 367,
?File "C:\omniORB41\vc8\lib\python\omniidl_be\cxx\id.py" , line 185, in
needFlatName return len(relName) > 1
TypeError: len() of unsized object
What wrong? Can you help me please? This IDL normally compiled for Pyton.
All using IDL is enclosure to this message.
Thank you for help!
_______________________________________________
omniORB-list mailing list
http://www.omniorb-support.com/mailman/listinfo/omniorb-list
Duncan Grisby
2010-10-12 03:35:07 UTC
Permalink
Post by Kovex
c:\Projects\VS7.NET\TrapSender\idl>omniIDL -bcxx -Wbh=.h -Wbs=.cpp
Subscription.idl
[...]
Post by Kovex
File "C:\omniORB41\vc8\lib\python\omniidl_be\cxx\id.py" , line 185,
in needFlatName return len(relName) > 1
TypeError: len() of unsized object
It's a bug in the omniidl C++ backend. It's triggered by the fact that
you have an operation with the same name as an enclosing module (albeit
differing in case). That causes slightly different behaviour to most
cases, and there was a bug in that code path. The attached patch fixes
it. I'll check the fix in to svn.

Cheers,

Duncan.
--
-- Duncan Grisby --
-- ***@grisby.org --
-- http://www.grisby.org --

-------------- next part --------------
A non-text attachment was scrubbed...
Name: omniidl.patch
Type: text/x-patch
Size: 708 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20101011/0c08b477/omniidl.bin
Loading...