Subject: pg13.1 and llvm on centos8

From: Justin Pryzby <[email-masked]>
Date: Thu, 12 Nov 2020 13:31:50 -0600

[pryzbyj@template0 ~]$ yum list --showdu llvm
Last metadata expiration check: 0:01:14 ago on Thu 12 Nov 2020 12:09:54 PM MST.
Installed Packages
llvm.x86_64                                                                                     9.0.1-5.module_el8.2.0+461+2e15bd5f                                                                                      @AppStream
Available Packages
llvm.i686                                                                                       9.0.1-5.module_el8.2.0+461+2e15bd5f                                                                                      AppStream
llvm.x86_64                                                                                     9.0.1-5.module_el8.2.0+461+2e15bd5f                                                                                      AppStream

[pryzbyj@template0 ~]$ sudo yum install postgresql13-llvmjit.x86_64
...
Package postgresql13-llvmjit-13.0-1PGDG.rhel8.x86_64 is already installed.
Error:
 Problem: cannot install the best candidate for the job
  - nothing provides libLLVM-10.so()(64bit) needed by postgresql13-llvmjit-13.1-1PGDG.rhel8.x86_64
  - nothing provides libLLVM-10.so(LLVM_10)(64bit) needed by postgresql13-llvmjit-13.1-1PGDG.rhel8.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

---

From: Devrim Gündüz <[email-masked]>
Date: Thu, 12 Nov 2020 20:33:00 +0000

Hi Justin,

On Thu, 2020-11-12 at 13:31 -0600, Justin Pryzby wrote:
> llvm.x86_64                                                          
>                            9.0.1-
> 5.module_el8.2.0+461+2e15bd5f                                        
>                                               @AppStream
> Available Packages
> llvm.i686                                                            
>                            9.0.1-
> 5.module_el8.2.0+461+2e15bd5f                                        
>                                               AppStream
> llvm.x86_64                                                          
>                            9.0.1-
> 5.module_el8.2.0+461+2e15bd5f                                        
>                                               AppStream
> 
> 
>   - nothing provides libLLVM-10.so(LLVM_10)(64bit) needed by
> postgresql13-llvmjit-13.1-1PGDG.rhel8.x86_64
> (try to add '--skip-broken' to skip uninstallable packages or '--
> nobest' to use not only best candidate packages

Yeah, this is one of the issues that I've been trying to solve in the
last 2 days.

RHEL 8.3 again broke LLVM, upgraded from 9 to 10. The problem is
CentOS, which is still 8.2 and ships LLVM 9.

If I build packages on RHEL, it breaks CentOS. If I build on CentOS, it
breaks Red Hat. 

As an interim solution, I spinned another build VM, which runs CentOS
8.2 and pushed those packages to 8.2 directory.

So, if you edit your repo config file, and replace $releasever with 
8.2, if will work *for now*, until CentOS releases 8.3, then you can
revert that change.

Alternatively remove llvmjit package until CentOS 8.3 is out.

I am trying to rebuild LLVM 10 and push to our repos. This is not the
best solution, but at least it will be useful if Postgres is the only
thing installed on the OS.

Let me know if you think of another solution.

Regards,

-- 
Devrim Gündüz
Open Source Solution Architect, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR