[freetds] unit tests errors

Peter C. Norton spacey-freetds.org at ssr.com
Tue Oct 19 11:29:49 EDT 2010


Your gcc installation isn't putting the libgcc_s.so.1 in the dynamic linker's load path:

> ld.so.1: t0001: fatal: libgcc_s.so.1: open failed: No such file or directory

This always means that you need to either:

1) Put the shared library somewhere that the dynamic linker (ld.so.1
on Solaris) knows about (e.g. /lib, /usr/lib).  Man ld.so.1 and crle
on your solaris box to find out more.  You can see the current ld.so.1
lookup path using crle:

$ crle

Default configuration file (/var/ld/ld.config) not found
  Default Library Path (ELF):   /lib:/usr/lib  (system default)
  Trusted Directories (ELF):    /lib/secure:/usr/lib/secure  (system default)


2) Add the place where the gcc library lives to the configuration
file.  Only do this if you will be building and maintaining a lot of
things linked against libgcc_s.so.1 (e.g. a lot of things being built
with gcc).  This is problematic if you end up with >1 versin of gcc installed.

3) Add the -R</path/to/gcc/lib/dir> and -L</path/to/gcc/lib/dir> to
your LDFLAGS when running configure, make, and make check so that the
various tds libraries will have that in their runtime linker path.
You can see this with gnu's objdump -x <library file name>.  This is
often the preferred solution.

-Peter



More information about the FreeTDS mailing list