Re: Problem installing nfs-utils to non standard dir

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux