Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-4141

Galera library is not installable from MariaDB yum repository on Fedora

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 5.5.28a-galera
    • Fix Version/s: 5.5.42-galera
    • Component/s: Galera
    • Labels:
    • Environment:
      Fedora 17

      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)

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              elenst Elena Stepanova added a comment - - edited

              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.

              Show
              elenst Elena Stepanova added a comment - - edited 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.
              Hide
              hkwi Hiroaki KAWAI added a comment -

              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
              -----------------------------

              Show
              hkwi Hiroaki KAWAI added a comment - 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') due to a bug in boost >= 1.50 we need to link with boost_system - should be a noop with no boost_pool. if conf.CheckLib('boost_system'): 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 -----------------------------
              Hide
              oden Oden Eriksson added a comment - - edited

              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.

              Show
              oden Oden Eriksson added a comment - - edited 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.
              Hide
              dbart Daniel Bartholomew added a comment -

              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.

              Show
              dbart Daniel Bartholomew added a comment - 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.
              Hide
              nirbhay_c Nirbhay Choubey added a comment -

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

              Show
              nirbhay_c Nirbhay Choubey added a comment - We are currently build MariaDB Galera server packages for fedora 19 and 20, galera packages supplied for those platforms install just fine.

                People

                • Assignee:
                  nirbhay_c Nirbhay Choubey
                  Reporter:
                  elenst Elena Stepanova
                • Votes:
                  3 Vote for this issue
                  Watchers:
                  10 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Time Tracking

                    Estimated:
                    Original Estimate - Not Specified
                    Not Specified
                    Remaining:
                    Remaining Estimate - 0 minutes
                    0m
                    Logged:
                    Time Spent - 1 hour, 15 minutes
                    1h 15m