Обсуждение: Make & Install contrib/tablefunc Problems
Hi there,
I deleted involuntarily my tablefunc functions in my database. Now, I
am trying to get them back into it again. But without success.
I am running Mac OS X, 10.5, with postgres 8.3.1 and have used the
Kyngchaos packages. It seems to me that before I succeeded in doing
this from within the postgres-package/contrib/tablefunc:
export PATH="/usr/local/pgsql/bin:$PATH"
export USE_PGXS=1
make
sudo make install
But when I do this I get this error message:
Makefile:17: ../../src/Makefile.global: No such file or directory
Makefile:18: /contrib/contrib-global.mk: No such file or directory
make: *** No rule to make target `/contrib/contrib-global.mk'. Stop.
What is the problem? What can/should I do?
Thanks for any tipps!
Stef
Вложения
Stefan Schwarzer <stefan.schwarzer@grid.unep.ch> writes:
> I deleted involuntarily my tablefunc functions in my database. Now, I
> am trying to get them back into it again. But without success.
> I am running Mac OS X, 10.5, with postgres 8.3.1 and have used the
> Kyngchaos packages. It seems to me that before I succeeded in doing
> this from within the postgres-package/contrib/tablefunc:
> export PATH="/usr/local/pgsql/bin:$PATH"
> export USE_PGXS=1
> make
> sudo make install
> But when I do this I get this error message:
> Makefile:17: ../../src/Makefile.global: No such file or directory
> Makefile:18: /contrib/contrib-global.mk: No such file or directory
> make: *** No rule to make target `/contrib/contrib-global.mk'. Stop.
> What is the problem? What can/should I do?
You need to re-run configure in the top level of the distribution tree.
Be sure to use the same configure flags as before (pg_config will remind
you what they were).
regards, tom lane
>> But when I do this I get this error message:
>
>> Makefile:17: ../../src/Makefile.global: No such file or directory
>> Makefile:18: /contrib/contrib-global.mk: No such file or directory
>> make: *** No rule to make target `/contrib/contrib-global.mk'.
>> Stop.
>
>> What is the problem? What can/should I do?
>
> You need to re-run configure in the top level of the distribution
> tree.
> Be sure to use the same configure flags as before (pg_config will
> remind
> you what they were).
Thanks a lot for the quick reaction. Did this, but now - I am not
really strong in postgres management - I get this:
$ psql -U xxx my_database < tablefunc.sql
SET
ERROR: permission denied for language c
Guess I'd need to do this as/with postgres user/role. But really not
sure how this goes. Thought it should be something like this:
sudo su - postgres -c '/usr/local/pgsql/bin/pgsql' < tablefunc.sql
But that's no correct.
Thanks for any advice.
Вложения
On Mon, Jan 25, 2010 at 04:05:57PM +0100, Stefan Schwarzer wrote: > Guess I'd need to do this as/with postgres user/role. Yup, or at least somebody with superuser rights. Try "\du" in psql. > But really not > sure how this goes. Thought it should be something like this: > > sudo su - postgres -c '/usr/local/pgsql/bin/pgsql' < tablefunc.sql > > But that's no correct. Looks about right, what do you get back? The following does basically the same thing, but I find it a bit easier to follow: sudo -u postgres /usr/local/pgsql/bin/pgsql < tablefunc.sql -- Sam http://samason.me.uk/
> The following does basically the same thing, but I find it a bit
> easier
> to follow:
>
> sudo -u postgres /usr/local/pgsql/bin/pgsql < tablefunc.sql
Thanks for that. Looks indeed less complicated! :-)
But not yet success for me:
I did re-start, just to be sure.
for postgres:
./configure (with parameters)
make
for tablefunc:
make
sudo make install
and then:
sudo -u postgres /usr/local/pgsql/bin/psql -d geodataportal < contrib/
tablefunc/tablefunc.sql
could not identify current directory: Permission denied
could not identify current directory: Permission denied
SET
ERROR: could not load library "/usr/local/pgsql/lib/tablefunc.so":
dlopen(/usr/local/pgsql/lib/tablefunc.so, 10): no suitable image
found. Did find:
/usr/local/pgsql/lib/tablefunc.so: mach-o, but wrong architecture
ERROR: could not load library "/usr/local/pgsql/lib/tablefunc.so":
dlopen(/usr/local/pgsql/lib/tablefunc.so, 10): no suitable image
found. Did find:
/usr/local/pgsql/lib/tablefunc.so: mach-o, but wrong architecture
ERROR: relation "tablefunc_crosstab_2" already exists
ERROR: relation "tablefunc_crosstab_3" already exists
ERROR: relation "tablefunc_crosstab_4" already exists
ERROR: could not load library "/usr/local/pgsql/lib/tablefunc.so":
dlopen(/usr/local/pgsql/lib/tablefunc.so, 10): no suitable image
found. Did find:
/usr/local/pgsql/lib/tablefunc.so: mach-o, but wrong architecture
ERROR: could not load library "/usr/local/pgsql/lib/tablefunc.so":
dlopen(/usr/local/pgsql/lib/tablefunc.so, 10): no suitable image
found. Did find:
/usr/local/pgsql/lib/tablefunc.so: mach-o, but wrong architecture
ERROR: could not load library "/usr/local/pgsql/lib/tablefunc.so":
dlopen(/usr/local/pgsql/lib/tablefunc.so, 10): no suitable image
found. Did find:
/usr/local/pgsql/lib/tablefunc.so: mach-o, but wrong architecture
ERROR: could not load library "/usr/local/pgsql/lib/tablefunc.so":
dlopen(/usr/local/pgsql/lib/tablefunc.so, 10): no suitable image
found. Did find:
/usr/local/pgsql/lib/tablefunc.so: mach-o, but wrong architecture
ERROR: could not load library "/usr/local/pgsql/lib/tablefunc.so":
dlopen(/usr/local/pgsql/lib/tablefunc.so, 10): no suitable image
found. Did find:
/usr/local/pgsql/lib/tablefunc.so: mach-o, but wrong architecture
ERROR: could not load library "/usr/local/pgsql/lib/tablefunc.so":
dlopen(/usr/local/pgsql/lib/tablefunc.so, 10): no suitable image
found. Did find:
/usr/local/pgsql/lib/tablefunc.so: mach-o, but wrong architecture
ERROR: could not load library "/usr/local/pgsql/lib/tablefunc.so":
dlopen(/usr/local/pgsql/lib/tablefunc.so, 10): no suitable image
found. Did find:
/usr/local/pgsql/lib/tablefunc.so: mach-o, but wrong architecture
ERROR: could not load library "/usr/local/pgsql/lib/tablefunc.so":
dlopen(/usr/local/pgsql/lib/tablefunc.so, 10): no suitable image
found. Did find:
/usr/local/pgsql/lib/tablefunc.so: mach-o, but wrong architecture
ERROR: could not load library "/usr/local/pgsql/lib/tablefunc.so":
dlopen(/usr/local/pgsql/lib/tablefunc.so, 10): no suitable image
found. Did find:
/usr/local/pgsql/lib/tablefunc.so: mach-o, but wrong architecture
Besides the fact that I have no idea what is going on, if I look
through my database as indicated (-d geodataportal) I don't see any
"table_func" functions.
Thanks for any help.
Вложения
Stefan Schwarzer <stefan.schwarzer@grid.unep.ch> writes:
> ERROR: could not load library "/usr/local/pgsql/lib/tablefunc.so":
> dlopen(/usr/local/pgsql/lib/tablefunc.so, 10): no suitable image
> found. Did find:
> /usr/local/pgsql/lib/tablefunc.so: mach-o, but wrong architecture
That's very curious. Apparently you managed to build a .so of the wrong
machine architecture (ppc vs x86 vs x86_64). I would guess that you are
using somebody else's build of Postgres and didn't manage to duplicate
their configuration completely. Now, if it is somebody else's build,
they really should have provided the contrib modules too ... so why
didn't you just grab tablefunc from their distribution?
regards, tom lane