My goal is to run OpenStack Pike on Raspberry Pi 3B+.
I’ve chosen SLES 15 as SLES 12 doesn’t seem to run on this hardware. (I tried and it didn’t even boot.)
Now, I am following the installation guide at https://docs.openstack.org/install-guide/environment-messaging-obs.html
I ran into issues while trying to install RabbitMQ.
This is my first time using SUSE and I’m not too familiar with fighting dependencies and managing packages either.
So, I’ve currently made the following assumptions and discoveries while fighting the issue:
-
RabbitMQ doesn’t run out of the box when following the installation guide.
-
RabbitMQ requires Erlang
-
Erlang requires libcrypto.so.1.0.0
-
libcrypto.so.1.0.0 is provided by libopenssl1_0_0
-
Aha! SLES 15 comes with libopenssl1_1, so I have already libcrypto.so.1.1
Internet suggested the following trick:
$ ln -s /usr/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.0.0
However, this didn’t work - I did the test suggested at https://github.com/lfex/dockerfiles/issues/9:
$ erl
1> crypto:start().
I’m getting the NIF message about missing libraries.
And if I understood correct, the reason was that the new version of libcrypto is missing some symbols that Erlang would need.
So, now I’m trying to install libopenssl1_0_0 to have the correct libcrypto available.
$ wget http://download.opensuse.org/repositories/security:/tls/SLE_15/x86_64/libopenssl1_0_0-1.0.2p-49.1.x86_64.rpm
$ zypper in /home/uname/Downloads/libopenssl1_0_0-1.0.2p-49.1.x86_64.rpm
Refreshing service 'Basesystem_Module_15_aarch64'.
Refreshing service 'SUSE_Linux_Enterprise_Server_15_aarch64'.
Refreshing service 'Server_Applications_Module_15_aarch64'.
Loading repository data...
Reading installed packages...
'_tmpRPMcache_:libopenssl1_0_0=0:1.0.2p-49.1' not found in package names. Trying capabilities.
No provider of '_tmpRPMcache_:libopenssl1_0_0=0:1.0.2p-49.1' found.
Resolving package dependencies...
Nope, doesn’t work as such. No idea how to fix the tmpRPMcache issue?
So let’s try directly with RPM:
$ rpm -ih -vv http://download.opensuse.org/repositories/security:/tls/SLE_15/x86_64/libopenssl1_0_0-1.0.2p-49.1.x86_64.rpm
ufdio: 1 reads, 19077 total bytes in 0.000056 secs
Retrieving http://download.opensuse.org/repositories/security:/tls/SLE_15/x86_64/libopenssl1_0_0-1.0.2p-49.1.x86_64.rpm
D: ============== /var/tmp/rpm-tmp.oOO0cE
D: loading keyring from pubkeys in /usr/lib/sysimage/rpm/pubkeys/*.key
D: couldn't find any keys in /usr/lib/sysimage/rpm/pubkeys/*.key
D: loading keyring from rpmdb
D: opening db environment /usr/lib/sysimage/rpm cdb:private:0x201
D: opening db index /usr/lib/sysimage/rpm/Packages 0x400 mode=0x0
D: locked db index /usr/lib/sysimage/rpm/Packages
D: opening db index /usr/lib/sysimage/rpm/Name nofsync:0x400 mode=0x0
D: read h# 815
Header SHA1 digest: OK
D: added key gpg-pubkey-307e3d54-5aaa90a5 to keyring
D: read h# 816
Header SHA1 digest: OK
D: added key gpg-pubkey-39db7c82-5847eb1f to keyring
D: read h# 817
Header SHA1 digest: OK
D: added key gpg-pubkey-50a3dd1c-50f35137 to keyring
D: read h# 818
Header SHA1 digest: OK
D: added key gpg-pubkey-17280ddf-5a631c69 to keyring
D: read h# 819
Header SHA1 digest: OK
D: added key gpg-pubkey-d85f9316-5b86e5f8 to keyring
D: read h# 845
Header SHA1 digest: OK
D: added key gpg-pubkey-6300dadb-57dd57b8 to keyring
D: read h# 936
Header SHA1 digest: OK
D: added key gpg-pubkey-a34552c6-57d17fc6 to keyring
D: Using legacy gpg-pubkey(s) from rpmdb
warning: /var/tmp/rpm-tmp.oOO0cE: Header V3 RSA/SHA256 Signature, key ID ee3d166a: NOKEY
D: /var/tmp/rpm-tmp.oOO0cE: Header SHA1 digest: OK
D: /var/tmp/rpm-tmp.oOO0cE: Header SHA256 digest: OK
ufdio: 6 reads, 56492 total bytes in 0.000224 secs
D: Plugin: calling hook init in syslog plugin
D: added binary package [0]
D: found 0 source and 1 binary packages
D: opening db index /usr/lib/sysimage/rpm/Conflictname nofsync:0x400 mode=0x0
D: opening db index /usr/lib/sysimage/rpm/Requirename nofsync:0x400 mode=0x0
D: ========== +++ libopenssl1_0_0-1.0.2p-49.1 x86_64/linux 0x0
D: opening db index /usr/lib/sysimage/rpm/Basenames nofsync:0x400 mode=0x0
D: read h# 946
Header V3 RSA/SHA256 Signature, key ID 39db7c82: OK
Header SHA1 digest: OK
Header SHA256 digest: OK
D: Requires: /sbin/ldconfig YES (db files)
D: Requires: /sbin/ldconfig YES (cached)
D: opening db index /usr/lib/sysimage/rpm/Providename nofsync:0x400 mode=0x0
D: Requires: libc.so.6()(64bit) YES (db provides)
D: Requires: libc.so.6(GLIBC_2.14)(64bit) NO
D: Requires: libc.so.6(GLIBC_2.17)(64bit) YES (db provides)
D: Requires: libc.so.6(GLIBC_2.2.5)(64bit) NO
D: Requires: libc.so.6(GLIBC_2.3)(64bit) NO
D: Requires: libc.so.6(GLIBC_2.3.4)(64bit) NO
D: Requires: libc.so.6(GLIBC_2.4)(64bit) NO
D: Requires: libc.so.6(GLIBC_2.7)(64bit) NO
D: Requires: libcrypto.so.1.0.0()(64bit) YES (added provide)
D: Requires: libcrypto.so.1.0.0(OPENSSL_1.0.0)(64bit) YES (added provide)
D: Requires: libdl.so.2()(64bit) YES (db provides)
D: Requires: libdl.so.2(GLIBC_2.2.5)(64bit) NO
D: read h# 12
Header V3 RSA/SHA256 Signature, key ID 39db7c82: OK
Header SHA1 digest: OK
Header SHA256 digest: OK
D: Requires: libz.so.1()(64bit) YES (db provides)
D: Requires: rpmlib(CompressedFileNames) <= 3.0.4-1 YES (rpmlib provides)
D: Requires: rpmlib(FileDigests) <= 4.6.0-1 YES (rpmlib provides)
D: Requires: rpmlib(PayloadFilesHavePrefix) <= 4.0-1 YES (rpmlib provides)
D: Requires: rpmlib(PayloadIsXz) <= 5.2-1 YES (rpmlib provides)
D: opening db index /usr/lib/sysimage/rpm/Obsoletename nofsync:0x400 mode=0x0
error: Failed dependencies:
libc.so.6(GLIBC_2.14)(64bit) is needed by libopenssl1_0_0-1.0.2p-49.1.x86_64
libc.so.6(GLIBC_2.2.5)(64bit) is needed by libopenssl1_0_0-1.0.2p-49.1.x86_64
libc.so.6(GLIBC_2.3)(64bit) is needed by libopenssl1_0_0-1.0.2p-49.1.x86_64
libc.so.6(GLIBC_2.3.4)(64bit) is needed by libopenssl1_0_0-1.0.2p-49.1.x86_64
libc.so.6(GLIBC_2.4)(64bit) is needed by libopenssl1_0_0-1.0.2p-49.1.x86_64
libc.so.6(GLIBC_2.7)(64bit) is needed by libopenssl1_0_0-1.0.2p-49.1.x86_64
libdl.so.2(GLIBC_2.2.5)(64bit) is needed by libopenssl1_0_0-1.0.2p-49.1.x86_64
D: closed db index /usr/lib/sysimage/rpm/Packages
D: closed db index /usr/lib/sysimage/rpm/Obsoletename
D: closed db index /usr/lib/sysimage/rpm/Conflictname
D: closed db index /usr/lib/sysimage/rpm/Providename
D: closed db index /usr/lib/sysimage/rpm/Requirename
D: closed db index /usr/lib/sysimage/rpm/Basenames
D: closed db index /usr/lib/sysimage/rpm/Name
D: closed db environment /usr/lib/sysimage/rpm
D: Exit status: 1
I’m missing multiple different versions on libc.so.6?
How come there are multiple versions of GLIBC_X.Y that I need?
Lastly:
$ ldd --version
ldd (GNU libc) 2.26
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
Where to go from here?
I’ve been trying to figure this out for two days now and I’m not sure if I’m even anywhere near the right track towards the solution.
It all starts from:
$ zypper install rabbitmq-server
Problem: nothing provides libcrypto.so.1.0.0()(64bit) needed by erlang-19.3.2-1.1.aarch64