pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Matthew Hagerty <matthew@venux.net>
To: pgsql-interfaces@postgreSQL.org
Subject: Using libpq without LD_LIBRARY_PATH
Date: Fri, 05 Feb 1999 13:13:14 -0500
Message-ID: <4.1.19990205125048.00995ac0@mail.venux.net> (raw)

Greetings,

I am trying to get a simple C program to compile and run without having to
define the LD_LIBRARY_PATH environment variable.  First I tried this:

gcc -o test -I/usr/local/pgsql/include -L/usr/local/pgsql/lib -lpq test.c

With LD_LIBRARY_PATH defined the program runs fine, without LD_LIBRARY_PATH
defined I get this error:

ld.so failed: Can't find shared library "libpq.so.2.0"

So, I changed my compiler like to this:

gcc -o test -I/usr/local/pgsql/include test.c /usr/local/pgsql/lib/libpq.a

This produced a linker error like this:

fe-auth.o: Undefined symbol `_crypt' referenced from text segment
*** Error code 1

So, I added -lcrypt to the whole mess, like this:

gcc -o test -I/usr/local/pgsql/include -lcrypt test.c
/usr/local/pgsql/lib/libpq.a

Then I get the following warning:

ld: symbol __GLOBAL_OFFSET_TABLE_ remains undefined

Where does all this stop?  Can I static link with libpq?  If so, how is it
done?  As a last ditch effort I added symbolic links in my /usr/local/lib
directory to libpq.a, libpq.so and libpq.so.2, and compiled like this:

gcc -o test -I/usr/local/pgsql/include -lpq test.c

This compiled okay, but when I run the program I get this warning:

/usr/libexec/ld.so: warning: /usr/local/lib/libpq.so.2: minor version -1
older than expected 0, using it anyway


Any insight would be greatly appreciated.

Thank you,
Matthew Hagerty




view thread (7+ messages)  latest in thread

Message-ID: <4.1.19990205125048.00995ac0@mail.venux.net>
Permalink:  ../4.1.19990205125048.00995ac0@mail.venux.net/
Also on:    postgresql.org/message-id/4.1.19990205125048.00995ac0@mail.venux.net

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-interfaces@postgresql.org
  Cc: matthew@venux.net
  Subject: Re: Using libpq without LD_LIBRARY_PATH
  In-Reply-To: <4.1.19990205125048.00995ac0@mail.venux.net>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox