Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1428550 - nss-pem.i686 not available on x86_64 platform
Summary: nss-pem.i686 not available on x86_64 platform
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: curl
Version: 25
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Kamil Dudka
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-03-02 19:39 UTC by Hin-Tak Leung
Modified: 2017-04-07 03:48 UTC (History)
2 users (show)

Fixed In Version: curl-7.53.1-3.fc27 curl-7.51.0-5.fc25
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-04-07 03:48:35 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Hin-Tak Leung 2017-03-02 19:39:17 UTC
Description of problem:
nss-pem.i686 not available on x86_64.

This causes obscure failure of 32-bit version of libcurl-dependent applications (R) when accessing https urls.

Version-Release number of selected component (if applicable):
nss-pem-1.0.2-2.fc25.i686

How reproducible:
Always

Steps to Reproduce:
1. Runs 32-bit R on 64-bit platform to access https urls. (this is part of R's own 'make check-all' )
2.
3.

Actual results:
fails.

Expected results:
success.

Additional info:
I can manually download nss-pem.i686 from koji to work around this issue.

Comment 1 Kamil Dudka 2017-03-03 16:15:40 UTC
Confirmed.  Any idea how to fix it?

I wonder if patching curl.spec as follows would do the trick:

diff --git a/curl.spec b/curl.spec
index 9e2ab3f..f1bfd1f 100644
--- a/curl.spec
+++ b/curl.spec
@@ -79,17 +79,17 @@ resume, proxy tunneling and a busload of other useful tricks.

 %package -n libcurl
 Summary: A library for getting files from web servers
 Group: Development/Libraries
 Requires: libssh2%{?_isa} >= %{libssh2_version}

 # libnsspem.so is no longer included in the nss package (#1347336)
 BuildRequires: nss-pem
-Requires: nss-pem
+Requires: nss-pem%{?_isa}

 %description -n libcurl
 libcurl is a free and easy-to-use client-side URL transfer library, supporting
 FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, IMAP,
 SMTP, POP3 and RTSP. libcurl supports SSL certificates, HTTP POST, HTTP PUT,
 FTP uploading, HTTP form based upload, proxies, cookies, user+password
 authentication (Basic, Digest, NTLM, Negotiate, Kerberos4), file transfer
 resume, http proxy tunneling and more.

Comment 2 Hin-Tak Leung 2017-03-03 16:23:41 UTC
No, patching libcurl.spec is not sufficient, as nss-pem.i686 is simply not available on x86_64. You could verify this with:

   sudo dnf install -y nss-pem.i686

(on a x86_64 box). It is simply not found.

Comment 3 Kamil Dudka 2017-03-03 16:33:16 UTC
I already verified it (sorry if it was not obvious from my reply) and I believe that the proposed patch for curl.spec would fix this bug by making nss-pem.i686 available on x86_64.  I am not aware of any change to nss-pem.spec itself that could help us to fix this bug.

Comment 4 Paul Howarth 2017-03-04 14:54:11 UTC
(In reply to Kamil Dudka from comment #3)
> I already verified it (sorry if it was not obvious from my reply) and I
> believe that the proposed patch for curl.spec would fix this bug by making
> nss-pem.i686 available on x86_64.  I am not aware of any change to
> nss-pem.spec itself that could help us to fix this bug.

Adding an arch-specific dependency will only help once the 32-bit package ends up in the 64-bit repo. To get that to happen, a ticket needs to be raised on pungi-fedora, like this one for postgresql-odbc and mysql-connector-odbc:

https://pagure.io/pungi-fedora/issue/124

I don't know if that affects all releases, or just Rawhide. Best to ask when raising the ticket.

Comment 5 Kamil Dudka 2017-03-06 08:14:36 UTC
Paul, are you saying that the tool for creating composes of Fedora is so stupid that it does not automatically pull multilib dependencies of packages that are already multilib?

The white-list you refer to contains 18 items for the whole Fedora:

https://pagure.io/fork/mohanboddu/pungi-fedora/blob/cacd6091/f/fedora.conf#_177

I see neither libcurl nor nss on the list.  So why should we append nss-pem?

Comment 6 Paul Howarth 2017-03-06 08:47:20 UTC
My understanding is that it includes devel packages, their dependencies and things on the multilib whitelist. I may be wrong and there's no need to do anything except make the change you suggested and get nss-pem 32-bit pulled in via the dependency route - I've never needed to address a multilib issue like this previously.

Comment 7 Kamil Dudka 2017-03-06 09:07:05 UTC
(In reply to Paul Howarth from comment #6)
> My understanding is that it includes devel packages, their dependencies and
> things on the multilib whitelist.

So it is exactly what we need here, isn't it?

libcurl-devel-7.51.0-4.fc25.i686 requires libcurl(x86-32) = 7.51.0-4.fc25, which is provided by libcurl-7.51.0-4.fc25.i686.  If we make libcurl.i686 require nss-pem(x86-32), nss-pem.i686 will become (indirect) dependency of libcurl-devel.i686.

In any case, adding the suggested dependency to the libcurl package should be harmless.  Even if it did not solve the problem with making nss-pem.i686 available on x86_64, it would at least prevent users from installing libcurl that fails to load certificates from files.  For people that install nss-pem.i686 manually from Koji, it will continue to work as before.

So I propose to introduce the dependency in libcurl first.  If it does not help, I will file the ticket on pungi-fedora.

Comment 8 Paul Howarth 2017-03-06 09:14:43 UTC
Sounds like a good plan to me, in Rawhide first as proof of concept of course.

Comment 9 Kamil Dudka 2017-03-06 09:34:29 UTC
Thanks for review!  Pushed:

http://pkgs.fedoraproject.org/cgit/rpms/curl.git/commit/?id=4832a02c

Comment 10 Kamil Dudka 2017-03-08 15:19:21 UTC
Appears to be fixed in Fedora rawhide...

[kdudka@f27 ~]$ uname -m 
x86_64

[kdudka@f27 ~]$ sudo dnf install -y libcurl-devel.i686
Last metadata expiration check: 0:08:26 ago on Wed Mar 08 16:09:10 2017 CET.
Dependencies resolved.
================================================================================
 Package               Arch        Version                 Repository      Size
================================================================================
Installing:
 libcurl-devel         i686        7.53.1-3.fc27           rawhide        699 k
Installing dependencies:
 cyrus-sasl-lib        i686        2.1.26-28.fc26          rawhide        163 k
 krb5-libs             i686        1.15.1-1.fc27           rawhide        786 k
 libcom_err            i686        1.43.4-2.fc26           rawhide         45 k
 libcurl               i686        7.53.1-3.fc27           rawhide        288 k
 libdb                 i686        5.3.28-17.fc26          rawhide        801 k
 libidn2               i686        0.16-2.fc26             rawhide         86 k
 libnghttp2            i686        1.20.0-1.fc26           rawhide         76 k
 libpsl                i686        0.17.0-2.fc26           rawhide         48 k
 libunistring          i686        0.9.7-1.fc26            rawhide        416 k
 libverto              i686        0.2.6-7.fc26            rawhide         21 k
 nss-pem               i686        1.0.3-2.fc27            rawhide         79 k
 openldap              i686        2.4.44-8.fc26           rawhide        362 k

Transaction Summary
================================================================================
Install  13 Packages

Total download size: 3.8 M
Installed size: 8.9 M
Downloading Packages:
(1/13): libcurl-7.53.1-3.fc27.i686.rpm           19 MB/s | 288 kB     00:00    
(2/13): libcurl-devel-7.53.1-3.fc27.i686.rpm     28 MB/s | 699 kB     00:00    
(3/13): libcom_err-1.43.4-2.fc26.i686.rpm       4.0 MB/s |  45 kB     00:00    
(4/13): krb5-libs-1.15.1-1.fc27.i686.rpm         22 MB/s | 786 kB     00:00    
(5/13): libidn2-0.16-2.fc26.i686.rpm            7.1 MB/s |  86 kB     00:00    
(6/13): libnghttp2-1.20.0-1.fc26.i686.rpm       6.3 MB/s |  76 kB     00:00    
(7/13): libpsl-0.17.0-2.fc26.i686.rpm           9.0 MB/s |  48 kB     00:00    
(8/13): nss-pem-1.0.3-2.fc27.i686.rpm            11 MB/s |  79 kB     00:00    
(9/13): libverto-0.2.6-7.fc26.i686.rpm          5.0 MB/s |  21 kB     00:00    
(10/13): openldap-2.4.44-8.fc26.i686.rpm         25 MB/s | 362 kB     00:00    
(11/13): cyrus-sasl-lib-2.1.26-28.fc26.i686.rpm  18 MB/s | 163 kB     00:00    
(12/13): libunistring-0.9.7-1.fc26.i686.rpm      26 MB/s | 416 kB     00:00    
(13/13): libdb-5.3.28-17.fc26.i686.rpm           49 MB/s | 801 kB     00:00    
--------------------------------------------------------------------------------
Total                                            50 MB/s | 3.8 MB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Installing  : libunistring-0.9.7-1.fc26.i686                             1/13 
  Installing  : libidn2-0.16-2.fc26.i686                                   2/13 
  Installing  : libcom_err-1.43.4-2.fc26.i686                              3/13 
  Installing  : libpsl-0.17.0-2.fc26.i686                                  4/13 
  Installing  : libdb-5.3.28-17.fc26.i686                                  5/13 
  Installing  : cyrus-sasl-lib-2.1.26-28.fc26.i686                         6/13 
  Installing  : openldap-2.4.44-8.fc26.i686                                7/13 
  Installing  : libverto-0.2.6-7.fc26.i686                                 8/13 
  Installing  : krb5-libs-1.15.1-1.fc27.i686                               9/13 
  Installing  : nss-pem-1.0.3-2.fc27.i686                                 10/13 
  Installing  : libnghttp2-1.20.0-1.fc26.i686                             11/13 
  Installing  : libcurl-7.53.1-3.fc27.i686                                12/13 
  Installing  : libcurl-devel-7.53.1-3.fc27.i686                          13/13 
  Verifying   : libcurl-devel-7.53.1-3.fc27.i686                           1/13 
  Verifying   : libcurl-7.53.1-3.fc27.i686                                 2/13 
  Verifying   : krb5-libs-1.15.1-1.fc27.i686                               3/13 
  Verifying   : libcom_err-1.43.4-2.fc26.i686                              4/13 
  Verifying   : libidn2-0.16-2.fc26.i686                                   5/13 
  Verifying   : libnghttp2-1.20.0-1.fc26.i686                              6/13 
  Verifying   : libpsl-0.17.0-2.fc26.i686                                  7/13 
  Verifying   : nss-pem-1.0.3-2.fc27.i686                                  8/13 
  Verifying   : openldap-2.4.44-8.fc26.i686                                9/13 
  Verifying   : libverto-0.2.6-7.fc26.i686                                10/13 
  Verifying   : libunistring-0.9.7-1.fc26.i686                            11/13 
  Verifying   : cyrus-sasl-lib-2.1.26-28.fc26.i686                        12/13 
  Verifying   : libdb-5.3.28-17.fc26.i686                                 13/13 

Installed:
  libcurl-devel.i686 7.53.1-3.fc27      cyrus-sasl-lib.i686 2.1.26-28.fc26     
  krb5-libs.i686 1.15.1-1.fc27          libcom_err.i686 1.43.4-2.fc26          
  libcurl.i686 7.53.1-3.fc27            libdb.i686 5.3.28-17.fc26              
  libidn2.i686 0.16-2.fc26              libnghttp2.i686 1.20.0-1.fc26          
  libpsl.i686 0.17.0-2.fc26             libunistring.i686 0.9.7-1.fc26         
  libverto.i686 0.2.6-7.fc26            nss-pem.i686 1.0.3-2.fc27              
  openldap.i686 2.4.44-8.fc26          

Complete!

Comment 11 Paul Howarth 2017-03-08 15:50:15 UTC
Looks good. I guess F26 should be next but that's in alpha freeze :-(

Comment 12 Kamil Dudka 2017-03-08 15:58:55 UTC
The Alpha Freeze announcement says:

    "Other builds will remain in updates-testing until the Alpha release is
    approved, at which point the Alpha freeze is lifted and packages can move
    to 'stable' as usual until the Beta freeze."

So I will submit an update for F26 and we will see if this bug gets fixed in updates-testing, too.

Comment 13 Paul Howarth 2017-03-08 16:00:45 UTC
Hmm, that should be interesting.

Comment 14 Fedora Update System 2017-03-08 16:35:40 UTC
curl-7.53.1-3.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-328842aed1

Comment 15 Fedora Update System 2017-03-10 23:22:17 UTC
curl-7.53.1-3.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-328842aed1

Comment 16 Fedora Update System 2017-03-13 12:58:13 UTC
curl-7.53.1-3.fc26 nss-pem-1.0.3-3.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-328842aed1

Comment 17 Fedora Update System 2017-03-14 03:20:40 UTC
curl-7.53.1-3.fc26, nss-pem-1.0.3-3.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-328842aed1

Comment 18 Fedora Update System 2017-04-01 16:52:37 UTC
curl-7.53.1-3.fc26, nss-pem-1.0.3-3.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.

Comment 19 Fedora Update System 2017-04-04 08:40:00 UTC
nss-pem-1.0.3-3.fc25 curl-7.51.0-5.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-bb919b7642

Comment 20 Fedora Update System 2017-04-04 22:23:27 UTC
curl-7.51.0-5.fc25, nss-pem-1.0.3-3.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-bb919b7642

Comment 21 Fedora Update System 2017-04-07 03:48:35 UTC
curl-7.51.0-5.fc25, nss-pem-1.0.3-3.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.