Bug 1423194

Summary: galera: FTBFS in rawhide
Product: [Fedora] Fedora Reporter: Jonathan Wakely <jwakely>
Component: galeraAssignee: Fabio Massimo Di Nitto <fdinitto>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: dciabrin, fdinitto, hhorak, mbayer, rohara
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-18 01:03:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
config.log from failed build none

Description Jonathan Wakely 2017-02-17 03:07:14 UTC
Created attachment 1251347 [details]
config.log from failed build

Failed build: https://koji.fedoraproject.org/koji/taskinfo?taskID=17724871

Checking for C++ header file asio.hpp... no
Falling back to bundled asio
Checking for C++ header file asio.hpp... yes
Checking for C++ header file asio/ssl.hpp... no
ssl support required but asio/ssl.hpp not found or not usable
compile with ssl=0 or check that openssl devel headers are usable
error: Bad exit status from /var/tmp/rpm-tmp.l7NIxj (%build)
    Bad exit status from /var/tmp/rpm-tmp.l7NIxj (%build)
RPM build errors:
Child return code was: 1
EXCEPTION: [Error()]

This appears to be because the bundled asio doesn't support OpenSSL 1.1.0, because it's an old version of asio.

The package would probably build if BuildRequires was changed from openssl-devel to compat-openssl10-devel, but I wonder why it uses a bundled asio in the first place? There are already two copies of asio in Fedora, as boost-asio and the standalone asio. 

galera already has BuildRequires: boost-devel, so the asio headers are installed, but the config test doesn't look in /usr/include/boost so it doesn't find /usr/include/boost/asio.hpp

The package builds successfully if asio-devel is added to the BuildRequires, so  it finds /usr/include/asio.hpp and doesn't need the bundled version.

i.e this fixes the build, and stops using the bundled lib:


--- a/galera.spec
+++ b/galera.spec
@@ -10,7 +10,7 @@ Source0:        http://releases.galeracluster.com/source/%{name}-3-%{version}.ta
 Source1:        garbd.service
 Source2:        garbd-wrapper
 
-BuildRequires:  boost-devel check-devel openssl-devel scons systemd
+BuildRequires:  boost-devel check-devel openssl-devel scons systemd asio-devel
 Requires:       nmap-ncat

Comment 1 Jonathan Wakely 2017-02-17 03:11:13 UTC
The spec file should have said "Provides: bundled(asio) = 1.4.8"

https://fedoraproject.org/wiki/Bundled_Libraries?rd=Packaging:Bundled_Libraries#Requirement_if_you_bundle