linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Problem installing nfs-utils to non standard dir
@ 2015-04-15  9:53 Eino Juhani Oltedal
  2015-04-15 15:41 ` Kinglong Mee
  0 siblings, 1 reply; 9+ messages in thread
From: Eino Juhani Oltedal @ 2015-04-15  9:53 UTC (permalink / raw)
  To: linux-nfs

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? Is there an easy way to fix it? I 
get the same error trying to build nfs-utils-1.3.1 as well.

Cheers,
Eino

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Problem installing nfs-utils to non standard dir
  2015-04-15  9:53 Problem installing nfs-utils to non standard dir Eino Juhani Oltedal
@ 2015-04-15 15:41 ` Kinglong Mee
  2015-04-15 17:18   ` Eino Juhani Oltedal
  0 siblings, 1 reply; 9+ messages in thread
From: Kinglong Mee @ 2015-04-15 15:41 UTC (permalink / raw)
  To: Eino Juhani Oltedal, linux-nfs

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

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: Problem installing nfs-utils to non standard dir
  2015-04-15 15:41 ` Kinglong Mee
@ 2015-04-15 17:18   ` Eino Juhani Oltedal
  2015-04-16  4:43     ` Kinglong Mee
  0 siblings, 1 reply; 9+ messages in thread
From: Eino Juhani Oltedal @ 2015-04-15 17:18 UTC (permalink / raw)
  To: Kinglong Mee, linux-nfs

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

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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Problem installing nfs-utils to non standard dir
  2015-04-15 17:18   ` Eino Juhani Oltedal
@ 2015-04-16  4:43     ` Kinglong Mee
  2015-04-16  9:40       ` Eino Juhani Oltedal
  0 siblings, 1 reply; 9+ messages in thread
From: Kinglong Mee @ 2015-04-16  4:43 UTC (permalink / raw)
  To: Eino Juhani Oltedal, linux-nfs


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
> 
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Problem installing nfs-utils to non standard dir
  2015-04-16  4:43     ` Kinglong Mee
@ 2015-04-16  9:40       ` Eino Juhani Oltedal
  2015-04-16 12:45         ` Kinglong Mee
  0 siblings, 1 reply; 9+ messages in thread
From: Eino Juhani Oltedal @ 2015-04-16  9:40 UTC (permalink / raw)
  To: Kinglong Mee, linux-nfs

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
>>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Problem installing nfs-utils to non standard dir
  2015-04-16  9:40       ` Eino Juhani Oltedal
@ 2015-04-16 12:45         ` Kinglong Mee
  2015-04-16 14:00           ` Eino Juhani Oltedal
  0 siblings, 1 reply; 9+ messages in thread
From: Kinglong Mee @ 2015-04-16 12:45 UTC (permalink / raw)
  To: Eino Juhani Oltedal, linux-nfs

On 4/16/2015 5:40 PM, Eino Juhani Oltedal wrote:
> 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.

It means it's not nfs server's problem.

> 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

static CLIENT *nfs_get_mount_client(const char *hostname, rpcvers_t vers)
{
        rpcprog_t program = nfs_getrpcbyname(MOUNTPROG, mount_pgm_tbl);
        CLIENT *client;

        client = clnt_create(hostname, program, vers, "tcp");
        if (client)
                return client;
        client = clnt_create(hostname, program, vers, "udp");
        if (client)
                return client;

        clnt_pcreateerror("clnt_create");
        exit(1);
}

Showmount prints the error message only clnt_create both "tcp" and "udp" fail.
Does your arm machine not support "tcp" and "udp"? or the firewalld is up?
Can you check with firewalld stop?

thanks,
Kinglong Mee

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Problem installing nfs-utils to non standard dir
  2015-04-16 12:45         ` Kinglong Mee
@ 2015-04-16 14:00           ` Eino Juhani Oltedal
  2015-04-16 15:53             ` Kinglong Mee
  0 siblings, 1 reply; 9+ messages in thread
From: Eino Juhani Oltedal @ 2015-04-16 14:00 UTC (permalink / raw)
  To: Kinglong Mee, linux-nfs

This is a very minimal linux install, it does not have firewalld.

I think that this error might be caused by the kernel being built
without nfs support. I'm unsure how to test this without rebuilding the 
kernel, as I did not build it myself.

I will try rebuilding the kernel tonight, to see if that helps.

Thanks,
Eino

On 04/16/2015 02:45 PM, Kinglong Mee wrote:
> On 4/16/2015 5:40 PM, Eino Juhani Oltedal wrote:
>> 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.
> It means it's not nfs server's problem.
>
>> 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
> static CLIENT *nfs_get_mount_client(const char *hostname, rpcvers_t vers)
> {
>          rpcprog_t program = nfs_getrpcbyname(MOUNTPROG, mount_pgm_tbl);
>          CLIENT *client;
>
>          client = clnt_create(hostname, program, vers, "tcp");
>          if (client)
>                  return client;
>          client = clnt_create(hostname, program, vers, "udp");
>          if (client)
>                  return client;
>
>          clnt_pcreateerror("clnt_create");
>          exit(1);
> }
>
> Showmount prints the error message only clnt_create both "tcp" and "udp" fail.
> Does your arm machine not support "tcp" and "udp"? or the firewalld is up?
> Can you check with firewalld stop?
>
> thanks,
> Kinglong Mee


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Problem installing nfs-utils to non standard dir
  2015-04-16 14:00           ` Eino Juhani Oltedal
@ 2015-04-16 15:53             ` Kinglong Mee
  2015-04-16 15:59               ` Eino Juhani Oltedal
  0 siblings, 1 reply; 9+ messages in thread
From: Kinglong Mee @ 2015-04-16 15:53 UTC (permalink / raw)
  To: Eino Juhani Oltedal, linux-nfs


On 4/16/2015 10:00 PM, Eino Juhani Oltedal wrote:
> This is a very minimal linux install, it does not have firewalld.
> 
> I think that this error might be caused by the kernel being built
> without nfs support. I'm unsure how to test this without rebuilding the kernel, as I did not build it myself.
> 
> I will try rebuilding the kernel tonight, to see if that helps.

You can checking nfsiod process, "# ps -ajx | grep nfsiod",
If it is exist, nfs is OK.

thanks,
Kinglong Mee
 
> On 04/16/2015 02:45 PM, Kinglong Mee wrote:
>> On 4/16/2015 5:40 PM, Eino Juhani Oltedal wrote:
>>> 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.
>> It means it's not nfs server's problem.
>>
>>> 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
>> static CLIENT *nfs_get_mount_client(const char *hostname, rpcvers_t vers)
>> {
>>          rpcprog_t program = nfs_getrpcbyname(MOUNTPROG, mount_pgm_tbl);
>>          CLIENT *client;
>>
>>          client = clnt_create(hostname, program, vers, "tcp");
>>          if (client)
>>                  return client;
>>          client = clnt_create(hostname, program, vers, "udp");
>>          if (client)
>>                  return client;
>>
>>          clnt_pcreateerror("clnt_create");
>>          exit(1);
>> }
>>
>> Showmount prints the error message only clnt_create both "tcp" and "udp" fail.
>> Does your arm machine not support "tcp" and "udp"? or the firewalld is up?
>> Can you check with firewalld stop?
>>
>> thanks,
>> Kinglong Mee
> 
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Problem installing nfs-utils to non standard dir
  2015-04-16 15:53             ` Kinglong Mee
@ 2015-04-16 15:59               ` Eino Juhani Oltedal
  0 siblings, 0 replies; 9+ messages in thread
From: Eino Juhani Oltedal @ 2015-04-16 15:59 UTC (permalink / raw)
  To: Kinglong Mee, linux-nfs

Hm, it seems to be there. ps output:

    26 root         0 SW<  [nfsiod]

Thanks,
Eino

On 04/16/2015 05:53 PM, Kinglong Mee wrote:
> On 4/16/2015 10:00 PM, Eino Juhani Oltedal wrote:
>> This is a very minimal linux install, it does not have firewalld.
>>
>> I think that this error might be caused by the kernel being built
>> without nfs support. I'm unsure how to test this without rebuilding the kernel, as I did not build it myself.
>>
>> I will try rebuilding the kernel tonight, to see if that helps.
> You can checking nfsiod process, "# ps -ajx | grep nfsiod",
> If it is exist, nfs is OK.
>
> thanks,
> Kinglong Mee
>   
>



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-04-16 15:59 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-15  9:53 Problem installing nfs-utils to non standard dir Eino Juhani Oltedal
2015-04-15 15:41 ` Kinglong Mee
2015-04-15 17:18   ` Eino Juhani Oltedal
2015-04-16  4:43     ` Kinglong Mee
2015-04-16  9:40       ` Eino Juhani Oltedal
2015-04-16 12:45         ` Kinglong Mee
2015-04-16 14:00           ` Eino Juhani Oltedal
2015-04-16 15:53             ` Kinglong Mee
2015-04-16 15:59               ` Eino Juhani Oltedal

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).