0

我正在尝试在 ubuntu 12.04 + postgresql-9.3 中安装 slony1-2.2.1。配置完成,但是当我触发“make all”命令时,显示以下错误:

root@administrator:/home/priyatam/Desktop/icons/slony1-2.2.1# make all

make[1]: 进入目录/home/priyatam/Desktop/icons/slony1-2.2.1/src' make[2]: Entering directory/home/priyatam/Desktop/icons/slony1-2.2.1/src/parsestatements' ./test-scanner < /dev/null > emptytestresult.log ./test-scanner < ./test_sql. sql > test_sql.log ` ./test-scanner < ./cstylecomments.sql > cstylecomments.log make[2]: Leaving directory/home/priyatam/Desktop/icons/slony1-2.2.1/src/parsestatements'make[2]:进入目录/home/priyatam/Desktop/icons/slony1-2.2.1/src/slon' make[2]: Nothing to be done forall'。make[2]: 离开目录/home/priyatam/Desktop/icons/slony1-2.2.1/src/slon' make[2]: Entering directory/home/priyatam/Desktop/icons/slony1-2.2.1/src/slonik' make[2]: 无事可做all'. make[2]: Leaving directory/home/priyatam/Desktop/icons/slony1-2.2.1 /src/slonik' make[2]: 进入目录/home/priyatam/Desktop/icons/slony1-2.2.1/src/backend' gcc -g -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -I../.. -fpic -I/usr/include/postgresql -c -o slony1_funcs.o slony1_funcs.c slony1_funcs.c:23:23: fatal error: miscadmin.h: No such file or directory compilation terminated. make[2]: *** [slony1_funcs.o] Error 1 make[2]: Leaving directory/home/priyatam/Desktop/icons/slony1-2.2.1/src/backend' make[1]: * [all] Error 2 make[1]: Leaving directory ` /home/priyatam/Desktop/icons/slony1-2.2.1/src' 制作:* [全部] 错误 2

请帮帮我。

4

1 回答 1

1

在回答之前有一些观察。

  1. 你为什么以root身份运行“make all”?“make install”可能需要它,但请尽量避免以 root 身份运行。
  2. 为什么要在“桌面/图标/...”中构建源代码?你不觉得六个月后你可能想再次找到它吗?考虑将您的源代码放在 /usr/local/src 或类似的地方。

好的 - 错误很明显。第 23 行的文件“slony1_funcs.c”试图包含“miscadmin.h”但失败了。如果你在谷歌上搜索过“slony postgresql miscadmin.h no such file or directory”,那么你会看到几个人们遇到同样问题的案例(并解决了它)。下次考虑搜索。

问题是它找不到 PostgreSQL 的源头文件。由于您使用的是 ubuntu,因此该软件包将被称为“postgresql-server-dev-9.3”之类的名称。

于 2013-12-30T13:38:56.160 回答