我已经尝试了很多,通过搜索goggle来解决无法按照下面的GitHub文档编译的it.but。
下面是env。为我的postgres用户。
export PGHOME=/var/lib/pgsql/
export PGDATA=/var/lib/pgsql/11/data/
export PGDATABASE=postgres
export PGUSER=postgres
export PGPORT=xxxx
export PGLOCALEDIR=/usr/pgsql-11/share/ 遵循以下步骤。我正在用来进行安装/编译。
-bash-4.2$ pwd
/var/lib/pgsql
-bash-4.2$ cd pgaudit-REL_11_STABLE/
-bash-4.2$ pwd
/var/lib/pgsql/pgaudit-REL_11_STABLE
-bash-4.2$ ll
total 528
drwx------. 2 postgres postgres 25 May 23 2019 expected
-rw-------. 1 postgres postgres 171 May 23 2019 LICENSE
-rw-------. 1 postgres postgres 548 May 23 2019 Makefile
-rw-------. 1 postgres postgres 175 May 23 2019 pgaudit--1.3--1.3.1.sql
-rw-------. 1 postgres postgres 615 May 23 2019 pgaudit--1.3.1.sql
-rw-------. 1 postgres postgres 63517 May 23 2019 pgaudit.c
-rw-------. 1 postgres postgres 35 May 23 2019 pgaudit.conf
-rw-------. 1 postgres postgres 145 May 23 2019 pgaudit.control
-rw-------. 1 postgres postgres 266312 Feb 9 11:48 pgaudit.o
-rwx------. 1 postgres postgres 157624 Feb 9 11:48 pgaudit.so
-rw-------. 1 postgres postgres 17312 May 23 2019 README.md
drwx------. 2 postgres postgres 25 May 23 2019 sql
drwx------. 2 postgres postgres 25 May 23 2019 test
-bash-4.2$
-bash-4.2$ make check USE_PGXS=1
"make check" is not supported.
Do "make install", then "make installcheck" instead.
-bash-4.2$ make install
/opt/rh/llvm-toolset-7/root/usr/bin/clang -Wno-ignored-attributes -fno-strict-aliasing -fwrapv -O2 -I. -I./ -I/usr/pgsql-11/include/server -I/usr/pgsql-11/in
clude/internal -D_GNU_SOURCE -I/usr/include/libxml2 -I/usr/include -flto=thin -emit-llvm -c -o pgaudit.bc pgaudit.c
make: /opt/rh/llvm-toolset-7/root/usr/bin/clang: Command not found
make: *** [pgaudit.bc] Error 127
-bash-4.2$我还复制了pg_audit.so
scp -r /var/lib/pgsql/pgaudit-REL_11_STABLE/pgaudit.so /usr/pgsql-11/share/contrib/
cd /usr/pgsql-11/share/contrib/
/usr/pgsql-11/share/contrib
-bash-4.2$ ll
total 176
-rwx------. 1 root root 157624 Feb 10 07:43 pgaudit.so
-rw-------. 1 root root 14875 Feb 10 08:10 pgaudit.sql
-rw-r--r--. 1 root root 1644 Aug 7 2019 sepgsql.sql
-bash-4.2$ pwd
/usr/pgsql-11/share/contrib同样,当我使用下面的命令时,得到下面的错误。
-bash-4.2$ make install PGUSER=postgres USE_PGXS=1 PATH=/usr/pgsql-11/bin:{PATH}
/opt/rh/llvm-toolset-7/root/usr/bin/clang -Wno-ignored-attributes -fno-strict-aliasing -fwrapv -O2 -I. -I./ -I/usr/pgsql-11/include/server -I/usr/pgsql-11/in
clude/internal -D_GNU_SOURCE -I/usr/include/libxml2 -I/usr/include -flto=thin -emit-llvm -c -o pgaudit.bc pgaudit.c
make: /opt/rh/llvm-toolset-7/root/usr/bin/clang: Command not found
make: *** [pgaudit.bc] Error 127 我遗漏了一些与复制或设置环境相关的内容。请帮帮我。
编辑:我通过Laurenz Albe在下面的回答中建议的。现在来看看下面的错误。
[root@ip- pgaudit-REL_11_STABLE]# /usr/bin/make install PGUSER=postgres USE_PGXS=1 with_llvm=no make -e PATH=/usr/pgsql-11/bin:{PATH}
/usr/bin/mkdir -p '/usr/lib64/pgsql'
/usr/bin/mkdir -p '/usr/share/pgsql/extension'
/usr/bin/mkdir -p '/usr/share/pgsql/extension'
/bin/sh /usr/lib64/pgsql/pgxs/src/makefiles/../../config/install-sh -c -m 755 pgaudit.so '/usr/lib64/pgsql/pgaudit.so'
/usr/lib64/pgsql/pgxs/src/makefiles/../../config/install-sh: line 75: uname: command not found
/usr/lib64/pgsql/pgxs/src/makefiles/../../config/install-sh: line 326: sed: command not found
/usr/lib64/pgsql/pgxs/src/makefiles/../../config/install-sh: line 461: exec: cp: not found
/usr/lib64/pgsql/pgxs/src/makefiles/../../config/install-sh: line 1: rm: command not found
make: *** [install-lib-shared] Error 1 我已经签入/usr/bin,所有需要的实用程序都可用。
[root@ip- pgaudit-REL_11_STABLE]# ls -lrth /usr/bin/ | grep uname
lrwxrwxrwx. 1 root root 7 Jun 18 2019 uname26 -> setarch
-rwxr-xr-x. 1 root root 29K Jan 23 19:07 uname
[root@ip pgaudit-REL_11_STABLE]# ls -lrth /usr/bin/ | grep sed
-rwxr-xr-x. 1 root root 75K Aug 1 2018 sed
-rwxr-xr-x. 2 root root 53K Feb 19 2019 psed
[root@ip pgaudit-REL_11_STABLE]# ls -lrth /usr/bin/ | grep exec
-rwxr-xr-x. 1 root root 16K Aug 2 2018 msgexec
[root@ip pgaudit-REL_11_STABLE]# ls -lrth /usr/bin/ | grep rm
-rwxr-xr-x. 1 root root 41K Jan 23 19:07 rmdir现在来看看下面的错误。我真的不能理解error想说什么。请帮帮忙。
[root@ pgaudit-REL_11_STABLE]# make install PGUSER=postgres USE_PGXS=1 PATH=/usr/pgsql-11/bin:$PATH with_llvm=no make -e
/usr/bin/mkdir -p '/usr/lib64/pgsql'
/usr/bin/mkdir -p '/usr/share/pgsql/extension'
/usr/bin/mkdir -p '/usr/share/pgsql/extension'
/bin/sh /usr/lib64/pgsql/pgxs/src/makefiles/../../config/install-sh -c -m 755 pgaudit.so '/usr/lib64/pgsql/pgaudit.so'
/bin/sh /usr/lib64/pgsql/pgxs/src/makefiles/../../config/install-sh -c -m 644 ./pgaudit.control '/usr/share/pgsql/extension/'
/bin/sh /usr/lib64/pgsql/pgxs/src/makefiles/../../config/install-sh -c -m 644 ./pgaudit--1.3.1.sql ./pgaudit--1.3--1.3.1.sql '/usr/share/pgsql/extension/'
make: *** No rule to make target `make'. Stop.
[root@ pgaudit-REL_11_STABLE]#发布于 2020-02-10 16:26:57
您应该安装clang,以便PGXS可以构建字节码。
如果你不需要JIT,一种变通办法是使用
with_llvm=no make -e要将/usr/pgsql-11/bin添加到PATH,请运行
PATH=/usr/pgsql-11/bin:$PATH with_llvm=no make -ehttps://stackoverflow.com/questions/60146411
复制相似问题