Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 639470 - dev-ruby/sigar - multiple build issues
Summary: dev-ruby/sigar - multiple build issues
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Ruby Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-12-02 04:42 UTC by Reuben Martin
Modified: 2018-02-17 07:34 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Reuben Martin 2017-12-02 04:42:31 UTC
This package is suffering from several years of bitrot, and appears to be abandoned. Unfortunately it's a dependency for several things:

First issue is that #581138 was closed but does not appear to be fixed. (?)

I still get the error originally cited in that bug: ‘major’ is not a function or function pointer

The ebuild was changed to add "#include <sys/sysmacros.h>" to bindings/ruby/rbsigar.c but it needs added to bindings/ruby/linux_sigar.c

After that, there are problems with the recent changes with the rpc libs (net-libs/libtirpc) I had to add "-L/lib64 -ltirpc" to the makefile in order for it to link up. References to "clnttcp_create", "xdr_void", "clntudp_create" and "__rpc_createerr" were missing.

If I understand correctly this all stems from recent changes related to the latest glibc.

Reproducible: Always
Comment 1 Hans de Graaff gentoo-dev Security 2017-12-02 05:05:20 UTC
(In reply to Reuben Martin from comment #0)
> This package is suffering from several years of bitrot, and appears to be
> abandoned. Unfortunately it's a dependency for several things:

Nothing in the gentoo tree depends on it so my proposal would be to mask this for removal. What dependencies are you referring to?
Comment 2 Reuben Martin 2017-12-02 05:09:30 UTC
No, nothing in the tree, but I've been using Eye (https://github.com/kostya/eye) for some process management stuff that has sigar as a dependency.
Comment 3 Larry the Git Cow gentoo-dev 2017-12-03 14:10:07 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4488e6e0cc2c0d3687e7c0ef5e44c015b831eef4

commit 4488e6e0cc2c0d3687e7c0ef5e44c015b831eef4
Author:     Hans de Graaff <graaff@gentoo.org>
AuthorDate: 2017-12-03 14:09:49 +0000
Commit:     Hans de Graaff <graaff@gentoo.org>
CommitDate: 2017-12-03 14:09:49 +0000

    dev-ruby/sigar: properly fix glibc compatibility
    
    Pointed out by Rueben Martin.
    
    Bug: https://bugs.gentoo.org/639470
    Bug: https://bugs.gentoo.org/581138
    Package-Manager: Portage-2.3.13, Repoman-2.3.3

 dev-ruby/sigar/Manifest           | 2 +-
 dev-ruby/sigar/sigar-0.7.3.ebuild | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)}
Comment 4 Hans de Graaff gentoo-dev Security 2017-12-03 14:11:19 UTC
(In reply to Reuben Martin from comment #0)

> The ebuild was changed to add "#include <sys/sysmacros.h>" to
> bindings/ruby/rbsigar.c but it needs added to bindings/ruby/linux_sigar.c

Ah, that gets linked in by the configuration stage. Fixed by patching src/os/linux/linux_sigar.c
Comment 5 Hans de Graaff gentoo-dev Security 2017-12-03 14:15:13 UTC
(In reply to Reuben Martin from comment #0)

> After that, there are problems with the recent changes with the rpc libs
> (net-libs/libtirpc) I had to add "-L/lib64 -ltirpc" to the makefile in order
> for it to link up. References to "clnttcp_create", "xdr_void",
> "clntudp_create" and "__rpc_createerr" were missing.

|| ( <sys-libs/glibc-2.26 net-libs/libnsl )

My understanding is that it should be enough to add this dependency to the ebuild:

|| ( <sys-libs/glibc-2.26 net-libs/libnsl )

This should keep using the old interface via the libnsl package. Could you confirm that this works? i.e. no changes to the package but having libnsl installed?
Comment 6 Reuben Martin 2017-12-05 02:19:05 UTC
(In reply to Hans de Graaff from comment #5)
> || ( <sys-libs/glibc-2.26 net-libs/libnsl )
> 
> This should keep using the old interface via the libnsl package. Could you
> confirm that this works? i.e. no changes to the package but having libnsl
> installed?

I think that's only half the solution, I had already installed libnsl to fix other packages. Libnsl has libtirpc as a dependency and provides NIS functions on top of libtipc. But I don't think dev-ruby/sigar needs anything from libnsl and only needs to link against libtipc. And the pkgconfig for libnsl doesn't pull in libtipc anyway.

So probably what's needed is to have

|| ( <sys-libs/glibc-2.26 net-libs/libtirpc )

and then add -ltirpc to the build flags.
Comment 7 Hans de Graaff gentoo-dev Security 2018-02-17 07:34:17 UTC
*** Bug 639956 has been marked as a duplicate of this bug. ***
Comment 8 Larry the Git Cow gentoo-dev 2018-02-17 07:34:44 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4f4564eb181a767bda25ceaf541163e167e6dd00

commit 4f4564eb181a767bda25ceaf541163e167e6dd00
Author:     Hans de Graaff <graaff@gentoo.org>
AuthorDate: 2018-02-17 07:34:31 +0000
Commit:     Hans de Graaff <graaff@gentoo.org>
CommitDate: 2018-02-17 07:34:31 +0000

    dev-ruby/sigar: fix build with glibc 2.26
    
    Thanks to Reuben Martin in bug 639470.
    
    Closes: https://bugs.gentoo.org/639470
    Package-Manager: Portage-2.3.19, Repoman-2.3.6

 dev-ruby/sigar/sigar-0.7.3.ebuild | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)