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.
> - 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`)
> - 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!)
> - 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.
> 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
|