Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 144215 - net-fs/nfs-utils-1.0.6-r6 - nfsd fails on uclibc
Summary: net-fs/nfs-utils-1.0.6-r6 - nfsd fails on uclibc
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: High normal with 1 vote (vote)
Assignee: Embedded Gentoo Team
URL: http://bugs.uclibc.org/view.php?id=649
Whiteboard:
Keywords:
: 169907 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-08-17 08:50 UTC by Scott Henion
Modified: 2011-08-31 17:16 UTC (History)
8 users (show)

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


Attachments
nfs-utils-1.1.0-uclibc.patch (nfs-utils-1.1.0-uclibc.patch,336 bytes, patch)
2007-10-24 15:02 UTC, Christoph Brill (egore) (RESIGNED)
Details | Diff
nfs-utils-1.1.0-uclibc.patch (nfs-utils-1.1.0-uclibc.patch,1.22 KB, patch)
2007-10-24 15:28 UTC, Christoph Brill (egore) (RESIGNED)
Details | Diff
nfs-utils-1.1.4-r1: rpcgen need to be build explicitely (nfs-utils-1.1.4-r1.diff,655 bytes, patch)
2009-05-14 21:18 UTC, Bertrand Jacquin
Details | Diff
rpc_main.c: fix duplicate code (nfs-utils-1.1.4-uclibc-rpcgen.diff,442 bytes, patch)
2009-05-14 21:21 UTC, Bertrand Jacquin
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Scott Henion 2006-08-17 08:50:43 UTC
using:  uclibc-0.9.28
nfsd fails with:

Aug 17 15:48:40 NewRouter nfsd: LOOKUP(3)   12: 00000001 42000300 00000002 00000000 00000000 00000000 dev
Aug 17 15:48:40 NewRouter nfsd: nfsd_lookup(fh 12: 00000001 42000300 00000002 00000000 00000000 00000000, dev)
Aug 17 15:48:40 NewRouter nfsd: fh_verify(12: 00000001 42000300 00000002 00000000 00000000 00000000)
Aug 17 15:48:40 NewRouter nfsd: fh_lock(12: 00000001 42000300 00000002 00000000 00000000 00000000) locked = 0
Aug 17 15:48:40 NewRouter nfsd: Dropping request due to malloc failure!

already tried nolock and rsize wsize options on the mount

May be related, updatedb -uv returns just "/" and exits.

May be related to bug listed in url
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-08-17 09:03:21 UTC
Reopen with emerge --info and net-fs/nfs-utils version.
Comment 2 Scott Henion 2006-08-17 09:13:07 UTC
NewRouter ~ # emerge --info nfs-utils
Portage 2.1-r1 (uclibc/x86, gcc-3.4.6, uclibc-0.9.28-r0, 2.6.17.6 i586)
=================================================================
System uname: 2.6.17.6 i586 Unknown
Gentoo Base System version 1.6.15
distcc 2.18.3 i386-gentoo-linux-uclibc (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [disabled]
app-admin/eselect-compiler: [Not Present]
dev-lang/python:     2.3.4-r1, 2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.3
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i386-gentoo-linux-uclibc"
CFLAGS="-Os -pipe"
CHOST="i386-gentoo-linux-uclibc"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-Os -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer nodoc noinfo noman sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/packages/uclibc"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 bitmap-fonts cli dlloader dri minimal ncurses pcre readline reflection session spl truetype-fonts type1-fonts uclibc xorg zlib elibc_uclibc input_devices_keyboard input_devices_mouse input_devices_evdev kernel_linux userland_GNU"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

emerge -s nfs-utils
*  net-fs/nfs-utils
      Latest version available: 1.0.6-r6
      Latest version installed: 1.0.6-r6
      Size of files: 259 kB
      Homepage:      http://nfs.sourceforge.net/
      Description:   NFS client and server daemons
      License:       GPL-2
Comment 3 Christoph Brill (egore) (RESIGNED) 2007-09-21 10:25:26 UTC
Not sure if it's worth a new bug, but nfs-utils 1.0.12-r1, 1.0.12-r5 and 1.1.0-r1 even fail to build:

mount_xdr.c:218: error: invalid use of void expression
mount_xdr.c:219: error: invalid use of void expression
mount_xdr.c:220: error: invalid use of void expression
mount_xdr.c:221: error: invalid use of void expression
mount_xdr.c:222: error: invalid use of void expression

I worked around that by doing

sed -i -e "s:(void) IXDR_PUT_:IXDR_PUT_:g" support/export/mount_xdr.c

But the build still does not succeed:

i386-gentoo-linux-uclibc-gcc -Wall -pipe -Os -pipe -Wl,-z -Wl,relro -o mountd mountd-mountd.o mountd-mount_dispatch.o mountd-auth.o mountd-rmtab.o mountd-cache.o mountd-svc_run.o mountd-fsloc.o  ../../support/export/libexport.a ../../support/nfs/libnfs.a ../../support/misc/libmisc.a -lblkid
mountd-cache.o: In function `auth_unix_gid':
cache.c:(.text+0xee8): undefined reference to `getgrouplist'
cache.c:(.text+0xf26): undefined reference to `getgrouplist'
../../support/nfs/libnfs.a(svc_socket.o): In function `svc_socket':
svc_socket.c:(.text+0xbc): undefined reference to `getrpcbynumber_r'
collect2: ld returned 1 exit status


Portage 2.1.3.9 (uclibc/x86, gcc-4.1.2, uclibc-0.9.28.3-r0, 2.6.21-gentoo-r1 i686)
=================================================================
System uname: 2.6.21-gentoo-r1 i686 Pentium III (Coppermine)
Timestamp of tree: Thu, 20 Sep 2007 07:50:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p17
dev-lang/python:     2.4.4-r4
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.9-r2
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.61-r1
sys-devel/automake:  1.6.3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17-r1
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.21
ACCEPT_KEYWORDS="x86"
CBUILD="i386-gentoo-linux-uclibc"
CFLAGS="-Os -pipe"
CHOST="i386-gentoo-linux-uclibc"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-Os -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks metadata-transfer nodoc noinfo noman sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="de_DE@euro"
LC_ALL="de_DE@euro"
LDFLAGS="-Wl,-z,relro"
PKGDIR="/packages/uclibc"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="bitmap-fonts cli cracklib dri midi minimal mudflap ncurses openmp pcre readline reflection session spl truetype-fonts type1-fonts uclibc x86 xorg zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="uclibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="dummy fbdev v4l"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 4 Christoph Brill (egore) (RESIGNED) 2007-10-24 15:02:32 UTC
Created attachment 134234 [details, diff]
nfs-utils-1.1.0-uclibc.patch

Patch to correctly fix the uclibc issue where compiling the failed. Linking still fails. Can someone help me with that?
Comment 5 Christoph Brill (egore) (RESIGNED) 2007-10-24 15:28:15 UTC
Created attachment 134240 [details, diff]
nfs-utils-1.1.0-uclibc.patch

This patch fixes the complete build. It's a port of https://dev.openwrt.org/browser/packages/net/nfs-utils/patches with a protability in mind.
Comment 6 Stefan Hellermann 2007-12-29 22:44:45 UTC
when will this patch go upstream? I've just tried nfs-utils-1.1.1 with the same build error ...
Comment 7 Neil 2008-03-19 20:19:27 UTC
(In reply to comment #6)
> when will this patch go upstream? I've just tried nfs-utils-1.1.1 with the same
> build error ...


I too have just tried to emerge nfs-utils under arm arch and have encountered the  error below...

armeb-softfloat-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I../../support/include  -I../../support/include -D_GNU_SOURCE -Wall  -pipe -march=armv5t -Os -MT mount_xdr.o -MD -MP -MF .deps/mount_xdr.Tpo -c -o mount_xdr.o mount_xdr.c
mount_xdr.c: In function `xdr_ppathcnf':
mount_xdr.c:218: error: invalid use of void expression
mount_xdr.c:219: error: invalid use of void expression
mount_xdr.c:220: error: invalid use of void expression
mount_xdr.c:221: error: invalid use of void expression
mount_xdr.c:222: error: invalid use of void expression
mount_xdr.c:242: error: invalid use of void expression
make[3]: *** [mount_xdr.o] Error 1
make[3]: Leaving directory `/var/tmp/portage/net-fs/nfs-utils-1.1.0-r1/work/nfs-utils-1.1.0/support/export'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/var/tmp/portage/net-fs/nfs-utils-1.1.0-r1/work/nfs-utils-1.1.0/support/export'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/net-fs/nfs-utils-1.1.0-r1/work/nfs-utils-1.1.0/support'
make: *** [all-recursive] Error 1
 * 
 * ERROR: net-fs/nfs-utils-1.1.0-r1 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 2339:  Called die
 * The specific snippet of code:
 *       emake || die "Failed to compile"
 *  The die message:
 *   Failed to compile
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/net-fs/nfs-utils-1.1.0-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/net-fs/nfs-utils-1.1.0-r1/temp/environment'.
 * 


The patch worked fine under ARCH="arm"
Comment 8 Andrew Gaffney (RETIRED) gentoo-dev 2008-07-03 18:58:54 UTC
Any reason this patch hasn't been applied yet? nfs-utils-1.1.0-r1 builds fine for me on uclibc with it.
Comment 9 Tobias Leupold 2008-08-27 13:39:16 UTC
I can confirm that nfs-utils-1.1.0-r1 builds fine with uClibc on my ARM system with nfs-utils-1.1.0-uclibc.patch.
Comment 10 Tobias Leupold 2008-11-19 15:18:55 UTC
net-fs/nfs-utils-1.1.3 is still broken with uClibc and nfs-utils-1.1.0-uclibc.patch still makes it compile fine. This patch has been around here for more than one year, why isn't it still in portage?
Comment 11 Tobias Leupold 2008-11-19 17:51:32 UTC
Alas, it _builds_ with that patch, but the package fails when it's _installed_ with:

make[3]: Entering directory `/var/tmp/portage/net-fs/nfs-utils-1.1.3/work/nfs-utils-1.1.3'
if [ ! -d /var/tmp/portage/net-fs/nfs-utils-1.1.3/image//var/lib/nfs ]; then mkdir -p /var/tmp/portage/net-fs/nfs-utils-1.1.3/image//var/lib/nfs; fi
touch /var/tmp/portage/net-fs/nfs-utils-1.1.3/image//var/lib/nfs/xtab; chmod 644 /var/tmp/portage/net-fs/nfs-utils-1.1.3/image//var/lib/nfs/xtab
touch /var/tmp/portage/net-fs/nfs-utils-1.1.3/image//var/lib/nfs/etab; chmod 644 /var/tmp/portage/net-fs/nfs-utils-1.1.3/image//var/lib/nfs/etab
touch /var/tmp/portage/net-fs/nfs-utils-1.1.3/image//var/lib/nfs/rmtab; chmod 644 /var/tmp/portage/net-fs/nfs-utils-1.1.3/image//var/lib/nfs/rmtab
mkdir -p /var/tmp/portage/net-fs/nfs-utils-1.1.3/image//var/lib/nfs/sm /var/tmp/portage/net-fs/nfs-utils-1.1.3/image//var/lib/nfs/sm.bak
touch /var/tmp/portage/net-fs/nfs-utils-1.1.3/image//var/lib/nfs/state
chmod go-rwx /var/tmp/portage/net-fs/nfs-utils-1.1.3/image//var/lib/nfs/sm /var/tmp/portage/net-fs/nfs-utils-1.1.3/image//var/lib/nfs/sm.bak /var/tmp/portage/net-fs/nfs-utils-1.1.3/image//var/lib/nfs/state
chown nobody /var/tmp/portage/net-fs/nfs-utils-1.1.3/image//var/lib/nfs/sm /var/tmp/portage/net-fs/nfs-utils-1.1.3/image//var/lib/nfs/sm.bak /var/tmp/portage/net-fs/nfs-utils-1.1.3/image//var/lib/nfs/state
make[3]: Leaving directory `/var/tmp/portage/net-fs/nfs-utils-1.1.3/work/nfs-utils-1.1.3'
make[2]: Leaving directory `/var/tmp/portage/net-fs/nfs-utils-1.1.3/work/nfs-utils-1.1.3'
make[1]: Leaving directory `/var/tmp/portage/net-fs/nfs-utils-1.1.3/work/nfs-utils-1.1.3'
!!! dobin: tools/rpcgen/rpcgen does not exist
 *
 * ERROR: net-fs/nfs-utils-1.1.3 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_install
 *             environment, line 2391:  Called die
 * The specific snippet of code:
 *           dobin tools/rpcgen/rpcgen || die "rpcgen";
 *  The die message:
 *   rpcgen
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/log/portage/net-fs:nfs-utils-1.1.3:20081119-151724.log'.
 * The ebuild environment file is located at '/var/tmp/portage/net-fs/nfs-utils-1.1.3/temp/environment'.
 * This ebuild is from an overlay: '/var/portage/local/'
 *
Comment 12 Tobias Leupold 2008-11-19 17:58:41 UTC
This part of the ebuild causes the error and does also collide with /usr/bin/rpcgen provided by dev-libs/openrpcgen (see http://bugs.gentoo.org/show_bug.cgi?id=182956 ):

    # uClibc doesn't provide rpcgen like glibc, so lets steal it from nfs-utils
    if ! use elibc_glibc ; then
        dobin tools/rpcgen/rpcgen || die "rpcgen"
        newdoc tools/rpcgen/README README.rpcgen
    fi
Comment 13 SpanKY gentoo-dev 2009-01-31 22:09:28 UTC
*** Bug 169907 has been marked as a duplicate of this bug. ***
Comment 14 Aurélien Francillon 2009-04-04 10:49:44 UTC
(In reply to comment #12)
> This part of the ebuild causes the error and does also collide with


Well thanks for the additional info, I can confirm that with those lines commented, dev-libs/openrpcgen installed and the above patch, fixes all the problems on my x86/uclibc/hardened host ...

any chance to get that into cvs ?  would be great!

Thanks
Aurélien
Comment 15 Bertrand Jacquin 2009-05-14 21:18:20 UTC
Created attachment 191287 [details, diff]
nfs-utils-1.1.4-r1: rpcgen need to be build explicitely

rpcgen is not builded by default. if we add --with-rpcgen=internal, it is builded by also executed later in build process :

Making all in export
make[2]: Entering directory `/usr/i586-geode-linux-uclibc/tmp/portage/net-fs/nfs-utils-1.1.4-r1/work/nfs-utils-1.1.4/support/export'
test -f mount_clnt.c && rm -rf mount_clnt.c || true
../../tools/rpcgen/rpcgen -l -o mount_clnt.c mount.x
make[2]: ../../tools/rpcgen/rpcgen: Command not found
make[2]: *** [mount_clnt.c] Error 127
make[2]: Leaving directory `/usr/i586-geode-linux-uclibc/tmp/portage/net-fs/nfs-utils-1.1.4-r1/work/nfs-utils-1.1.4/support/export'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/i586-geode-linux-uclibc/tmp/portage/net-fs/nfs-utils-1.1.4-r1/work/nfs-utils-1.1.4/support'
make: *** [all-recursive] Error 1

So, here is a patch in Tobias Leupold style
Comment 16 Bertrand Jacquin 2009-05-14 21:21:26 UTC
Created attachment 191288 [details, diff]
rpc_main.c: fix duplicate code

Previous patch show a #if #else issue in rpc_main.c. This patch correct this.
Comment 17 Bertrand Jacquin 2009-05-14 21:33:22 UTC
Oops, nfs-utils-1.1.4-uclibc-rpcgen.diff is uneeded. This is good upstream (master and tag 1.1.4). nfs-utils-1.1.2-rpcgen-ioctl.patch add that double #else. It could be deleted now (1.1.4 to 1.1.6).
Comment 18 SpanKY gentoo-dev 2011-08-31 17:16:01 UTC
this is resolving itself as libtirpc is moving to an external package and nfs-utils uses that for all of its rpc needs