Re: [HACKERS] dynamic libraries

From: "Billy G(dot) Allie" <Bill(dot)Allie(at)mug(dot)org>
To: "Matthew N(dot) Dodd" <winter(at)jurai(dot)net>
Cc: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>, lockhart(at)alumni(dot)caltech(dot)edu, hackers(at)postgreSQL(dot)org
Subject: Re: [HACKERS] dynamic libraries
Date: 1998-10-13 06:03:09
Message-ID: 199810130603.CAA07521@bgalli.mug.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On Mon, 12 Oct 1998, Bruce Momjian wrote:
> > Just to comment. If we use -R or -rpath, people need to use that for
> > _every_ application that uses libpq, etc. That seems like a pain to me.
>
> The alternative is more painful. If PostgreSQL were the only application
> package installed on a system your LD_LIBRARY_PATH would be really short.
>
> > B1ecause people have not had problems in the past using ld.so.conf, and I
> > can see them having problems with -R or -rpath, I would hesistate to
> > change it, though I can see why some installations would prefer the
> > -R/-rpath.
>
> I'll continue to ignore the fact that some ELF systems do have a
> bastardized runtime linker and use ld.so.conf when I state that ELF
> systems have no ld.so.conf, so its LD_LIBRARY_PATH or -R/--rpath (I looked
> up the flag finally.)
>
> ld.so.conf or ldconfig with various directories on the command line is
> necessary for a non-ELF system; this is the way you do things. ELF fixes
> this (the problem is when you have a zillion different directories to
> search for libraries in and it starts taking a long time to start
> dynamically linked programs on a loaded system. I'll assume everyoen sees
> the security problems with a system wide library path.) So for a.out or
> other non-ELF systems, I'm proposing no change; do whatever works. For
> ELF, the specification supports compiled in library search paths; lets use
> them. Asking the system administrator to keep track of another library
> path is most assuming. -R/--rpath also makes it simpler for non-root
> users to install PostgreSQL.

Matthew:

I am running UnixWare 7.01, a System V Release 4 based system. It is an ELF based system with roots back to the first ELF based systems. It's linker does not have a -R or --rpath option. To have UnixWare's ld command embed the location of the shared libraries into the executable, you set the LD_RUN_PATH to the path(s) containing the libraries. From the syntax of the --rpath option, it is apparent you are running the GNU C compiler with ELF support (an upstart, late commer in the world of ELF support). You should know that the one true path of ELF support is to use the LD_RUN_PATH environment variable, not -R/--rpath :-> I find it much easier to set LD_RUN_PATH then to have configure figure out that the a system is running GNU C with ELF support and for that system only, use -R/--rpath. Check out your ld command. If it supports LD_LIBRARY_PATH, it probably supprorts LD_RUN_PATH. If it does, then use it to embed the library locations into your executable.
--
____ | Billy G. Allie | Domain....: Bill(dot)Allie(at)mug(dot)org
| /| | 7436 Hartwell | Compuserve: 76337,2061
|-/-|----- | Dearborn, MI 48126| MSN.......: B_G_Allie(at)email(dot)msn(dot)com
|/ |LLIE | (313) 582-1540 |

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Billy G. Allie 1998-10-13 06:21:41 Re: [HACKERS] TCL/TK library glitches in configure.in
Previous Message Peter T Mount 1998-10-13 05:51:39 Sequences and jdbc 6.3.2 (fwd)