obsolete
FEDORA-2018-98ccf382ee created by slaanesh 4 years ago for Fedora 28

Filter out libbaccats libraries from packages so it is not taken into account when calculateing dependencies.

This update has been submitted for testing by slaanesh.

4 years ago

I tried bacula-9.0.7-4.fc28 but it still has problems. Specifically, while it installs, it won't run. /var/log/messages shows why:

/usr/sbin/bacula-dir: error while loading shared libraries: libbaccats-9.0.7.so: cannot open shared object file: No such file or directory

When I look in /usr/lib64, I see:

saf# ll /usr/lib64/libbaccats -rwxr-xr-x 1 root root 36296 Jun 11 07:02 /usr/lib64/libbaccats.so -rwxr-xr-x 1 root root 24096 Jun 11 07:02 /usr/lib64/libbaccats-sqlite3.so -rwxr-xr-x 1 root root 24096 Jun 11 07:02 /usr/lib64/libbaccats-sqlite3-9.0.7.so -rwxr-xr-x 1 root root 36296 Jun 11 07:02 /usr/lib64/libbaccats-postgresql.so -rwxr-xr-x 1 root root 36296 Jun 11 07:02 /usr/lib64/libbaccats-postgresql-9.0.7.so -rwxr-xr-x 1 root root 28136 Jun 11 07:02 /usr/lib64/libbaccats-mysql.so -rwxr-xr-x 1 root root 28136 Jun 11 07:02 /usr/lib64/libbaccats-mysql-9.0.7.so

As you can see, there is no library libbaccats-9.0.7.so so bacula-dir won't run.

I can work around it by doing:

saf# cd /usr/lib64 saf# ln -s libbaccats-postgresql-9.0.7.so libbaccats-9.0.7.so

There might be a way to work around it with the "alternatives" command, but since it now would have to contain the version number, we'd have to re-run alternatives on every update. I don't think that is acceptable.

Not sure that karma is working. I'm trying to give it a -1, but it doesn't seem to update. I'll try again...

User Icon stevenfalco commented & provided feedback 4 years ago
karma

One last time trying to post karma. Sorry for the noise...

This update has been obsoleted.

4 years ago

Hello, no problem for the noise. This is due to the horrible way of selecting the database that Bacula has. It depends on a library soname that no one provides so you need to rely on a symlink. Any tool (RPM, etc.) at build time flags that as unacceptable and you need workarounds. This is why the alternative is set with the unversioned library:

$ update-alternatives --display libbaccats.so
libbaccats.so - status is manual.
 link currently points to /usr/lib64/libbaccats-mysql.so
/usr/lib64/libbaccats-mysql.so - priority 50
/usr/lib64/libbaccats-sqlite3.so - priority 40
/usr/lib64/libbaccats-postgresql.so - priority 60
Current `best' version is /usr/lib64/libbaccats-postgresql.so.

Alternatives is also configured to provide a default, so you should never ever run it again except at install time when selecting the database (please read the included README in the bacula-common package).

It works fine here in finding his libraries by just installing the packages: $ ls -algh /usr/lib64/libbaccats* lrwxrwxrwx. 1 root 13 May 14 09:35 /usr/lib64/libbaccats-9.0.7.so -> libbaccats.so -rwxr-xr-x. 1 root 27K Jun 11 12:49 /usr/lib64/libbaccats-mysql-9.0.7.so lrwxrwxrwx. 1 root 25 Jun 11 12:49 /usr/lib64/libbaccats-mysql.so -> libbaccats-mysql-9.0.7.so -rwxr-xr-x. 1 root 35K Jun 11 12:49 /usr/lib64/libbaccats-postgresql-9.0.7.so lrwxrwxrwx. 1 root 30 Jun 11 12:49 /usr/lib64/libbaccats-postgresql.so -> libbaccats-postgresql-9.0.7.so lrwxrwxrwx. 1 root 31 Jun 11 12:53 /usr/lib64/libbaccats.so -> /etc/alternatives/libbaccats.so -rwxr-xr-x. 1 root 24K Jun 11 12:49 /usr/lib64/libbaccats-sqlite3-9.0.7.so lrwxrwxrwx. 1 root 27 Jun 11 12:49 /usr/lib64/libbaccats-sqlite3.so -> libbaccats-sqlite3-9.0.7.so

Damn markdown, needs a cr before the code block:

$ ls -algh /usr/lib64/libbaccats*
lrwxrwxrwx. 1 root  13 May 14 09:35 /usr/lib64/libbaccats-9.0.7.so -> libbaccats.so
-rwxr-xr-x. 1 root 27K Jun 11 12:49 /usr/lib64/libbaccats-mysql-9.0.7.so
lrwxrwxrwx. 1 root  25 Jun 11 12:49 /usr/lib64/libbaccats-mysql.so -> libbaccats-mysql-9.0.7.so
-rwxr-xr-x. 1 root 35K Jun 11 12:49 /usr/lib64/libbaccats-postgresql-9.0.7.so
lrwxrwxrwx. 1 root  30 Jun 11 12:49 /usr/lib64/libbaccats-postgresql.so -> libbaccats-postgresql-9.0.7.so
lrwxrwxrwx. 1 root  31 Jun 11 12:53 /usr/lib64/libbaccats.so -> /etc/alternatives/libbaccats.so
-rwxr-xr-x. 1 root 24K Jun 11 12:49 /usr/lib64/libbaccats-sqlite3-9.0.7.so
lrwxrwxrwx. 1 root  27 Jun 11 12:49 /usr/lib64/libbaccats-sqlite3.so -> libbaccats-sqlite3-9.0.7.so

I may not be using alternatives correctly. As per the readme, if I do:

alternatives --config libbaccats.so

then I only get:

lrwxrwxrwx   1 root root        31 Jun 11 10:13 libbaccats.so -> /etc/alternatives/libbaccats.so*

What command did you use to create the link:

lrwxrwxrwx. 1 root  13 May 14 09:35 /usr/lib64/libbaccats-9.0.7.so -> libbaccats.so

I see in your 'ls' that your libbaccats-9.0.7.so has a different date from your other files, so I'm wondering how it got created.

It's all in the README in the bacula-common package: /usr/share/doc/bacula-common/README.Redhat

The symlink gets created when you install the package. I guess you can just try removing everything and reinstalling. If you prefer to fix it manually:

alternatives --config libbaccats.so

And just select the number.

It does not work for me. I ran that exact command. All it did was create:

libbaccats.so -> /etc/alternatives/libbaccats.so

It did not create:

libbaccats-9.0.7.so -> libbaccats.so

I'd like to request that you delete your "libbaccats-9.0.7.so -> libbaccats.so" symlink on your machine. Then run the command and see if "libbaccats-9.0.7.so -> libbaccats.so" is re-created for you.

If alternatives creates "libbaccats-9.0.7.so -> libbaccats.so" for you, then there is something that is keeping it from working properly for me. I'd like to figure out what that is...

You are right, that is a leftover from the previous attempts, and was recreated by ldconfig.

I restored the soname renaming patch:

https://src.fedoraproject.org/rpms/bacula/blob/master/f/bacula.spec#_44-49

And excluded the symlink in the %files section to workaround Fedora 28 builds adding the symlink anyway:

https://src.fedoraproject.org/rpms/bacula/blob/master/f/bacula.spec#_581-583

This fixes the library issues. I've created a separate update. Thanks for feedback!


Please login to add feedback.

Metadata
Type
bugfix
Severity
high
Karma
-1
Signed
Content Type
RPM
Test Gating
Settings
Unstable by Karma
-1
Stable by Karma
1
Stable by Time
disabled
Dates
submitted
4 years ago
BZ#1588514 Cannot upgrade to bacula 9.0.7-3.fc28
0
0
BZ#1588668 Cannot upgrade to bacula 9.0.7
0
0

Automated Test Results