Makefile:41: /usr/pgsql-10/lib/pgxs/src/makefiles/pgxs.mk: No such file or directory
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这个错误信息表明你在尝试编译PostgreSQL相关的项目时,Makefile试图包含一个位于/usr/pgsql-10/lib/pgxs/src/makefiles/pgxs.mk
的文件,但是系统找不到这个文件。这通常意味着几个问题:
PostgreSQL版本不匹配或未安装:确保你的系统中安装了PostgreSQL 10,并且安装路径正确。如果PostgreSQL确实已经安装但路径不同,你需要修改Makefile中的路径以指向正确的pgxs.mk
位置。
PGXS(PostgreSQL Extension Build System)未配置:PGXS允许你轻松地构建PostgreSQL扩展。如果你正在尝试编译的是一个扩展,确保PostgreSQL的安装包含了PGXS支持。有时候,PostgreSQL可能需要重新配置和安装来确保PGXS可用。
环境变量问题:某些情况下,通过设置环境变量可以解决此类问题。例如,你可以设置PGXS
环境变量直接指向pgxs.mk
的正确位置,而不是在Makefile中硬编码路径。
权限问题:虽然不太常见,但确保你有足够的权限访问该目录和文件。
确认安装:首先,使用如下命令确认PostgreSQL 10是否已正确安装:
psql --version
如果没有安装或者版本不对,你需要安装或调整至正确的版本。
查找pgxs.mk实际位置:如果你确信PostgreSQL 10已经安装,可以通过查找命令找到pgxs.mk
的实际位置:
sudo find / -name pgxs.mk
根据找到的路径,更新Makefile中的相应行。
设置PGXS环境变量:在Makefile的顶部,你可以添加或修改以下行来设置PGXS路径,假设你找到了正确的pgxs.mk
路径为/correct/path/to/pgxs.mk
:
PGXS := /correct/path/to/pgxs.mk
include $(PGXS)
或者直接在命令行中设置环境变量(临时解决方案):
export PGXS=/correct/path/to/pgxs.mk
检查权限并重试:如果以上步骤都确认无误,确保当前用户有权限访问相关目录和文件,然后重新运行make
命令。
记得替换上述命令和路径中的/correct/path/to/
为实际找到的路径。