The arm machine does not have rpcinfo.
On the server i get this:
rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 43663 status
100005 1 udp 20048 mountd
100024 1 tcp 39197 status
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 55946 nlockmgr
100021 3 udp 55946 nlockmgr
100021 4 udp 55946 nlockmgr
100021 1 tcp 57551 nlockmgr
100021 3 tcp 57551 nlockmgr
100021 4 tcp 57551 nlockmgr
My /etc/exports:
/share/ 192.168.0.0/24(rw,fsid=0,no_subtree_check)
/share/test 192.168.0.0/24(rw,no_subtree_check,nohide)
I am able to mount the nfs share on a third computer, but not on the arm
computer that uses my build.
Thanks,
Eino
On 04/16/2015 06:43 AM, Kinglong Mee wrote:
On 4/16/2015 1:18 AM, Eino Juhani Oltedal wrote:
Thank you for the help. I was able to avoid the error by using make DESTDIR=${HOME}/installs/arm
instead of the prefix. Then i copied everything under ${HOME}/installs/arm over to the root of the
ARM file-system.
However when trying to use the newly built nfs I get some errors:
mount -t nfs 192.168.0.104:/test /mnt
mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
mount.nfs: an incorrect mount option was specified
mount -t nfs -o nolock 192.168.0.104:/test /mnt
mount.nfs: Protocol not supported
showmount also gives an error:
showmount -e 192.168.0.104
clnt_create: RPC: Unknown protocol
Can you show me the rpcinfo messages, and exports entry?
# rpcinfo -p
# cat /etc/exports
# exportfs
thanks
Kinglong Mee
I compiled nfs using this command:
cd ~/installs/util-linux-2.26.1
./configure --host=arm-linux-gnueabihf --build=x86_64-linux --disable-gss --disable-nfsv4 CC=arm-linux-gnueabihf-gcc CPPFLAGS="-I${HOME}/installs/arm/include, -I${HOME}/installs/arm/usr/include" LDFLAGS="-L${HOME}/installs/arm/lib/, -L${HOME}/installs/arm/usr/lib/"
make
make DESTDIR=${HOME}/installs/arm install
I compiled the dependencies libblkid and libtirpc with the following commands:
cd ~/installs/util-linux-2.26.1
./configure --host=arm-linux-gnueabihf --disable-all-programs --enable-libblkid --build=x86_64-linux CC=arm-linux-gnueabihf-gcc
make
make DESTDIR=${HOME}/installs/arm install
cd ~/installs/libtirpc-0.2.5
./configure --host=arm-linux-gnueabihf --build=x86_64-linux --disable-gssapi CC=arm-linux-gnueabihf-gcc
make
make DESTDIR=${HOME}/installs/arm install
Here is my build file tree:
$HOME/installs/arm
├── bin
├── lib
│ ├── libblkid.so.1 -> libblkid.so.1.1.0
│ └── libblkid.so.1.1.0
├── sbin
│ ├── mount.nfs
│ ├── mount.nfs4 -> mount.nfs
│ ├── osd_login
│ ├── umount.nfs -> mount.nfs
│ └── umount.nfs4 -> mount.nfs
├── usr
│ ├── bin
│ ├── etc
│ │ └── netconfig
│ ├── include
│ │ ├── blkid
│ │ │ └── blkid.h
│ │ └── tirpc
│ │ ├── netconfig.h
│ │ ├── rpc
│ │ │ ├── auth_des.h
│ │ │ ├── auth_gss.h
│ │ │ ├── auth.h
│ │ │ ├── auth_kerb.h
│ │ │ ├── auth_unix.h
│ │ │ ├── clnt.h
│ │ │ ├── clnt_soc.h
│ │ │ ├── clnt_stat.h
│ │ │ ├── des_crypt.h
│ │ │ ├── des.h
│ │ │ ├── nettype.h
│ │ │ ├── pmap_clnt.h
│ │ │ ├── pmap_prot.h
│ │ │ ├── pmap_rmt.h
│ │ │ ├── raw.h
│ │ │ ├── rpcb_clnt.h
│ │ │ ├── rpcb_prot.h
│ │ │ ├── rpcb_prot.x
│ │ │ ├── rpc_com.h
│ │ │ ├── rpcent.h
│ │ │ ├── rpc.h
│ │ │ ├── rpc_msg.h
│ │ │ ├── svc_auth.h
│ │ │ ├── svc_dg.h
│ │ │ ├── svc.h
│ │ │ ├── svc_soc.h
│ │ │ ├── types.h
│ │ │ └── xdr.h
│ │ └── rpcsvc
│ │ ├── crypt.h
│ │ └── crypt.x
│ ├── lib
│ │ ├── libblkid.a
│ │ ├── libblkid.la
│ │ ├── libblkid.so -> ../../lib/libblkid.so.1.1.0
│ │ ├── libtirpc.a
│ │ ├── libtirpc.la
│ │ ├── libtirpc.so -> libtirpc.so.1.0.10
│ │ ├── libtirpc.so.1 -> libtirpc.so.1.0.10
│ │ ├── libtirpc.so.1.0.10
│ │ ├── pkgconfig
│ │ │ ├── blkid.pc
│ │ │ └── libtirpc.pc
│ │ └── systemd
│ │ └── system
│ ├── sbin
│ │ ├── exportfs
│ │ ├── mountstats
│ │ ├── nfsiostat
│ │ ├── nfsstat
│ │ ├── rpcdebug
│ │ ├── rpc.mountd
│ │ ├── rpc.nfsd
│ │ ├── rpc.statd
│ │ ├── showmount
│ │ ├── sm-notify
│ │ └── start-statd
│ └── share
│ ├── bash-completion
│ │ └── completions
│ ├── locale
│ │ ├── ca
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── cs
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── da
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── de
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── es
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── et
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── eu
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── fi
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── fr
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── gl
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── hr
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── hu
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── id
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── it
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── ja
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── nl
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── pl
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── pt_BR
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── ru
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── sl
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── sv
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── tr
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── uk
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── vi
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ ├── zh_CN
│ │ │ └── LC_MESSAGES
│ │ │ └── util-linux.mo
│ │ └── zh_TW
│ │ └── LC_MESSAGES
│ │ └── util-linux.mo
│ └── man
│ ├── man1
│ ├── man3
│ │ ├── bindresvport.3t
│ │ ├── des_crypt.3t
│ │ ├── getnetconfig.3t
│ │ ├── getnetpath.3t
│ │ ├── getrpcent.3t
│ │ ├── getrpcport.3t
│ │ ├── libblkid.3
│ │ ├── rpc.3t
│ │ ├── rpcbind.3t
│ │ ├── rpc_clnt_auth.3t
│ │ ├── rpc_clnt_calls.3t
│ │ ├── rpc_clnt_create.3t
│ │ ├── rpc_secure.3t
│ │ ├── rpc_soc.3t
│ │ ├── rpc_svc_calls.3t
│ │ ├── rpc_svc_create.3t
│ │ ├── rpc_svc_err.3t
│ │ ├── rpc_svc_reg.3t
│ │ ├── rpc_xdr.3t
│ │ └── rtime.3t
│ ├── man5
│ │ ├── exports.5
│ │ ├── netconfig.5
│ │ ├── nfs.5
│ │ ├── nfsmount.conf.5
│ │ └── terminal-colors.d.5
│ ├── man7
│ │ └── nfsd.7
│ └── man8
│ ├── exportfs.8
│ ├── mountd.8
│ ├── mount.nfs.8
│ ├── mountstats.8
│ ├── nfsd.8
│ ├── nfsiostat.8
│ ├── nfsstat.8
│ ├── rpcdebug.8
│ ├── rpc.mountd.8 -> mountd.8
│ ├── rpc.nfsd.8 -> nfsd.8
│ ├── rpc.sm-notify.8 -> sm-notify.8
│ ├── rpc.statd.8 -> statd.8
│ ├── showmount.8
│ ├── sm-notify.8
│ ├── statd.8
│ └── umount.nfs.8
└── var
└── lib
└── nfs
├── etab
├── rmtab
├── sm
├── sm.bak
├── state
└── xtab
Do you have any idea what's missing? Maybe some dependencies?
Cheers,
Eino
On 04/15/2015 05:41 PM, Kinglong Mee wrote:
On 4/15/2015 5:53 PM, Eino Juhani Oltedal wrote:
Hi!
I'm trying to build nfs from source. I'm using nfs-utils-1.3.2 from http://sourceforge.net/projects/nfs/files/nfs-utils/1.3.2/.
I configure using the following command
./configure --prefix=/home/username/installs/tmp --exec-prefix=/home/username/installs/tmp
When i run "make install" most of the packages are put under /home/username/installs/tmp, but for some reason the
install script tries to put osd_login under /sbin, which results in an error:
Making install in osd_login
make[2]: Entering directory `/home/username/installs/nfs-utils-1.3.2/utils/osd_login'
make[3]: Entering directory `/home/username/installs/nfs-utils-1.3.2/utils/osd_login'
/usr/bin/mkdir -p '/sbin'
/usr/bin/install -c osd_login '/sbin'
/usr/bin/install: cannot remove ‘/sbin/osd_login’: Permission denied
make[3]: *** [install-dist_sbinSCRIPTS] Error 1
This is not supposed to happen, is it?
No, it is.
There are three utils (mount.nfs/mount.nfs4, nfsdcltrack and osd_login)
must be installed in directory /sbin/, they are hard-coded.
Is there an easy way to fix it? I get the same error trying to build nfs-utils-1.3.1 as well.
No, they are must installed in /sbin/ for kernel module nfsd.ko needing
/sbin/nfsdcltrack and objlayoutdriver.ko needing /sbin/osd_login.
You can not skip this problem with recently source.
if you are hurry, you can avoid this problem with the following patch and configure as,
# ./configure --disable-mount --disable-nfsdcltrack --disable-osdlogin --prefix=/root/test --exec-prefix=/root/test/
Ps: It is just a draft made by diff. I will send some patches for this problem.
thanks,
Kinglong Mee
===================================================================
diff --git a/configure.ac b/configure.ac
index e61430f..294e7a3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -213,9 +213,16 @@ fi
AC_ARG_ENABLE(nfsdcltrack,
[AC_HELP_STRING([--disable-nfsdcltrack],
[disable NFSv4 clientid tracking programs @<:@default=no@:>@])],
- enable_nfsdctrack=$enableval,
+ enable_nfsdcltrack=$enableval,
enable_nfsdcltrack="yes")
+AC_ARG_ENABLE(osdlogin,
+ [AC_HELP_STRING([--disable-osdlogin],
+ [disable osd_login scripts @<:@default=no@:>@])],
+ enable_osdlogin=$enableval,
+ enable_osdlogin="yes")
+ AM_CONDITIONAL(CONFIG_OSD_LOGIN, [test "$enable_osdlogin" = "yes" ])
+
dnl Check for TI-RPC library and headers
AC_LIBTIRPC
@@ -346,7 +353,7 @@ AC_SUBST(LIBBSD)
AC_SUBST(LIBBLKID)
AC_SUBST(LIBDL)
-if test "$enable_libmount" != no; then
+if test "$enable_libmount" = yes; then
AC_CHECK_LIB(mount, mnt_context_do_mount, [LIBMOUNT="-lmount"], AC_MSG_ERROR([libmount needed]))
AC_CHECK_HEADER(libmount/libmount.h, , AC_MSG_ERROR([Cannot find libmount header file libmount/libmount.h]))
fi
diff --git a/utils/Makefile.am b/utils/Makefile.am
index b892dc8..6dd4a57 100644
--- a/utils/Makefile.am
+++ b/utils/Makefile.am
@@ -25,6 +25,10 @@ if CONFIG_NFSDCLTRACK
OPTDIRS += nfsdcltrack
endif
+if CONFIG_OSD_LOGIN
+OPTDIRS += osd_login
+endif
+
SUBDIRS = \
exportfs \
mountd \
@@ -32,7 +36,6 @@ SUBDIRS = \
nfsstat \
showmount \
statd \
- osd_login \
$(OPTDIRS)
MAINTAINERCLEANFILES = Makefile.in
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html