[orbitcpp-list] Re: minor bug in the make system
Status: Beta
Brought to you by:
philipd
From: <MHL...@t-...> - 2000-11-16 20:23:41
|
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. |