[MDEV-4141] Galera library is not installable from MariaDB yum repository on Fedora Created: 2013-02-06  Updated: 2015-01-13  Resolved: 2015-01-13

Status: Closed
Project: MariaDB Server
Component/s: Galera
Affects Version/s: 5.5.28a-galera
Fix Version/s: 5.5.42-galera

Type: Bug Priority: Critical
Reporter: Elena Stepanova Assignee: Nirbhay Choubey (Inactive)
Resolution: Fixed Votes: 3
Labels: galera, packaging
Environment:

Fedora 17


Issue Links:
Relates
relates to MDEV-527 add galera packages to our repositories Closed
relates to MDEV-4229 Galera library is not installable fro... Closed

 Description   

I tried Fedora 17, but I suppose it will be the same for 16 and 18.

We have OS-specific packages for the server and Galera-server, but the galera library is the same rhel5 in all repositories (CentOS 5-6, Fedora 16-18). It installs all right on CentOS 5, but fails on Fedora 17 because it wants libssl.so.6 and libcrypto.so.6 which are not there:

sudo yum install galera
Loaded plugins: langpacks, presto, refresh-packagekit
Resolving Dependencies
--> Running transaction check
---> Package galera.x86_64 0:23.2.2-1.rhel5 will be installed
--> Processing Dependency: libcrypto.so.6()(64bit) for package: galera-23.2.2-1.rhel5.x86_64
--> Processing Dependency: libssl.so.6()(64bit) for package: galera-23.2.2-1.rhel5.x86_64
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package galera.x86_64 0:23.2.2-1.rhel5 will be installed
--> Finished Dependency Resolution
Error: Package: galera-23.2.2-1.rhel5.x86_64 (mariadb)
           Requires: libssl.so.6()(64bit)
Error: Package: galera-23.2.2-1.rhel5.x86_64 (mariadb)
           Requires: libcrypto.so.6()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

There might be a workaround, some sources suggest to link existing libcrypto.so and libssl.so libraries to the required .6 names, but it didn't work for me so far.

In any case, it doesn't look solid, hopefully we can fix it somehow.
If I build the library from sources, it links with .10 versions which are there:

	libssl.so.10 => /lib64/libssl.so.10 (0x00007f895cc23000)
	libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007f895c889000)

There is a complication though, Fedora 17 comes with gcc 4.7.2 which doesn't work with the current release sources of galera, it was only fixed in the galera tree as a post-fix for https://bugs.launchpad.net/galera/+bug/926464 (revision: http://bazaar.launchpad.net/~codership/galera/2.x/revision/138)



 Comments   
Comment by Idar Lund [ 2013-02-14 ]

Can confirm same error on F18, it also uses a newer version (10) of libcrypto/libssl

Comment by Idar Lund [ 2013-02-27 ]

symlinking the crypt modules and installing without checking deps
Will result in an other error. galera conflicts with file from package filesystem

this issue has nothing to do with the crypt issue.
seperate post: https://mariadb.atlassian.net/browse/MDEV-4218

Comment by Elena Stepanova [ 2013-02-27 ]

>> maybe make another jira post?

Sure, please submit a separate report.

Comment by Sergei Golubchik [ 2013-03-03 ]

Currently we don't build galera.rpm, but grab it from https://launchpad.net/galera/+download and put to our reporitory, so that yum would be able to satisfy the dependencies as needed.

Seppo, if you'd like us to build galera.rpm instead, reassign the issue back please. But we'll need time to integrate this in our build process.

Comment by Idar Lund [ 2013-03-05 ]

it's the same rpm as if you get it from mariadb repository; http://yum.mariadb.org/5.5/fedora18-amd64/rpms/
Seppo, please assign this one back, so that we get a working rpm on mariadb.org repo.

Comment by Elena Stepanova [ 2013-03-05 ]

Sergei's comment relates to my initial report, not to the one you submitted separately. It is about the galera RPM, which comes from Codership, even although you install it from mariadb.org repo.

Comment by Idar Lund [ 2013-03-05 ]

okay
this issue should be adressed at Codership, then? also; the rpm on mariadb repo should be removed, hence it doesn't work right now.

Comment by Elena Stepanova [ 2013-06-11 ]

Raising the priority due to the upcoming 5.5.31-galera release.
Please close if it's already been fixed.

Comment by Idar Lund [ 2013-06-12 ]

still a problem

Comment by Elena Stepanova [ 2013-06-15 ]

True, but it seems to be a different problem now. The new PRM (galera-23.2.4-1.rhel6) that we and Codership both have in the repo now installs on Fedora 17 all right through rpm, but doesn't work through yum. It doesn't fail and doesn't complain about dependencies, just ... doesn't get installed.

$ sudo yum install galera-23.2.4-1.rhel6.x86_64.rpm
Loaded plugins: langpacks, presto, refresh-packagekit
Examining galera-23.2.4-1.rhel6.x86_64.rpm: galera-23.2.4-1.rhel6.x86_64
Marking galera-23.2.4-1.rhel6.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package galera.x86_64 0:23.2.4-1.rhel6 will be installed
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package galera.x86_64 0:23.2.4-1.rhel6 will be installed
--> Finished Dependency Resolution
$ echo $?
0
$ rpm -qa | grep -i galera
$

Consequently, MariaDB-Galera-server doesn't install either.

But installing the same galera RPM through rpm works:

$ sudo rpm -ivh galera-23.2.4-1.rhel6.x86_64.rpm
Preparing... ########################################### [100%]
1:galera ########################################### [100%]

And after that it's possible to install MariaDB-Galera-server.

We need to figure out why yum installation does not work.

Comment by Hiroaki KAWAI [ 2013-09-12 ]

For the follwers, I'd like to put my workaround here for this issue.

I created a galera rpm for fedora from source with following patch ( some are already fixed in bzr 2.x branch ):
-----------------------------
diff -u -r galera-23.2.6-src/SConstruct galera-23.2.6-src-new/SConstruct
— galera-23.2.6-src/SConstruct 2013-06-29 07:05:37.000000000 +0900
+++ galera-23.2.6-src-new/SConstruct 2013-09-12 13:23:32.183831162 +0900
@@ -272,8 +272,8 @@
conf.env.Append(CPPFLAGS = ' -DGALERA_USE_BOOST_POOL_ALLOC=1')

  1. due to a bug in boost >= 1.50 we need to link with boost_system
  2. - should be a noop with no boost_pool.
    1. if conf.CheckLib('boost_system'):
    2. conf.env.Append(LIBS=['boost_system'])
      + if conf.CheckLib('boost_system'):
      + conf.env.Append(LIBS=['boost_system'])
      else:
      print 'Error: boost/pool/pool_alloc.hpp not found or not usable'
      Exit(1)
      diff -u -r galera-23.2.6-src/scripts/build.sh galera-23.2.6-src-new/scripts/build.sh
      • galera-23.2.6-src/scripts/build.sh 2013-06-29 07:05:37.000000000 +0900
        +++ galera-23.2.6-src-new/scripts/build.sh 2013-09-12 13:25:08.047343985 +0900
        @@ -303,7 +303,7 @@
        #if [ "$GALERA_REV" == "exported" ]
        #then
        GALERA_REV=$(bzr revno 2>/dev/null) || \
  • GALERA_REV=$(svnversion | sed s/\:/,/g) || \
    + GALERA_REV=$(svnversion | sed s/\:/,/g | sed s/ /_/g ) || \
    GALERA_REV=$(echo "xxxx")
    export GALERA_REV
    #fi
    diff -u -r galera-23.2.6-src/scripts/packages/galera.spec galera-23.2.6-src-new/scripts/packages/galera.spec
      • galera-23.2.6-src/scripts/packages/galera.spec 2013-06-29 07:05:37.000000000 +0900
        +++ galera-23.2.6-src-new/scripts/packages/galera.spec 2013-09-12 13:47:01.082402947 +0900
        @@ -96,13 +96,13 @@
        %config(noreplace,missingok) %{_sysconfdir}/sysconfig/garb
        %attr(0755,root,root) %{_sysconfdir}/init.d/garb

-%attr(0755,root,root) %dir %{_bindir}
+#%attr(0755,root,root) %dir %{_bindir}
%attr(0755,root,root) %{_bindir}/garbd

-%attr(0755,root,root) %dir %

{libs}
+#%attr(0755,root,root) %dir %{libs}

%attr(0755,root,root) %

{libs}

/libgalera_smm.so

-%attr(0755,root,root) %dir %

{docs}
+#%attr(0755,root,root) %dir %{docs}

%doc %attr(0644,root,root) %

{docs}/COPYING
%doc %attr(0644,root,root) %{docs}

/README
%doc %attr(0644,root,root) %

{docs}

/README-MySQL
diff -u -r galera-23.2.6-src/scripts/packages/rpm.sh galera-23.2.6-src-new/scripts/packages/rpm.sh
— galera-23.2.6-src/scripts/packages/rpm.sh 2013-06-29 07:05:37.000000000 +0900
+++ galera-23.2.6-src-new/scripts/packages/rpm.sh 2013-09-12 13:32:56.161842130 +0900
@@ -44,7 +44,7 @@
--define "optflags $RPM_OPT_FLAGS" \
--define "version $1" \
--define "release $RELEASE" \

  • -bb --short-circuit -bi $GALERA_SPEC
    + -bb $GALERA_SPEC

RPM_ARCH=$(uname -m | sed s/i686/i386/)

-----------------------------

build and package (Fedora 18)
-----------------------------
./scripts/build.sh
./scripts/packages/rpm.sh 18
-----------------------------

Install galera rpm with yum and the, install MariaDB-Galera-server.
-----------------------------
yum install galera-18-1.fc18.x86_64.rpm
yum install MariaDB-Galera-server
-----------------------------

Comment by Oden Eriksson [ 2013-10-24 ]

To me it looks like the packages was built on a rhel5 host that has openssl-0.9.8x that uses the soname 6. Later fedora uses openssl-1.x with another soname. Usually this operation when you try to install for example a rhel5 package on another distro release for example rhel6 (or distro for that matter) is unsupported by the distro vendor.

Solution: For Fedora 17 use packages that are built for Fedora 17.

EDIT: I just read the intial report again and missed that the problem is elsewhere. rhel5 packages has been put in the Fedora 17 yum repo. I see now at for example http://yum.mariadb.org/10.0/fedora18-x86/rpms/ this is the problem as with:
http://yum.mariadb.org/10.0/fedora18-x86/rpms/galera-23.2.4-1.rhel6.i386.rpm

Solution: Provide galera binaries for Fedora 18 built on Fedora 18.

Comment by Daniel Bartholomew [ 2013-10-24 ]

That's only in the 10.0 repositories, which I haven't messed with much as MariaDB Galera Cluster is not available for them.

Look instead at: http://yum.mariadb.org/5.5/fedora18-x86/rpms/

The package there was built on Fedora 18. But it doesn't work. Add the repo, issue a 'yum install galera' and it doesn't actually install it.

Comment by Nirbhay Choubey (Inactive) [ 2015-01-13 ]

We are currently build MariaDB Galera server packages for fedora 19 and 20, galera packages supplied for those platforms install just fine.

Generated at Thu Feb 08 06:54:05 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.