(Illustration by Gaich Muramatsu)
On Fri, Sep 22, 2000 at 06:22:06PM +0900, Stephen J. Turnbull wrote: > I realized a couple of days ago when I decided to finally update to > coda 5.3.8 that I've actually become somewhat dependent on Coda > working. So I decided to make a couple of changes in the way I've > been building coda. > > First, I decided to use the --srcdir option to configure and build in > a separate directory. This seems to be working, except for some > messages from configure about missing Makefile.ins; does anybody know > a reason why it might not? I normally build outside of the tree as follows, tar -xvzf coda-5.3.8.tgz mkdir obj-5.3.8 cd obj-5.3.8 `pwd`/../coda-5.3.8/configure make This works like a charm for me. > Second, rather than install Coda directly into /usr/local (overwriting > the current, working, version), I decided that first I would test the > installation by configuring with --prefix=/usr/local/coda-test. This > does not work correctly. The problem is that the build picks up the > includes and the libraries in /usr/local/{include,lib} for some > reason, while those in /usr/local/coda-test/{include,lib} are ignored. The compiler likes to pick things out of the default path. So librpc2 and librvm are probably linked against the wrong liblwp as well. I've been pretty consistent in bumping the version numbers of the libraries so that a make install in lwp/rpc2/rvm will _not_ clobber previously installed libraries when the API has changed. This is my /usr/lib: /usr/lib/liblwp.so.1.0.0 <--- First release, I can delete this. /usr/lib/liblwp.so.1.0.1 <--- compatible API, only fixes. /usr/lib/liblwp.so.2.0.0 <--- new API, probably also has fixes. /usr/lib/liblwp.so.1 -> liblwp.so.1.0.1 <- API v1 /usr/lib/liblwp.so.2 -> liblwp.so.2.0.0 <- API v2 /usr/lib/liblwp.so -> liblwp.so.2 <- link against API v2 So any new programs will be linked against liblwp.so.2, but old binaries linked against liblwp.so.1 will still work. > Fortunately, this generated a compile error because of a change in a > header, so it was obvious. CFLAGS=-I/usr/local/coda-test/include and > LDFLAGS=/usr/local/coda-test/lib in the configuration environment > seems to helps the compile error but the link still seems to be wrong. > Using ldd on (say) the new venus shows it finding > /usr/local/lib/liblwp.so.1 but not /usr/local/coda-test/lib/liblwp.so.2. rpc2 and rvm are probably linked against lwp.so.1. The shared library search path (/etc/ld.so.conf) doesn't list /usr/local/coda-test/lib. I saw from your followup mail that you found LD_LIBRARY_PATH. There should also be commandline options to configure (for coda, rpc2 and rvm), --with-lwp=/usr/local/coda-test --with-rvm=/usr/local/coda-test --with-rpc2=/usr/local/coda-test Although they all do the same thing, CFLAGS=-I${prefix}/include, CXXFLAGS=-I${prefix}/include, LDFLAGS=-L${prefix}/libs. JanReceived on 2000-09-22 12:03:31