John R Pierce <pierce@hogranch.com> writes:
> mm, k. so I manually copied that file over, and now get...
> ....
> /usr/vacpp/bin/xlc -q64 -I/home/postgres/src/include -O2 -qarch=pwr5
> -qtune=balanced -qnoansialias -o pljava.so libpljava.a
> -Wl,-bE:libpljava.exp -L/opt/pgsql91/lib -L/home/postgres/src/lib
> -Wl,-blibpath:'/opt/pgsql91/lib:/opt/pgsql91/lib:/home/postgres/src/lib:/usr/lib:/lib'
> -Wl,-bnoentry -Wl,-H512 -Wl,-bM:SRE
> -Wl,-bI:/opt/pgsql91/bin/postgres/postgres.imp -L.
> -L"/usr/java5_64/jre/bin/j9vm" -ljvm
> ld: 0706-003 Cannot find or read import file:
> /opt/pgsql91/bin/postgres/postgres.imp
> ld:accessx(): A parameter must be a directory.
> and, muh-oh... $PG_PREFIX/bin/postgres is the binary executable, so I
> *can't* put a copy of postgres.imp there, hah. and a bit of poking
> around the pljava makefiles, I'm not figuring out how its cooking that
> path name up?!?
Looks like it's coming from src/makefiles/Makefile.aix:
ifdef PGXS
BE_DLLLIBS= -Wl,-bI:$(bindir)/postgres/$(POSTGRES_IMP)
else
BE_DLLLIBS= -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP)
endif
I think the first case is just wrong (evidently never been tested
before). A look in src/backend/Makefile shows that the POSTGRES_IMP
file is actually installed into $(pkglibdir), so that's probably what
you want there instead of $(bindir)/postgres.
regards, tom lane