So, I removed dfmgr.o, and remade it: [EMAIL PROTECTED] fmgr]$ make gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../../src/include -D_GNU_SOURCE -DPKGLIBDIR=\"/opt/postgres-7.4.1//lib\" -DDLSUFFIX=\".so\" -c -o dfmgr.o dfmgr.c /usr/bin/ld -r -o SUBSYS.o dfmgr.o fmgr.o funcapi.o
The Makefile.global looks ok (I didn't touch it), excerpts: ... prefix := /opt/postgres-7.4.1/ ... libdir := ${exec_prefix}/lib pkglibdir = $(libdir) ifeq "$(findstring pgsql, $(pkglibdir))" "" ifeq "$(findstring postgres, $(pkglibdir))" "" override pkglibdir := $(pkglibdir)/postgresql endif endif ... I did a "make install" following the rebuild of dfmgr.o -- and now things work! I am wondering how I came into this situation? Trying to recall my first steps; I think that I did a ./configure first (it ran to the end) -- and then I ran ./configure again with the options. Hmm... I will make a complete new build (from a fresh tarball and directory) and see what happens. I am not sure this was any help to you? Anyway - thanks for pointing to the source of my problem! /Thomas. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tom Lane Sent: Monday, February 02, 2004 10:36 PM To: Thomas Borg Salling Cc: 'PostgreSQL Bugs List' Subject: Re: [BUGS] BUG #1072: "$libdir/ascii_and_mic": No such file or directory "Thomas Borg Salling" <[EMAIL PROTECTED]> writes: > createdb, and started psql to create function. The result from strace (when > running the CREATE FUNCTION) of the backend is: > "Q\0\0\0\237CREATE OR REPLACE FUNCTION "..., 8192, 0) = 160 > gettimeofday({1075756990, 462661}, NULL) = 0 > stat64("/usr/local/pgsql/lib/ascii_and_mic", 0xbfffca10) = -1 ENOENT (No > such file or directory) > stat64("/usr/local/pgsql/lib/ascii_and_mic.so", 0xbfffca10) = -1 ENOENT (No > such file or directory) > stat64("$libdir/ascii_and_mic", 0xbfffcad0) = -1 ENOENT (No such file or > directory) > write(2, "ERROR: could not access file \"$"..., 81) = 81 > It seems to search in /usr/local/pgsql. Evidently. So, somehow src/backend/utils/fmgr/dfmgr.o got compiled with the wrong value of PKGLIBDIR. You should look in src/Makefile.global to check that it has the correct setting for pkglibdir (note difference in case). Also try going to src/backend/utils/fmgr, removing dfmgr.o, and saying "make" to see what -D switch gets passed by the makefile. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED] ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend