跟进我之前关于 find 的问题pg_config
,我仍然很难/src/tutorial
编译子目录。
我在 Windows 7 上运行 cygwin。这不是一个理想的环境,但我正在尝试获得一个用这个版本编写的 PostgreSQL 扩展,它使用基于 Windows 的界面来工作。一旦我让它运行,我将迁移到 Linux 和更好的 PostgreSQL。
回到问题:
当我运行 make on 时,我得到了以下信息/src/tutorial
。我没有更改目录中的任何内容。
$ make
dlltool --export-all --output-def complex.def complex.o
dllwrap -o complex.dll --def complex.def complex.o -L/usr/lib -lpostgres -L/usr/ lib -lpostgres
rm -f complex.def
gcc -O2 -pipe -Wall -Wmissing-prototypes -Wpointer-arith -Winline -Wdeclaration -after-statement -Wendif-labels -fno-strict-aliasing -fwrapv -I. -I/usr/include /postgresql/server -I/usr/include/postgresql/internal -c -o funcs.o funcs.c
funcs.c:19:1: warning: ‘Pg_magic_func’ redeclared without dllimport attribute: p revious dllimport ignored
funcs.c: In function ‘copytext’:
funcs.c:74:2: warning: implicit declaration of function ‘SET_VARSIZE’
dlltool --export-all --output-def funcs.def funcs.o
dllwrap -o funcs.dll --def funcs.def funcs.o -L/usr/lib -lpostgres -L/usr/lib -l postgres
funcs.o:funcs.c:(.text+0xb6): undefined reference to `_SET_VARSIZE'
funcs.o:funcs.c:(.text+0x142): undefined reference to `_SET_VARSIZE'
collect2: ld returned 1 exit status
dllwrap: gcc exited with status 1
我不知道需要包含在 funcs 中的正确头文件是什么。
此错误发生在未修补的 8.3.1 中。
谢谢
编辑
我在安装中发现了上述问题。/src/tutorial
运行下的 Makefile
PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)
不幸pg_config
的是,除了我的那个之外,还有另一个installation-folder/bin
所以一旦我解决了这个问题,一切/src/tutorial
正常