[omniORB] Problems compiling omni4_0_develop

Sai-Lai Lo S.Lo@uk.research.att.com
25 Jan 2001 13:59:04 +0000


The omni4_0_develop branch should now compile. Apart from some missing
GNUmakefiles, I have to make some changes to the cxx backend to fix the
error you've seen. Its interesting that the backend problem only occurs
when omniidl is given a relative path name as the -p option.

I suggest you do a fresh cvs checkout. I'm not 100% sure a cvs update will
pick up the changes in directory names etc.

Sai-Lai

>>>>> Marc Ordinas i Llopis writes:

> Hi all,
> I'm sending this message here as I don't know where else I can get help on
> this. I'm trying to compile omni4_0_develop as I wanted to try the new
> codeset features, but I get lots of problems.

> My development system is RedHat 7 with the last compiler (which works
> compiling omniORB 3.0.2) and python 2.0 on an Athlon.

> Just out of CVS, after editing config.mk and i586_linux_2.0_glibc2.1.mk, I
> try make export in src/. It all goes well until it gets to the omniORB2
> directory, where it complains it does not have a 'dir.mk' file. I change
> dir.mk in src/lib to set the subdirs to 'omnithread' and 'omniORB' instead
> of 'omniORB2', as per the update.log I think omniORB2 is no longer used.

> Then it complains that omniORB/ does not have a GNUmakefile, so I copy all
> the GNUmakefiles from the omniORB2/ dir tree. That seems to work just until
> it tries to generate the stubs for some files, when python fails (this also
> happened with python 1.5.2, by the way). It says:

> make[2]: Entering directory `/home/marc/codi/omni/src/lib/omniORB'
> ../../../bin/i586_linux_2.0_glibc2.1/omniidl -bcxx -Wba
> -p../../../src/lib/omniORB -Wbdebug -nf -WbF -ComniORB4
> ../../../idl/corbaidl.idl
> omniidl: fatalError occurred, in debug mode.
>>> An internal exception was caught
> Stack:
> -------------------------
>   File "../../../bin/i586_linux_2.0_glibc2.1/omniidlrun.py", line 97, in ?
>    omniidl.main.main()
>   File "./main.py", line 422, in main
>   File "../../../src/lib/omniORB/omniidl_be/cxx/__init__.py", line 276, in
> run
>    Make stubs for the Interface Repository appear in the CORBA module"""
>   File "../../../src/lib/omniORB/omniidl_be/cxx/util.py", line 152, in
> fatalError
> Exception:
> -------------------------
> Traceback (most recent call last):
>   File "../../../src/lib/omniORB/omniidl_be/cxx/__init__.py", line 248, in
> run
>    """cdrUnmarshal(TypeCode, string) -> data
>   File
> "/home/marc/codi/omni/src/lib/omniORB/omniidl_be/cxx/header/__init__.py",
> line 280, in run
>    defs_fragment(defs_stream, tree)
>   File
> "/home/marc/codi/omni/src/lib/omniORB/omniidl_be/cxx/header/__init__.py",
> line 140, in defs_fragment
>    import omniidl_be.cxx.header.defs
> ImportError: No module named defs
> make[2]: *** [omniORB4/corbaidl_defs.hh] Error 1
> make[2]: Leaving directory `/home/marc/codi/omni/src/lib/omniORB'
> make[1]: *** [export] Error 1

> I've tried anything I've been able to think of to get it to include defs,
> but even as I can import it in an interactive session, I'm unable to make
> it work.

> And by the way, I think there's an error in src/lib/omniORB/dir.mk, some
> files are not prepended the directory omniORB4. Here's the diff :

> Index: dir.mk
> ===================================================================
> RCS file: /cvsroot/omni/src/lib/omniORB/Attic/dir.mk,v
> retrieving revision 1.7.2.5
> diff -r1.7.2.5 dir.mk
> 66c66
> < omniORB4/corbaidl_defs.hh corbaidl_operators.hh corbaidl_poa.hh:
> corbaidl.idl
> ---
>> omniORB4/corbaidl_defs.hh omniORB4/corbaidl_operators.hh
> omniORB4/corbaidl_poa.hh: corbaidl.idl

> Thanks for any help,

> Marc Ordinas i Llopis,
> factoriaX





-- 
Sai-Lai Lo                                   S.Lo@uk.research.att.com
AT&T Laboratories Cambridge           WWW:   http://www.uk.research.att.com 
24a Trumpington Street                Tel:   +44 1223 343000
Cambridge CB2 1QA                     Fax:   +44 1223 313542
ENGLAND