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: CONFIRMED
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: 2018-09-05 12:30 UTC (History)
0 users

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

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