[omniORB] ANNOUNCE: omniORB 4.1 testing

Piet van Oostrum piet at cs.uu.nl
Sat Mar 12 12:24:25 GMT 2005


Hello,

Some new information about installing the alpha versions of omniORB and
omniORBpy on MacOSX.

I `solved' the problem of the Python library directory by making a symlink
from /usr/local/lib/python2.3 to
/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3 so
that the installed python files go to the proper place. I don't think this
is an ideal solution but it works for the time being. I think the problem
is caused by aclocal.m4:

$PYTHON -c "from distutils import sysconfig; print
sysconfig.get_python_lib(0,0,prefix='$PYTHON_PREFIX')"

I think it should use prefix='$PYTHON_PREFIX' only if the user explicitely
does specify a python prefix, and prefix=None otherwise. But this is
generated by aclocal, I guess.

The second problem that I encountered was that omniidl complained about not
supporting valuetypes.

I reinstalled omniORM 4.1 and omniORBpy 3 with prefix=/opt/local, and while
installing omniORBpy I set the PATH, DYLIB_LIBRARY_PATH and PYTHONPATH
accordingly. The installation went smooth.

Next I didn't want to have to specify PATH etc always so I decided to
reinstall them in /usr/local. I don't use omniORB for production, only for
teaching and then only with python, so I can live with the risks.

I installed omniORB first, and the omniORBpy, and with the latter got the
error about valuetypes again:

/usr/local/bin/omniidl -p../../../omniidl_be \
 -I/usr/local/share/idl/omniORB/COS  -I/usr/local/share/idl/omniORB  -I/usr/local/idl/omniORB  -I/usr/local/idl/omniORB/COS  -I../../../idl  -I../../../idl/COS  -I/usr/local/share/idl/omniORB  -I/usr/local/share/idl/omniORB/COS -bpython /usr/local/share/idl/omniORB/COS/CosCollection.idl
corbaidl.idl:15: Warning: Forward declared interface 'CORBA::IDLType' was never fully defined
omniidl: 1 warning.
boxes.idl:12: omniORBpy does not support valuetype
make[2]: *** [CosCollection_idl.py] Error 1
make[1]: *** [all] Error 1
make: *** [all] Error 1
build> which omniidl
/usr/local/bin/omniidl

omniidl is the newly installed 4.1 version!
Apparently omniidl picks up some python files from the previous
installation of omniORBpy, despite of the -p../../../omniidl_be. I think
the standard python path prevails over the -p option. I still had the
/opt/local installation around, so I set
PYTHONPATH=/opt/local/python2.3/site-packages and rerun the make command.
This worked.

One final thing: As mentioned several times in the past on this list, on
MACOSX omniORBpy doesn't work properly if dynamically linked with the omni
libraries. This can be solved by moving these out of the way before
building omniORBpy (actually I built it first, the moved the dylibs and
removed the generated .so's in omniORBpy and build again). Would it be
possible to change the make commands for the .so's on MacOSX to not use
-lomnixxx but refer to the libomnixxx.a directly?
-- 
Piet van Oostrum <piet at cs.uu.nl>
URL: http://www.cs.uu.nl/~piet [PGP]
Private email: piet at vanoostrum.org



More information about the omniORB-list mailing list