Bug 1536186 - build: glibc has removed legacy rpc headers and rpcgen in Fedora28, use libtirpc
Summary: build: glibc has removed legacy rpc headers and rpcgen in Fedora28, use libtirpc
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: build
Version: mainline
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: bugs@gluster.org
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 1536187 1538723
TreeView+ depends on / blocked
 
Reported: 2018-01-18 20:21 UTC by Kaleb KEITHLEY
Modified: 2018-06-20 17:57 UTC (History)
3 users (show)

Fixed In Version: glusterfs-v4.1.0
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1536187 1538723 (view as bug list)
Environment:
Last Closed: 2018-06-20 17:57:42 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Bugzilla 1519315 None CLOSED glusterfs 3.12.3 crashes with segmentation fault in glusterd_submit_request or rpcsvc_dump 2019-06-06 07:55:54 UTC
Red Hat Bugzilla 1537184 None CLOSED infra: install libtirpc-devel and rpcgen on jenkins hosts 2019-06-06 07:55:54 UTC

Internal Links: 1519315 1537184

Description Kaleb KEITHLEY 2018-01-18 20:21:27 UTC
Description of problem:

See $Summary. Other Linux distributions are doing the same; some others already have.

Switch to libtirpc(-devel) and unbundled rpcgen packages. For now rpcgen is still provided by the glibc-rpcgen RPM, but rpcsvc-proto's rpcgen subpackage is available now but will not be used until glibc-rpcgen is retired. (note, rpcsvc-proto's rpcgen is just named rpcgen-...rpm. I.e. not rpcsvc-proto-rpcgen.) Right now either one will satisfy the BuildRequires: rpcgen.

Also, when a .spec file has
  BuildRequires: foo-devel
it is not necessary to also have:
  BuildRequires: foo
or even:
  BuildRequires: foo foo-devel

The foo-devel package has a dependency on foo, which will install foo automatically. It's usually also not necessary to have a corresponding
  Requires: foo

as the rpmbuild process will also automatically determine the install-time dependencies.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Worker Ant 2018-01-18 20:28:04 UTC
REVIEW: https://review.gluster.org/19235 (build: glibc has removed rpc headers and rpcgen in Fedora28, use libtirpc) posted (#1) for review on master by Kaleb KEITHLEY

Comment 2 Worker Ant 2018-01-24 10:22:45 UTC
COMMIT: https://review.gluster.org/19235 committed in master by \"Kaleb KEITHLEY\" <kkeithle@redhat.com> with a commit message- build: glibc has removed rpc headers and rpcgen in Fedora28, use libtirpc

Other Linux distributions are doing the same; some others have already
done so.

Switch to libtirpc(-devel) and unbundled rpcgen packages. For now
rpcgen is still provided by the glibc-rpcgen RPM, but rpcsvc-proto's
rpcgen subpackage is available now but will not be used until
glibc-rpcgen is retired. (note, rpcsvc-proto's rpcgen is just named
rpcgen-...rpm. I.e. not rpcsvc-proto-rpcgen.) Right now either one
will satisfy the BuildRequires: rpcgen.

Also, when a .spec file has
  BuildRequires: foo-devel
it is not necessary to also have:
  BuildRequires: foo
or even:
  BuildRequires: foo foo-devel

The foo-devel package has a dependency on foo, which will install foo
automatically. It's usually also not necessary to have a corresponding
  Requires: foo
as the rpmbuild process will also automatically determine the
install-time dependencies.

And other minor glusterfs.spec.in cleanup of ipv6-default, including
sorting the argument definitions because the comment says "keep them
sorted" (Though nobody appears to have ever sorted them in the first
place.)

Change-Id: I86f847dfda0fef83e22c6e8b761342d652a2d9ba
BUG: 1536186
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>

Comment 3 Worker Ant 2018-01-24 10:48:01 UTC
REVIEW: https://review.gluster.org/19311 (build: use libtirpc by default, even if ipv6 is not the default) posted (#1) for review on master by Niels de Vos

Comment 4 Worker Ant 2018-01-24 17:17:31 UTC
COMMIT: https://review.gluster.org/19311 committed in master by \"Niels de Vos\" <ndevos@redhat.com> with a commit message- build: use libtirpc by default, even if ipv6 is not the default

An error sneaked in with Change-Id I86f847dfd. The check for requiring
libtirpc-devel should be done regardless of the ipv6-default. Even if
IPv6 is not the default, libtirpc-devel should be used unless it is
explicitly requested by a --without option.

libtirpc can not be used on EL6 and EL7 yet. The EL7 version does not
provide xdr_sizeof(), in addition to that, EL6 does not have
xdr_uint32_t() and xdr_uint64_t().

BUG: 1536186
Change-Id: I4a8292de2eddad16137df5998334133fc1e11261
Fixes: 0c57232ae07f48bd6483bfe88a182f832377ef52
Signed-off-by: Niels de Vos <ndevos@redhat.com>

Comment 5 Worker Ant 2018-01-25 09:21:15 UTC
REVIEW: https://review.gluster.org/19324 (build: Remove unwanted autoconf messages for libtirpc) posted (#1) for review on master by Anoop C S

Comment 6 Worker Ant 2018-01-25 15:51:21 UTC
REVIEW: https://review.gluster.org/19330 (build: use libtirpc by default, even if ipv6 is not the default) posted (#1) for review on master by Kaleb KEITHLEY

Comment 7 Worker Ant 2018-01-26 10:55:54 UTC
COMMIT: https://review.gluster.org/19330 committed in master by \"Kaleb KEITHLEY\" <kkeithle@redhat.com> with a commit message- build: use libtirpc by default, even if ipv6 is not the default

Another error snuck in with Change-Id I86f847dfd, or more
accurately I think, with Change-Id: Ic47065e9c2...

All libs, not just libgfrpc, need to be linked with libtirpc,
especially on systems that still have xdr functions in (g)libc
where you will get a mixture of calls to libtirpc functions
and glibc functions, with catastrophic results.

BUG: 1536186
Change-Id: I97dc39c7844f44c36fe210aa813480c219e1e415
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>

Comment 8 Worker Ant 2018-02-04 15:53:38 UTC
COMMIT: https://review.gluster.org/19324 committed in master by "Amar Tumballi" <amarts@redhat.com> with a commit message- build: Remove unwanted autoconf messages for libtirpc

AC_MSG_RESULT is normally used when it is preceded by AC_MSG_CHECKING
during explicit checking of certain requirements. With PKG_CHECK_MODULES
being used for checking the presence of libtirpc itself generates the
following message:

checking for TIRPC... yes

Change-Id: I3f088a45ef2ced6f6fd9e1524e758c812deecb8f
BUG: 1536186
Signed-off-by: Anoop C S <anoopcs@redhat.com>

Comment 9 Shyamsundar 2018-06-20 17:57:42 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-v4.1.0, please open a new bug report.

glusterfs-v4.1.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] http://lists.gluster.org/pipermail/announce/2018-June/000102.html
[2] https://www.gluster.org/pipermail/gluster-users/


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