Re: [orbitcpp-list] minor bug in the make system
Status: Beta
Brought to you by:
philipd
From: Phil D. <ph...@us...> - 2000-11-16 15:04:59
|
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 |