Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 665222 - net-nds/rpcbind-1.2.5 should depend on sys-fs/quota[rpc]: fatal error: rpcsvc/rquota.h: No such file or directory
Summary: net-nds/rpcbind-1.2.5 should depend on sys-fs/quota[rpc]: fatal error: rpcsvc...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-09-04 12:23 UTC by Charlie Gehlin
Modified: 2020-01-12 15:25 UTC (History)
1 user (show)

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


Attachments
emerge --info (emerge.info,27.02 KB, text/plain)
2018-09-04 12:23 UTC, Charlie Gehlin
Details
rpcbind-2.1.5.patch (rpcbind-2.1.5.patch,465 bytes, patch)
2018-09-04 12:35 UTC, Charlie Gehlin
Details | Diff
buildlog (build.log,13.86 KB, text/plain)
2018-09-04 12:58 UTC, Charlie Gehlin
Details
config.log (config.log,23.22 KB, text/plain)
2018-09-04 13:34 UTC, Charlie Gehlin
Details
Fix configure (0001-configure-fix-detection-of-rpcsvc-mount.h.patch,943 bytes, patch)
2020-01-12 15:25 UTC, Mike Gilbert
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Charlie Gehlin 2018-09-04 12:23:38 UTC
Created attachment 545892 [details]
emerge --info

x86_64-pc-linux-gnu-gcc -DPACKAGE_NAME=\"rpcbind\" -DPACKAGE_TARNAME=\"rpcbind\" -DPACKAGE_VERSION=\"1.2.5\" -DPACKAGE_STRING=\"rpcbind\ 1.2.5\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"rpcbind\" -DVERSION=\"1.2.5\" -DHAVE_LIBWRAP=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_NSS_H=1 -DHAVE_RPCSVC_MOUNT_H=1 -I.  -DCHECK_LOCAL -DPORTMAP -DFACILITY=LOG_MAIL -DSEVERITY=LOG_INFO -DINET6 -DRPCBIND_STATEDIR="\"/run/rpcbind\"" -DRPCBIND_USER="\"root\"" -DNSS_MODULES="\"files\"" -D_GNU_SOURCE -I/usr/include/tirpc   -DWARMSTART -DLIBWRAP   -DSYSTEMD   -O2 -pipe -march=westmere -fno-stack-protector -c -o src/rpcbind.o src/rpcbind.c
x86_64-pc-linux-gnu-gcc -DPACKAGE_NAME=\"rpcbind\" -DPACKAGE_TARNAME=\"rpcbind\" -DPACKAGE_VERSION=\"1.2.5\" -DPACKAGE_STRING=\"rpcbind\ 1.2.5\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"rpcbind\" -DVERSION=\"1.2.5\" -DHAVE_LIBWRAP=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_NSS_H=1 -DHAVE_RPCSVC_MOUNT_H=1 -I.  -DCHECK_LOCAL -DPORTMAP -DFACILITY=LOG_MAIL -DSEVERITY=LOG_INFO -DINET6 -DRPCBIND_STATEDIR="\"/run/rpcbind\"" -DRPCBIND_USER="\"root\"" -DNSS_MODULES="\"files\"" -D_GNU_SOURCE -I/usr/include/tirpc   -DWARMSTART -DLIBWRAP   -DSYSTEMD   -O2 -pipe -march=westmere -fno-stack-protector -c -o src/security.o src/security.c
src/security.c:27:10: fatal error: rpcsvc/rquota.h: No such file or directory
 #include <rpcsvc/rquota.h>
          ^~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:552: src/security.o] Error 1


Compiles and installs fine when sys-fs/quota is emerged prior to rpcbind.
Comment 1 Charlie Gehlin 2018-09-04 12:35:31 UTC
Created attachment 545894 [details, diff]
rpcbind-2.1.5.patch
Comment 2 Thomas Deutschmann gentoo-dev Security 2018-09-04 12:53:03 UTC
Please post build.log. Normal rpcbind doesn't trigger that error.
Comment 3 Charlie Gehlin 2018-09-04 12:58:16 UTC
Created attachment 545896 [details]
buildlog

Sure, here you go.
Comment 4 Thomas Deutschmann gentoo-dev Security 2018-09-04 13:19:36 UTC
Thanks.

Your proposed patch itself is wrong because just sys-fs/quota won't install the header rpcbind is looking for. We would need sys-fs/quota[rpc].

But we are currently not really able to reproduce because rpcsvc/rquota.h is only required when rpcsvc/mount.h was found and is usable. However, on our test systems the header is present (due to installed net-libs/rpcsvc-proto package) but not usable. From config.log:

> configure:5005: checking rpcsvc/mount.h usability
> configure:5005: x86_64-pc-linux-gnu-gcc -c -O2 -pipe -march=ivybridge -mtune=ivybridge -mno-xsaveopt -Wno-error=missing-prototypes -Wno-error=enum-compare -Wno-error=unused-function -Wno-error=deprecated-declarations -frecord-gcc-switches conftest.c >&5
> In file included from conftest.c:56:
> /usr/include/rpcsvc/mount.h:9:10: fatal error: rpc/rpc.h: No such file or directory
>  #include <rpc/rpc.h>
>           ^~~~~~~~~~~
> compilation terminated.
> configure:5005: $? = 1
> configure: failed program was:
> | /* confdefs.h */
> 

So we need to understand why rpcsvc/mount.h is usable on your system but not on other systems. Could you please attach your config.log?
Comment 5 Charlie Gehlin 2018-09-04 13:34:45 UTC
Created attachment 545902 [details]
config.log

Sure, here you go. Well I'm not a Gentoo-ninja as of yet (but I've managed to use it for like 17 years or so now), so any help is appreciated :)
Comment 6 Charlie Gehlin 2018-09-04 13:49:40 UTC
If I change DEPEND to sys-fs/quota[rpc] I'm getting circular dependencies as quota will require rpcbind, that requires quota... Maybe I'm doing it wrong :)
Comment 7 Charlie Gehlin 2018-09-05 10:51:04 UTC
(In reply to Thomas Deutschmann from comment #4)
Does this mean that you also fail to build rpcbind in your test systems?

I've found some irregularities: my /usr/include/rpc-directory was in fact an symlink to /usr/include/tirpc/rpc, probably manually created by me at some point when I needed to fix something (tm)... The only file that was supposed to be there (/usr/include/rpc/netdb.h, supplied by glibc) also had been manually moved to /usr/include/tirpc/rpc.

I've removed the symlink and copied file, re-emerged glibc and libtirpc and now order seems to have been restored as rpcbind now compiles fine without prior quota installed, so I guess...  ...never mind! ;)

checking rpcsvc/mount.h usability... no
checking rpcsvc/mount.h presence... no
checking for rpcsvc/mount.h... no

Thank you!
Comment 8 Thomas Deutschmann gentoo-dev Security 2018-09-05 11:17:18 UTC
Ah, your manual symlink explains a lot.

Yes, while looking into this we noticed that rpcbind doesn't use "rpcsvc/mount.h" on our systems and therefore we didn't run into the problem you reported.

However, this is a bug. rpcbind is ignoring "mount.h" just because a usability check is failing: "fatal error: rpc/rpc.h: No such file or directory" (probably because one of the involved packages doesn't support the rpc switch from glibc to a dedicated package).

We have to fix this bug. And once fixed (=once rpcbind will use "rpcsvc/mount.h" again), we have to deal with the quota dependency problem.
Comment 9 Charlie Gehlin 2018-09-05 12:30:32 UTC
Ok, just let me know if I can be of any further assistance. BR /Charlie
Comment 10 Larry the Git Cow gentoo-dev 2020-01-11 17:36:38 UTC
The bug has been closed via the following commit(s):

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

commit b9f7df9e9c531dd6d7f29b315cd1af6a5a48d854
Author:     Mike Gilbert <floppym@gentoo.org>
AuthorDate: 2020-01-11 17:27:51 +0000
Commit:     Mike Gilbert <floppym@gentoo.org>
CommitDate: 2020-01-11 17:36:08 +0000

    net-nds/rpcbind: fix detection of rpcsvc/mount.h
    
    Dropped ~riscv keyword due to sys-fs/quota.
    
    Closes: https://bugs.gentoo.org/665222
    Package-Manager: Portage-2.3.84_p2, Repoman-2.3.20_p24
    Signed-off-by: Mike Gilbert <floppym@gentoo.org>

 net-nds/rpcbind/rpcbind-1.2.5-r1.ebuild | 62 +++++++++++++++++++++++++++++++++
 net-nds/rpcbind/rpcbind-9999.ebuild     | 10 ++++--
 2 files changed, 70 insertions(+), 2 deletions(-)

Additionally, it has been referenced in the following commit(s):

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

commit d329c48e1b298cd0d42610e42840b9101c439bae
Author:     Mike Gilbert <floppym@gentoo.org>
AuthorDate: 2020-01-11 17:32:59 +0000
Commit:     Mike Gilbert <floppym@gentoo.org>
CommitDate: 2020-01-11 17:36:09 +0000

    sys-fs/quota: move net-nds/rpcbind to PDEPEND
    
    Bug: https://bugs.gentoo.org/665222
    Package-Manager: Portage-2.3.84_p2, Repoman-2.3.20_p24
    Signed-off-by: Mike Gilbert <floppym@gentoo.org>

 sys-fs/quota/{quota-4.04-r2.ebuild => quota-4.04-r3.ebuild} | 6 ++++--
 sys-fs/quota/{quota-4.05.ebuild => quota-4.05-r1.ebuild}    | 6 ++++--
 2 files changed, 8 insertions(+), 4 deletions(-)
Comment 11 Jeroen Roovers gentoo-dev 2020-01-12 08:37:32 UTC
*** Bug 705224 has been marked as a duplicate of this bug. ***
Comment 12 Mike Gilbert gentoo-dev 2020-01-12 15:25:36 UTC
Created attachment 603106 [details, diff]
Fix configure

I sent a patch to Steve Dickson.