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
Reopen with emerge --info and net-fs/nfs-utils version.
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
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
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?
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.
when will this patch go upstream? I've just tried nfs-utils-1.1.1 with the same build error ...
(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"
Any reason this patch hasn't been applied yet? nfs-utils-1.1.0-r1 builds fine for me on uclibc with it.
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.
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?
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/' *
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
*** Bug 169907 has been marked as a duplicate of this bug. ***
(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
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
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.
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).
this is resolving itself as libtirpc is moving to an external package and nfs-utils uses that for all of its rpc needs