Re: clang prefix for centos7
От | Craig Ringer |
---|---|
Тема | Re: clang prefix for centos7 |
Дата | |
Msg-id | CAMsr+YHokx0rWLV561z3=gAi6CM4YJekgCLkqmDwQSTEjVYhuw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: clang prefix for centos7 (Devrim Gündüz <devrim@gunduz.org>) |
Ответы |
Re: clang prefix for centos7
Re: clang prefix for centos7 |
Список | pgsql-pkg-yum |
> The OS-default clang version is not sufficient enough to build PostgreSQL. This is a packaging bug in the PGDG yum CentOS 7 packages. I reported it earlier; see https://www.postgresql.org/message-id/CAMsr+YGzuPv3qSBp3LCrc9SnYi=iHfijdjERNNufh75+YM-92g@mail.gmail.com . The centos7 postgresql11-devel package is broken. I'll reply with a followup mail with details so I don't upset the automailmod but in short installing the devel package gets you an unusable build env due to missing dependencies. It's seemingly broken for all Pg versions really due to not declaring a dependency on clang. It's just worse for centos 7 because you can't simply install the required clang. I originally tested adding explicit dependences on SCL's llvm toolset and clang, but that proved painful for other reasons. Especially since the steps to enable the SCL llvm toolset repo differ for CentOS 7 vs RHEL 7. So instead I propose that: * For CentOS 7, patch pgxs.mk to detect a missing clang and not add the bytecode dependency rules; * For OSes > CentOS 7 where we don't need to use SCL to get a suitable llvm, add a Requires: for the appropriate clang to the devel package, matching the BuildRequires specified by the source package. A patch for pgxs.mk is attached. I suggest adding it as a rpmbuild patch when building for centos 7. IMO the whole mess really a PGXS / build system issue where we bake the tool and compiler paths into our Makefile.global and pgxs.mk. But that's not simple to fix, since we have no guarantee that other tools found elsewhere will be compatible and produce correct code. I've seen a similar problem appear when the VM/container that built the postgres packages themselves used ccache, but ccache was not present on the machine that then installed the -devel package. At least that's easy to work around and defend against though. -- Craig Ringer http://www.2ndQuadrant.com/ 2ndQuadrant - PostgreSQL Solutions for the Enterprise
Вложения
В списке pgsql-pkg-yum по дате отправления: