On Mon, Feb 21, 2005 at 02:22:20PM +0530, Surabhi Ahuja wrote: > I give the following command now to compile sample.c > gcc -o sample sample.c -I/usr/local/pgsql/include -L/usr/local/pgsql/lib -rpath/usr/local/pgsql/lib - lpq > > it gives this message: > gcc: unrecognized option `-rpath/usr/local/pgsql/lib' > (the same happens if i give -R instaed of -rpath As I said, see your compiler or linker documentation for the correct option. Another possibility might be "-Wl,-rpath=/usr/local/pgsql/lib", but *see the documentation* instead of using trial-and-error. What's happening is that the run-time linker doesn't know where to find libpq. You can fix that a few different ways: 1. You can add run-time link information when you build the program. That's what the aforementioned options are for; see your documentation to find out the correct way to do it. Some people consider this the "right" way to solve the problem. 2. You can globally change the run-time linker's configuration. How to do this depends on the platform, so again, you'll have to consult your local documentation. 3. You can use an environment variable like LD_LIBRARY_PATH to tell the run-time linker what additional directories to search. Many people consider this a workaround rather than a fix and therefore suggest avoiding it in favor of (1) or possibly (2). http://www.visi.com/~barr/ldpath.html NOTE: This is a build procedure issue that has nothing to do with PostgreSQL, aside from the fact that in this particular case you're trying to link against a PostgreSQL library. You'll have the same problem any time you link against a shared library that's not in the run-time linker's path. -- Michael Fuhr http://www.fuhr.org/~mfuhr/ ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend