Phil Dawes wrote
> Hi Martin,
> Martin Schulze writes:
>
> > Hi !
> > There are two or three little bugs in the make system of orbitcpp:
> > - The makefiles in the directories test/.../generated depend on the
> > makro ORBIT_IDL that isn`t defined anywhere.
> It`s generated by the configure script. See AM_PATH_ORBIT() macro in
> ORBit.m4.
Ah, I see! It now works (see below).
> > - The makefiles in the directories test/... define the makro
> > ORBIT_NAME_LIBS but try to make use of the makro
> > ORBIT_LIBS that hasn`t been defined.
> Again, it`s generated by the above macro. (which in turn calls
> `orbit-config --libs client`)
Hmm, I had some problems with autogen.sh. After getting a brand new
version of libtool I still have to append the contents of a file
libtool.m4 to e.g. acinclude.m4 in the orbitcpp-path, but well ...
ORBIT_LIBS indeed is now defined correctly.
> > - The makefile services/name/Makefile directly uses the command
> > orbit-idl not caring about the "--wtih-orbit-exec-prefix" - flag one
> > can give to configure.
> Yep - that`s a bug. It should use the ORBIT_IDL macro. Thanks for finding
> this. (fixed in CVS now!)
Ok.
> > - Missing feature: a "--with-orbit-include-prefix" - flag !
> > After correcting those, orbitcpp and the examples make and install
> > as expected but I can`t run the examples!
> > I installed the orbit-snapshot and the orbitcpp-CVS-version in the
> > directory "/opt/orbit" so that there is no interference with my
> > running gnome-system and added "/opt/orbit/lib" to "/etc/ld.so.conf"
> > (and run ldoncfig).
> You shouldn`t do this - instead, use the LD_LIBRARY_PATH to identify the
> /opt/orbit/lib directory. The point is that you want your code to use
> this library; the dynamic linker will link with the first lib it finds -
> if you just append /opt/orbit/lib to the end of ld.so.conf it will find
> your original lib first.
You're so right - I moved the entry in ld.so.conf to the top of the file
and it had no effect. So back to LD_LIBRARY_PATH ...
> > When I type "server" in the directory "test/string",
> > the program quits and gives the following error message:
> >
> > server: error in loading shared libraries: server: undefined symbol:
> > ORBit_classinfo_register
> >
> > Did the sources link to the old version of orbit?
> That sounds likely. You need to do the following:
> 1) Set your PATH and LD_LIBRARY_PATH:
> export PATH=/opt/orbit/bin:$PATH
> export LD_LIBRARY_PATH=/opt/orbit/lib:$LD_LIBRARY_PATH
> 2) Run autogen.sh --prefix=/opt/orbitcpp This should now all work.
> (Setting the PATH to /opt/orbit/bin should enable configure to find the
> correct orbit-config, which should point the makefiles at the right
> include and lib directories.)
>
> Hope this helps,
> Phil
Thank's for your help - I hope installing two different versions
of the same library will get more convinient some day ...
You did a great job an CORBA::Any by the way. I'm working on
CORBA-support for libsigc++ - should soon be finisched.
Martin.
|