From: Paul B. <pb...@ib...> - 2005-04-22 08:30:36
|
> -----Original Message----- > From: fir...@li... > [mailto:fir...@li...]On Behalf Of Ray > Holme > Sent: 21 April 2005 21:31 > To: fir...@li... > Subject: [Firebird-devel] Solaris and classic > > > I have SS 1.5.2 working on Solaris 9 and after the comments about > performance, wanted to try classic to see if it makes this old box go > faster. > The build was a little easier and much quicker (no server to build - no > surprise). Since I was using SS and it worked - I simply renamed the > /opt/firebird/bin and .../lib to bin_ss and lib_ss resp. Then I put the CS > build binaries into bin_cs and libraries into lib_cs respectively (more > libraries in classic - yes - more to link to /usr/lib - OK). This way I > can symbolic link to bin and lib and try things out without a lot of pain. > This > plus a change to /etc/inetd.conf - (comment out, or uncomment a line - > and yes I made the daemon owner firebird - thanks Alex) and I can bring SS > down to try CS. > > Sooooo - I tried CS and got core dumps from gsec, gstat and isql (when I > try to connect to a DB). Unless anyone knows some quick thing to try - I > guess I will have to wait till Vulcan. I was a little surprised as classic > should have been easier (so I thought - except of course you have to build > fb_lock_mgr as it is not part of the default make). I was looking forward > to faster builds of databases. > > Back to SS - at least it works and is ain't Interbase. > > Any quick ideas????? From my notes on HPUX... 10. Additional.... a, If you try and run any Firebird executable e.g. gsec, isql etc on HPUX you will get a core dump with the following error dld.sl can't open shared library ../gen/firebird/lib/libfbembed.sl.1 No such file or directory. I'm open to suggestions on this one. I could use SHLIB_PATH for running firebird, but this would have to be set for everybody who uses it at runtime. or we can try and build the "proper" location of libfbembed.sl.1 into the executable... a chatr on any of the Firebird executables in the bin directory shows: shared executable shared library dynamic path search: SHLIB_PATH disabled second embedded path disabled first Not Defined shared library list: dynamic ../gen/firebird/lib/libfbembed.sl.1 dynamic /usr/local/lib/libstdc++.sl dynamic /usr/lib/libxcurses.1 dynamic /usr/lib/libm.2 dynamic /usr/lib/libc.2 shared library binding: deferred It seems the HPUX linker (LD) binds the exact path of the library into the executable when it links. Its possible that use of the GNU libtoolforlink may cure the problem, or that I can do some fancy work in configure.in to handle it (the problem is seen elsewhere in Open Source land). However the simplest solution seems to be: 1. Build Firebird. 2. Install Firebird (so all the libraries are now in the right place via links) 3. Then change make.defaults so that FBCLIENT_LINK = -L$(LIB) -lfbclient FBEMBED_LINK = -L(SLIB) -lfbembded becomes FBCLIENT_LINK = -lfbclient FBEMBED_LINK = - -lfbembded so that libfbembed.sl.1 is picked up from /usr/lib and reflected as such by chatr. This effectively means building Firebird twice, because for the boot build to work under 1.5 the above libraries have to be found in the boot build path for the build to complete sucessfully. This explain why the best way to build Firebird under 1.0x was to have a running version of Firebird installed on the system. That way the build picks up the existing library paths for the binaries. This is not a problem on Linux :-). If anybody has any better suggestions on doing this. It would be appreciated if you would let me know. Paul |