Skip to Content.
Sympa Menu

freetds - Re: [freetds] libraries linked with a static path

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "James K. Lowden" <jklowden AT freetds.org>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] libraries linked with a static path
  • Date: Tue, 31 Jan 2006 00:23:07 -0500

Wolfgang Gruen wrote:
> I am building the libraries on HP with unixODBC and two libraries get
> added as libraries with a static path to the library libtdsodbc.sl in
> the ODBC component. When the loader tries to resolved the libraries, it
> will ignore the environment variable SHLIB_PATH, since the library is
> added with a static path.
>
> Does somebody know why this is happening? I see it being added with the
>
> -l parameter in the Makefile and couldn't figure out where we add the
> entire path.
...
> gcc -shared -fPIC -Wl,+h -Wl,libtdsodbc.sl.0 -Wl,+b
> -Wl,/home/i3build/freetds/lib -o .libs/libtdsodbc.sl.0.0 .libs/odbc.o
> .libs/connectparams XXXXX
> -L/home/i3build/unixODBC/lib /home/i3build/unixODBC/lib/libodbcinst.sl
> /usr/local/lib/libiconv.sl -lc -lc -Wl,-Bsymbolic

I can sort of almost tell you? I don't know anything about HP/UX.

gcc passes options that follow '-Wl' to the linker, but I suspect you're
not using the GNU linker because I don't recognize "-Wl,+h ... -Wl,+b" as
GNU linker options. I would guess, though, that
"-Wl,/home/i3build/freetds/" is passing the unwanted path information to
the linker, which installs it in the ELF header (assuming HP/UX uses ELF
binaries).

If you have GNU binutils installed and use ELF binaries, you can use
'readelf -d' to look at the rpath information. I think this is what you
mean by "static path".

HTH.

--jkl




Archive powered by MHonArc 2.6.24.

Top of Page