Fedora 20 package issues

Post Reply
AliceWonder
Posts: 24
Joined: Fri Dec 13, 2013 11:49 pm
os: linux

Fedora 20 package issues

Post by AliceWonder »

The Fedora 20 repo is broken.

Attempting to use it results in a missing dependency, the package wants a shared library newer than what fedora 20 has.

Code: Select all

yum install namecoin-gui
Loaded plugins: langpacks, refresh-packagekit
home_p_conrad_coins                                                                                                                            | 1.6 kB  00:00:00     
home_p_conrad_coins/primary                                                                                                                    |  25 kB  00:00:00     
home_p_conrad_coins                                                                                                                                           129/129
Resolving Dependencies
--> Running transaction check
---> Package namecoin-gui.x86_64 0:0.3.75-4.1 will be installed
--> Processing Dependency: libboost_thread-mt.so.1.50.0()(64bit) for package: namecoin-gui-0.3.75-4.1.x86_64
--> Processing Dependency: libboost_system-mt.so.1.50.0()(64bit) for package: namecoin-gui-0.3.75-4.1.x86_64
--> Processing Dependency: libminiupnpc.so.8()(64bit) for package: namecoin-gui-0.3.75-4.1.x86_64
--> Processing Dependency: libboost_filesystem.so.1.50.0()(64bit) for package: namecoin-gui-0.3.75-4.1.x86_64
--> Processing Dependency: libboost_system.so.1.50.0()(64bit) for package: namecoin-gui-0.3.75-4.1.x86_64
--> Processing Dependency: libboost_program_options.so.1.50.0()(64bit) for package: namecoin-gui-0.3.75-4.1.x86_64
--> Finished Dependency Resolution
Error: Package: namecoin-gui-0.3.75-4.1.x86_64 (home_p_conrad_coins)
           Requires: libboost_system-mt.so.1.50.0()(64bit)
Error: Package: namecoin-gui-0.3.75-4.1.x86_64 (home_p_conrad_coins)
           Requires: libboost_thread-mt.so.1.50.0()(64bit)
Error: Package: namecoin-gui-0.3.75-4.1.x86_64 (home_p_conrad_coins)
           Requires: libboost_filesystem.so.1.50.0()(64bit)
Error: Package: namecoin-gui-0.3.75-4.1.x86_64 (home_p_conrad_coins)
           Requires: libboost_program_options.so.1.50.0()(64bit)
Error: Package: namecoin-gui-0.3.75-4.1.x86_64 (home_p_conrad_coins)
           Requires: libminiupnpc.so.8()(64bit)
Error: Package: namecoin-gui-0.3.75-4.1.x86_64 (home_p_conrad_coins)
           Requires: libboost_system.so.1.50.0()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
My suspicion is the rpm was built on a system outside of mock that had shared libraries that are not distributed by fedora.

So I grabbed the src.rpm - many moons ago I was a fedora packager, working with spec files not a problem for me.

There is one build dependency not resolved:

Code: Select all

[namecoin@localhost SPECS]$ rpmbuild -bi namecoin.spec 
error: Failed build dependencies:
	libopenssl-ecc-devel is needed by namecoin-0.3.75-4.1.x86_64
My suspicion - bitcoin-qt packaged for Fedora requires a different openssl than what Fedora provides because of a bug in Fedora's OpenSSL.

The *unofficial* bitcoin repository for Fedora packages openssl as openssl-compat so it can be installed parallel with Fedora's and bitcoin can use it:

Code: Select all

[namecoin@localhost SPECS]$ rpm -qa |grep openssl
openssl-compat-bitcoin-1.0.1h-0.1.fc20.x86_64
openssl-1.0.1e-38.fc20.x86_64
openssl-compat-bitcoin-libs-1.0.1h-0.1.fc20.x86_64
openssl-devel-1.0.1e-38.fc20.x86_64
openssl-libs-1.0.1e-38.fc20.x86_64
openssl-compat-bitcoin-devel-1.0.1h-0.1.fc20.x86_6
My suspicion is the openssl-compat-bitcoin is what namecoin needs to properly build on Fedora 20 - it's not packaged by Fedora but the *un-official* bitcoin repository for Fedora is maintained by a Fedora packager, he wants to get bitcoin into Fedora, it's the openssl issue in the way.

So if the namecoin specfile is updated to his his build of openssl I suspect it will work.

Thoughts / Experience?

I am going out of town so this probably means I won't get to work on it until next month, and maybe not then because I'm going out of town again.

The bitcoin repository I use for fedora 20 (and have since Fedora 18) is at

http://www.ringingliberty.com/bitcoin/

I *suspect* if we get a namecoin spec file that builds in mock using just fedora packages + his openssl compat build, he may be willing to add the package to his repository, he seems like a nice guy and last I knew he was a current Fedora packager (I haven't been for years) so it adds some degree of trust and could potentially help get namecoin into Fedora official repository if/when they fix their OpenSSL packaging so bitcoin can get in.

Thoughts?

I'll look at the spec file some more later today and adjust it to use his openssl build and then see if it builds.

pmc
Posts: 73
Joined: Thu Oct 03, 2013 8:50 pm
Location: Germany
Contact:

Re: Fedora 20 package issues

Post by pmc »

Hi,

thanks for your feedback!
AliceWonder wrote:The Fedora 20 repo is broken.

Attempting to use it results in a missing dependency, the package wants a shared library newer than what fedora 20 has.

Code: Select all

Error: Package: namecoin-gui-0.3.75-4.1.x86_64 (home_p_conrad_coins)
           Requires: libboost_system-mt.so.1.50.0()(64bit)
Error: Package: namecoin-gui-0.3.75-4.1.x86_64 (home_p_conrad_coins)
           Requires: libboost_thread-mt.so.1.50.0()(64bit)
Error: Package: namecoin-gui-0.3.75-4.1.x86_64 (home_p_conrad_coins)
           Requires: libboost_filesystem.so.1.50.0()(64bit)
Error: Package: namecoin-gui-0.3.75-4.1.x86_64 (home_p_conrad_coins)
           Requires: libboost_program_options.so.1.50.0()(64bit)
Error: Package: namecoin-gui-0.3.75-4.1.x86_64 (home_p_conrad_coins)
           Requires: libminiupnpc.so.8()(64bit)
Error: Package: namecoin-gui-0.3.75-4.1.x86_64 (home_p_conrad_coins)
           Requires: libboost_system.so.1.50.0()(64bit)
I think you're using the wrong version of my repo. The packages for Fedora_20 were built with boost-1.54. boost-1.50 is more like Fedora_18, I think.
Here's the build log: https://build.opensuse.org/build/home:p ... ecoin/_log
AliceWonder wrote: There is one build dependency not resolved:

Code: Select all

[namecoin@localhost SPECS]$ rpmbuild -bi namecoin.spec 
error: Failed build dependencies:
	libopenssl-ecc-devel is needed by namecoin-0.3.75-4.1.x86_64
My suspicion - bitcoin-qt packaged for Fedora requires a different openssl than what Fedora provides because of a bug in Fedora's OpenSSL.
Not a bug. Fedora's openssl is built without ECC support and can therefore not be used to build namecoin (or bitcoin, or any other of its derivatives). openssl-ecc is my own clone of openSUSE's openssl build, trimmed down to the static libraries required to build Fedora packages of *coin. Any other openssl version built with ECC support should work just as well.

Peter

AliceWonder
Posts: 24
Joined: Fri Dec 13, 2013 11:49 pm
os: linux

Re: Fedora 20 package issues

Post by AliceWonder »

Okay I think I see what happened.

I think I copypasta'd the url for the F18 repo file instead of the F20 one - probably saw the F19 and grabbed the one after instead of before.

AliceWonder
Posts: 24
Joined: Fri Dec 13, 2013 11:49 pm
os: linux

Re: Fedora 20 package issues

Post by AliceWonder »

It is still broken but it is Fedora's fault:

Code: Select all

Requires: libminiupnpc.so.9()(64bit)
           Available: miniupnpc-1.8-1.fc20.x86_64 (fedora)
               libminiupnpc.so.9()(64bit)
           Installed: miniupnpc-1.9-1.fc20.x86_64 (@updates)
              ~libminiupnpc.so.10()(64bit)
Fedora updated the shared library version without providing a -compat version that provides the older shared library.

That kind of thing wasn't allowed when I was a packager, if an update changed a shared library version - it waited until next Fedora release or we had to provide the older version as well. It seems general in Linux that people just don't care about stability anymore. Ah well.

So anyway, looks like the gui package needs a rebuild against newer libminiupnpc.

pmc
Posts: 73
Joined: Thu Oct 03, 2013 8:50 pm
Location: Germany
Contact:

Re: Fedora 20 package issues

Post by pmc »

AliceWonder wrote: So anyway, looks like the gui package needs a rebuild against newer libminiupnpc.
Unfortunately I'm limited to the build environment that OBS provides, which apparently lacks Fedora updates.
The only alternative would be to remove UPNP support from the Fedora build (and re-add it when the Fedora-21 build environment becomes available). Opinions?

AliceWonder
Posts: 24
Joined: Fri Dec 13, 2013 11:49 pm
os: linux

Re: Fedora 20 package issues

Post by AliceWonder »

For now I'm going to just try to use it w/o the gui (that installs) but I think what I may do then is just make a -compat package myself to provide the older version of the shared library.

John Kenney
Posts: 94
Joined: Sat Mar 29, 2014 2:20 pm
os: linux
Location: Sheffield, England
Contact:

Re: Fedora 20 package issues

Post by John Kenney »

I still have problems with libminiupnpc & your rpm on Fedora 19 too. It'd be better if OBS included Fedora updates, sounds like it's a fault with their system? I don't use upnp.

pmc
Posts: 73
Joined: Thu Oct 03, 2013 8:50 pm
Location: Germany
Contact:

Re: Fedora 20 package issues

Post by pmc »

I've rebuilt the Fedora packages without UPNP support. It will be re-enabled for Fedora-21.

(I think the OBS build environments are only ever updated on point releases, if at all. Regular updates are usually not included.)

indolering
Posts: 801
Joined: Sun Aug 18, 2013 8:26 pm
os: mac

Re: Fedora 20 package issues

Post by indolering »

Thanks for staying on top of this PMC!
DNS is much more than a key->value datastore.

Post Reply