I am afraid it gets crazier...
I put /home/pramsey/pgtest/8.0/bin on my $PATH Now:
[EMAIL PROTECTED] 8.0]$ pg_config --pkglibdir /home/pramsey/pgtest/8.0/lib/postgresql
Hm, correct.
[EMAIL PROTECTED] 8.0]$ ./bin/pg_config --pkglibdir /home/pramsey/pgtest/8.0/./lib/postgresql
Also correct, but getting strangely relative.
[EMAIL PROTECTED] 8.0]$ cd bin [EMAIL PROTECTED] bin]$ ./pg_config --pkglibdir /home/pramsey/pgtest/8.0/bin/lib/postgresql
Now incorrect. The answer depends on where I am asking from.
[EMAIL PROTECTED] bin]$ ./pg_config --bindir /home/pramsey/pgtest/8.0/bin/.
Using the direct request. Using the $PATH assisted request:
[EMAIL PROTECTED] bin]$ pg_config --bindir /home/pramsey/pgtest/8.0/bin
Entirely correct.
Problem solved? No...
[EMAIL PROTECTED] bin]$ createlang plpgsql test
ERROR: could not access file "$libdir/plpgsql": No such file or directory
createlang: language installation failed: ERROR: could not access file "$libdir/plpgsql": No such file or directory
If I copy plpgsql.so into /home/pramsey/pgtest/8.0/lib then things work.
Bruce Momjian wrote:
Ah, what is your $bindir? Is it /home/pramsey/pgtest/8.0/bin/postgresql?
---------------------------------------------------------------------------
Paul Ramsey wrote:
Check this out!
[EMAIL PROTECTED] bin]$ ./pg_config --pkglibdir /home/pramsey/pgtest/8.0/bin/lib/postgresql ^^^
And yet:
./port/pg_config_paths.h:#define PKGLIBDIR "/home/pramsey/pgtest/8.0/lib/postgresql"
Could the problem be here? (port/path.c):
/* * get_pkglib_path */ void get_pkglib_path(const char *my_exec_path, char *ret_path) { const char *p;
if ((p = relative_path(PGBINDIR, PKGLIBDIR))) make_relative(my_exec_path, p, ret_path); else StrNCpy(ret_path, PKGLIBDIR, MAXPGPATH); canonicalize_path(ret_path); }
Bruce Momjian wrote:
Devrim GUNDUZ wrote:
Hi,
On Wed, 18 Aug 2004, Paul Ramsey wrote:
When installing PgSQL into a non-standard location (like /opt/foo) the configure script decides to install all the contrib libraries and plpglsq into /opt/foo/lib/postgresql. This would be fine, except that backend does not recognize this directory as a place to be searched for $libdir (perhaps it is referencing the $libdir macro instead of the $pkglibdir macro?). So tools like 'createlang' fail, and loading .sql files that reference things like $libdir/libfoo.so also fail.
I'm not sure but if you add /opt/foo/lib/postgresql to /etc/ld.so.conf and run ldconfig, it might work.
I checked in the code and $libdir should expand to $(pkglibdir) as determined by configure. What value to you show for that in your Makefile.global?
---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faqs/FAQ.html