-=| Damyan Ivanov, Sun, Dec 13, 2009 at 11:48:24PM +0200 |=- > -=| Pierre Yager, Tue, Apr 14, 2009 at 01:46:33PM +0000 |=- > > Package: firebird2.1-common > > Version: 2.1.2.18118-release.ds1-1~mine.0 > > Severity: normal > > > > I have a home made UDF in Pascal/Delphi language compiled with FPC > > (FreePascal Compiler) that can't run "as this" with default firebird 2.1 > > installation because it requires libib_utils.so which is installed in > > /usr/lib/firebird/2.1/lib and cannot be found at runtime. > > > > # ldd libnepudf.so > > linux-gate.so.1 => (0xb7f3f000) > > libib_util.so => not found > > libdl.so.2 => /lib/libdl.so.2 (0xb7e9c000) > > libc.so.6 => /lib/libc.so.6 (0xb7d5e000) > > /lib/ld-linux.so.2 (0x80000000) > > > > Workarounds : > > - symlink /usr/lib/firebird/2.1/lib/libib_utils.so to /usr/lib, or > > Bad, because once you upgrade firebird this link points to > a non-existing file > > > - add /usr/lib/firebird/2.1/lib to /etc/ld.conf.d/firebird and run ldconfig > > same here, upgrade and you lose the path to libib_udf.so > > I was wondering, why an UDF would want to link with libib_util.so > directly? This library is to be loaded by the server itself, AFAUI. > > Alternatively, UDFs should be linked using rpath set to > /usr/lib/firebird/2.1/lib (or whatever FB version the UDF is intented > to). > > > Would the above help remedy the situation? I was working on a patch > that would add a proper soname to libib_util, which would allow > placing it into a separate package and in /usr/lib (for 2.5), but the > impact of the patch is rather large and I am wondering if this is > really the right way.
Actualy, reality turned differently. The patch was becoming rather invasive and therefore I backed up a little. The current firebrd2.5 packages provide /usr/lib/libib_util.so in the libib-util package. That can be used both for linking against and at run-time. Now the only question remains if this can be used on 2.1 and 2.0, similarly to libfbclient2. It exports only two functions -- ib_util_init and ib_util_malloc. I guess the semantics are the same, but am not sure of the internals. I'll ask firebird-devel. -- dam
signature.asc
Description: Digital signature