cachewerk / linux-repos

Relay packages and repositories for Debian, Ubuntu and CentOS.
https://relay.so
MIT License
12 stars 2 forks source link

Unable to install Rocky Linux 8 #7

Closed uhlhosting closed 2 years ago

uhlhosting commented 2 years ago

Hi,

I have all the prerequirities deployed with pecl, any idea why is not working with pecl modules?

[root@cp playbooks]# php --ri msgpack

msgpack

MessagePack Support => enabled
Session Support => enabled
extension Version => 2.1.2
header Version => 3.2.0

Directive => Local Value => Master Value
msgpack.error_display => On => On
msgpack.php_only => On => On
msgpack.illegal_key_insert => Off => Off
msgpack.use_str8_serialization => On => On
[root@cp playbooks]# php --ri igbinary

igbinary

igbinary support => enabled
igbinary version => 3.2.9
igbinary APCu serializer ABI => no
igbinary session support => yes

Directive => Local Value => Master Value
igbinary.compact_strings => On => On
[root@cp playbooks]# php --ri json

json

json support => enabled
[root@cp playbooks]# yum install php80-php-relay
Last metadata expiration check: 0:03:10 ago on Wed 26 Oct 2022 09:21:03 PM CEST.
Error: 
 Problem: conflicting requests
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.1.1-1.x86_64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.1.1-1.x86_64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.1.1-1.x86_64
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.1.2-1.x86_64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.1.2-1.x86_64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.1.2-1.x86_64
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.1.3-1.x86_64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.1.3-1.x86_64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.1.3-1.x86_64
  - package php80-php-relay-0.2.0-1.aarch64 does not have a compatible architecture
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.2.0-1.aarch64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.2.0-1.aarch64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.2.0-1.aarch64
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.2.0-1.x86_64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.2.0-1.x86_64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.2.0-1.x86_64
  - package php80-php-relay-0.2.1-1.aarch64 does not have a compatible architecture
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.2.1-1.aarch64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.2.1-1.aarch64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.2.1-1.aarch64
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.2.1-1.x86_64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.2.1-1.x86_64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.2.1-1.x86_64
  - package php80-php-relay-0.2.2-1.aarch64 does not have a compatible architecture
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.2.2-1.aarch64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.2.2-1.aarch64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.2.2-1.aarch64
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.2.2-1.x86_64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.2.2-1.x86_64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.2.2-1.x86_64
  - package php80-php-relay-0.2.3-1.aarch64 does not have a compatible architecture
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.2.3-1.aarch64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.2.3-1.aarch64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.2.3-1.aarch64
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.2.3-1.x86_64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.2.3-1.x86_64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.2.3-1.x86_64
  - package php80-php-relay-0.3.0-1.aarch64 does not have a compatible architecture
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.3.0-1.aarch64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.3.0-1.aarch64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.3.0-1.aarch64
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.3.0-1.x86_64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.3.0-1.x86_64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.3.0-1.x86_64
  - package php80-php-relay-0.3.1-1.aarch64 does not have a compatible architecture
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.3.1-1.aarch64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.3.1-1.aarch64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.3.1-1.aarch64
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.3.1-1.x86_64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.3.1-1.x86_64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.3.1-1.x86_64
  - package php80-php-relay-0.3.2-1.aarch64 does not have a compatible architecture
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.3.2-1.aarch64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.3.2-1.aarch64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.3.2-1.aarch64
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.3.2-1.x86_64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.3.2-1.x86_64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.3.2-1.x86_64
  - package php80-php-relay-0.4.0-1.aarch64 does not have a compatible architecture
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.4.0-1.aarch64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.4.0-1.aarch64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.4.0-1.aarch64
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.4.0-1.x86_64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.4.0-1.x86_64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.4.0-1.x86_64
  - package php80-php-relay-0.4.1-1.aarch64 does not have a compatible architecture
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.4.1-1.aarch64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.4.1-1.aarch64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.4.1-1.aarch64
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.4.1-1.x86_64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.4.1-1.x86_64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.4.1-1.x86_64
  - package php80-php-relay-0.4.2-1.aarch64 does not have a compatible architecture
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.4.2-1.aarch64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.4.2-1.aarch64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.4.2-1.aarch64
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.4.2-1.x86_64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.4.2-1.x86_64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.4.2-1.x86_64
  - package php80-php-relay-0.4.3-1.aarch64 does not have a compatible architecture
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.4.3-1.aarch64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.4.3-1.aarch64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.4.3-1.aarch64
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.4.3-1.x86_64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.4.3-1.x86_64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.4.3-1.x86_64
  - package php80-php-relay-0.4.4-1.aarch64 does not have a compatible architecture
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.4.4-1.aarch64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.4.4-1.aarch64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.4.4-1.aarch64
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.4.4-1.x86_64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.4.4-1.x86_64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.4.4-1.x86_64
  - package php80-php-relay-0.4.5-1.aarch64 does not have a compatible architecture
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.4.5-1.aarch64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.4.5-1.aarch64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.4.5-1.aarch64
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.4.5-1.x86_64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.4.5-1.x86_64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.4.5-1.x86_64
  - package php80-php-relay-0.4.6-1.aarch64 does not have a compatible architecture
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.4.6-1.aarch64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.4.6-1.aarch64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.4.6-1.aarch64
  - nothing provides php80-php-igbinary needed by php80-php-relay-0.4.6-1.x86_64
  - nothing provides php80-php-msgpack needed by php80-php-relay-0.4.6-1.x86_64
  - nothing provides php80-php(api) = 20200930-64 needed by php80-php-relay-0.4.6-1.x86_64
(try to add '--skip-broken' to skip uninstallable packages)
tillkruss commented 2 years ago
uhlhosting commented 2 years ago
  • What Rocky Linux version are you running?
  • How are you installing PHP exactly?
  • Is your server running ARM? aarch64?

Rocky Linux 8.6 PHP is pkg deployed under ApisCP web hosting panel. No I am not on ARM.

uhlhosting commented 2 years ago

In fact it seems this setup is with self compiled PHP, and I used PECL for extra needed packages. Yet your package is not pushed to PECL.

uhlhosting commented 2 years ago

In fact here is a bit described the way PHP is deployed. https://docs.apiscp.com/admin/PHP-FPM/#native-builds .

michael-grunder commented 2 years ago

I'll take a look in a RockyLinux container. If PHP is compiled manually (as opposed to via package managers), it may be necessary to manually install Relay as well. We'll look into creating a custom installer for those cases.

I'll update this thread once I have a short-term solution, however.

tillkruss commented 2 years ago

@uhlhosting: Can you provide us with a Docker file that simulates your RL 8.6 linux and how PHP is set up on it?

tillkruss commented 2 years ago

Alternatively you may also just follow the CentOS installation instructions: https://github.com/cachewerk/relay/blob/main/docker/centos7.Dockerfile

I may need to outline these in great detail somewhere. Our docs aren't doing that right now.

uhlhosting commented 2 years ago

@uhlhosting: Can you provide us with a Docker file that simulates your RL 8.6 linux and how PHP is set up on it?

I could provide you with access to a testing machine. Yet not with docker, apiscp is a perfect cpanel / plesk alternative that uses ansible and does not run on docker.

michael-grunder commented 2 years ago

I was able to put together a quick and dirty Dockerfile that installs Relay on a fresh instance of RockyLinux 8.

Note that in addition to building PHP manually, I am also building and installing php 8.0, msgpack-php, igbinary, and lz4 manually as well. You likely don't need to do that since you've already got PHP and the extensions installed.

The final section is where I'm getting the relay binary and adding it to PHP.

The only real hiccup you could face has to do with system libraries, but there aren't many you need.

[root@2aa1a8f7d286 /]# ldd $(php-config --extension-dir)/relay.so
    linux-vdso.so.1 (0x00007ffcc07bc000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f3c46123000)
    libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f3c45e8f000)
    libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007f3c459a6000)
    libzstd.so.1 => /lib64/libzstd.so.1 (0x00007f3c45702000)
    liblz4.so.1 => /lib64/liblz4.so.1 (0x00007f3c454e5000)
    libanl.so.1 => /lib64/libanl.so.1 (0x00007f3c452e1000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f3c44f1c000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f3c465c8000)
    libz.so.1 => /lib64/libz.so.1 (0x00007f3c44d04000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f3c44b00000)

libztd and liblz4 are the only two you may need to install.

tillkruss commented 2 years ago

@uhlhosting: Can you provide us with a Docker file that simulates your RL 8.6 linux and how PHP is set up on it?

I could provide you with access to a testing machine. Yet not with docker, apiscp is a perfect cpanel / plesk alternative that uses ansible and does not run on docker.

That would be helpful yes.

uhlhosting commented 2 years ago

I would need your ssh key if so email it to cosmin @ uhlhost.net .

tillkruss commented 2 years ago

I've added Rocky Linux 8.6 docker examples:

tillkruss commented 2 years ago

Closing this in favor of: https://github.com/cachewerk/relay/issues/26

tillkruss commented 2 years ago

Even with an install script, we still need an extensive guide on how to install Relay.

I'll publish this here: https://relay.so/docs/1.x/installation