LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux From Scratch (http://www.linuxquestions.org/questions/linux-from-scratch-13/)
-   -   Can't compile quota-tools-4.0.1 on current LFS (http://www.linuxquestions.org/questions/linux-from-scratch-13/cant-compile-quota-tools-4-0-1-on-current-lfs-4175429188/)

fmillion 09-26-2012 05:21 PM

Can't compile quota-tools-4.0.1 on current LFS
 
I have compiled the current SVN of LFS using jhalfs successfully. Most of my packages are compiling just fine, but I am unable to compile the quota-tools package (which gives quotacheck, quota, etc.).

The version I am using is current, quota-tools-4.0.1

The compile fails at what appears to be the linking step (although it's using cc to link). The issue seems to stem from a problem with the rpc library; the problem is that my RPC library seems to be OK but the quota-tools isn't picking it up apparently.

The errors:

Code:

cc -pie -o quotacheck quotacheck.o quotacheck_v1.o quotacheck_v2.o quotaops.o bylabel.o common.o quotasys.o pot.o quotaio.o quotaio_v1.o quotaio_v2.o quotaio_tree.o quotaio_rpc.o quotaio_xfs.o quotaio_meta.o quotaio_generic.o rquota_xdr.o rquota_client.o rquota_clnt.o -lext2fs -lcom_err
rquota_xdr.o: In function `xdr_sq_dqblk':
/usr/src/quota-tools/rquota_xdr.c:17: undefined reference to `xdr_u_int'
/usr/src/quota-tools/rquota_xdr.c:78: undefined reference to `xdr_u_int'
/usr/src/quota-tools/rquota_xdr.c:80: undefined reference to `xdr_u_int'
/usr/src/quota-tools/rquota_xdr.c:82: undefined reference to `xdr_u_int'
/usr/src/quota-tools/rquota_xdr.c:84: undefined reference to `xdr_u_int'
rquota_xdr.o:/usr/src/quota-tools/rquota_xdr.c:86: more undefined references to `xdr_u_int' follow
rquota_xdr.o: In function `xdr_getquota_args':
/usr/src/quota-tools/rquota_xdr.c:100: undefined reference to `xdr_string'
/usr/src/quota-tools/rquota_xdr.c:102: undefined reference to `xdr_int'
rquota_xdr.o: In function `xdr_setquota_args':
/usr/src/quota-tools/rquota_xdr.c:112: undefined reference to `xdr_int'
/usr/src/quota-tools/rquota_xdr.c:114: undefined reference to `xdr_string'
/usr/src/quota-tools/rquota_xdr.c:116: undefined reference to `xdr_int'
rquota_xdr.o: In function `xdr_ext_getquota_args':
/usr/src/quota-tools/rquota_xdr.c:128: undefined reference to `xdr_string'
/usr/src/quota-tools/rquota_xdr.c:130: undefined reference to `xdr_int'
/usr/src/quota-tools/rquota_xdr.c:132: undefined reference to `xdr_int'
rquota_xdr.o: In function `xdr_ext_setquota_args':
/usr/src/quota-tools/rquota_xdr.c:142: undefined reference to `xdr_int'
/usr/src/quota-tools/rquota_xdr.c:144: undefined reference to `xdr_string'
/usr/src/quota-tools/rquota_xdr.c:146: undefined reference to `xdr_int'
/usr/src/quota-tools/rquota_xdr.c:148: undefined reference to `xdr_int'
rquota_xdr.o: In function `xdr_rquota':
/usr/src/quota-tools/rquota_xdr.c:164: undefined reference to `xdr_int'
/usr/src/quota-tools/rquota_xdr.c:237: undefined reference to `xdr_bool'
/usr/src/quota-tools/rquota_xdr.c:239: undefined reference to `xdr_u_int'
/usr/src/quota-tools/rquota_xdr.c:241: undefined reference to `xdr_u_int'
/usr/src/quota-tools/rquota_xdr.c:243: undefined reference to `xdr_u_int'
/usr/src/quota-tools/rquota_xdr.c:245: undefined reference to `xdr_u_int'
/usr/src/quota-tools/rquota_xdr.c:247: undefined reference to `xdr_u_int'
rquota_xdr.o:/usr/src/quota-tools/rquota_xdr.c:249: more undefined references to `xdr_u_int' follow
rquota_xdr.o: In function `xdr_qr_status':
/usr/src/quota-tools/rquota_xdr.c:263: undefined reference to `xdr_enum'
rquota_client.o: In function `rpc_rquota_get':
/usr/src/quota-tools/rquota_client.c:183: undefined reference to `clnt_create'
/usr/src/quota-tools/rquota_client.c:187: undefined reference to `authunix_create_default'
/usr/src/quota-tools/rquota_client.c:221: undefined reference to `clnt_create'
/usr/src/quota-tools/rquota_client.c:225: undefined reference to `authunix_create_default'
collect2: error: ld returned 1 exit status
make: *** [quotacheck] Error 1
bash-4.2#

Here is all of what I've done:
Code:

bash-4.2# make clean
rm -f core *.o .*.d
bash-4.2# ./configure --prefix=/usr --sysconfdir=/etc
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether compiler supports PIE... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking ext2fs/ext2fs.h usability... yes
checking ext2fs/ext2fs.h presence... yes
checking for ext2fs/ext2fs.h... yes
checking for ext2_ino_t... found
checking for com_err in -lcom_err... yes
checking for ext2fs_initialize in -lext2fs... yes
checking for library containing gethostbyname... none required
checking for host_access in -lwrap... no
checking for an ANSI C-conforming const... yes
checking for inline... inline
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
bash-4.2# make
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 quotasync.c | \
        sed 's/\(quotasync\)\.o[ :]*/\1.o .quotasync.d : /g' > .quotasync.d; \
        [ -s .quotasync.d ] || rm -f .quotasync.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 svc_socket.c | \
        sed 's/\(svc_socket\)\.o[ :]*/\1.o .svc_socket.d : /g' > .svc_socket.d; \
        [ -s .svc_socket.d ] || rm -f .svc_socket.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 xqmstats.c | \
        sed 's/\(xqmstats\)\.o[ :]*/\1.o .xqmstats.d : /g' > .xqmstats.d; \
        [ -s .xqmstats.d ] || rm -f .xqmstats.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 warnquota.c | \
        sed 's/\(warnquota\)\.o[ :]*/\1.o .warnquota.d : /g' > .warnquota.d; \
        [ -s .warnquota.d ] || rm -f .warnquota.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 setquota.c | \
        sed 's/\(setquota\)\.o[ :]*/\1.o .setquota.d : /g' > .setquota.d; \
        [ -s .setquota.d ] || rm -f .setquota.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 rquota_svc.c | \
        sed 's/\(rquota_svc\)\.o[ :]*/\1.o .rquota_svc.d : /g' > .rquota_svc.d; \
        [ -s .rquota_svc.d ] || rm -f .rquota_svc.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 rquota_server.c | \
        sed 's/\(rquota_server\)\.o[ :]*/\1.o .rquota_server.d : /g' > .rquota_server.d; \
        [ -s .rquota_server.d ] || rm -f .rquota_server.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 rquota_client.c | \
        sed 's/\(rquota_client\)\.o[ :]*/\1.o .rquota_client.d : /g' > .rquota_client.d; \
        [ -s .rquota_client.d ] || rm -f .rquota_client.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 repquota.c | \
        sed 's/\(repquota\)\.o[ :]*/\1.o .repquota.d : /g' > .repquota.d; \
        [ -s .repquota.d ] || rm -f .repquota.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 quotasys.c | \
        sed 's/\(quotasys\)\.o[ :]*/\1.o .quotasys.d : /g' > .quotasys.d; \
        [ -s .quotasys.d ] || rm -f .quotasys.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 quotastats.c | \
        sed 's/\(quotastats\)\.o[ :]*/\1.o .quotastats.d : /g' > .quotastats.d; \
        [ -s .quotastats.d ] || rm -f .quotastats.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 quotaops.c | \
        sed 's/\(quotaops\)\.o[ :]*/\1.o .quotaops.d : /g' > .quotaops.d; \
        [ -s .quotaops.d ] || rm -f .quotaops.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 quotaon_xfs.c | \
        sed 's/\(quotaon_xfs\)\.o[ :]*/\1.o .quotaon_xfs.d : /g' > .quotaon_xfs.d; \
        [ -s .quotaon_xfs.d ] || rm -f .quotaon_xfs.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 quotaon.c | \
        sed 's/\(quotaon\)\.o[ :]*/\1.o .quotaon.d : /g' > .quotaon.d; \
        [ -s .quotaon.d ] || rm -f .quotaon.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 quotaio_generic.c | \
        sed 's/\(quotaio_generic\)\.o[ :]*/\1.o .quotaio_generic.d : /g' > .quotaio_generic.d; \
        [ -s .quotaio_generic.d ] || rm -f .quotaio_generic.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 quotaio_meta.c | \
        sed 's/\(quotaio_meta\)\.o[ :]*/\1.o .quotaio_meta.d : /g' > .quotaio_meta.d; \
        [ -s .quotaio_meta.d ] || rm -f .quotaio_meta.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 quotaio_xfs.c | \
        sed 's/\(quotaio_xfs\)\.o[ :]*/\1.o .quotaio_xfs.d : /g' > .quotaio_xfs.d; \
        [ -s .quotaio_xfs.d ] || rm -f .quotaio_xfs.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 quotaio_tree.c | \
        sed 's/\(quotaio_tree\)\.o[ :]*/\1.o .quotaio_tree.d : /g' > .quotaio_tree.d; \
        [ -s .quotaio_tree.d ] || rm -f .quotaio_tree.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 quotaio_v2.c | \
        sed 's/\(quotaio_v2\)\.o[ :]*/\1.o .quotaio_v2.d : /g' > .quotaio_v2.d; \
        [ -s .quotaio_v2.d ] || rm -f .quotaio_v2.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 quotaio_v1.c | \
        sed 's/\(quotaio_v1\)\.o[ :]*/\1.o .quotaio_v1.d : /g' > .quotaio_v1.d; \
        [ -s .quotaio_v1.d ] || rm -f .quotaio_v1.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 quotaio_rpc.c | \
        sed 's/\(quotaio_rpc\)\.o[ :]*/\1.o .quotaio_rpc.d : /g' > .quotaio_rpc.d; \
        [ -s .quotaio_rpc.d ] || rm -f .quotaio_rpc.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 quotaio.c | \
        sed 's/\(quotaio\)\.o[ :]*/\1.o .quotaio.d : /g' > .quotaio.d; \
        [ -s .quotaio.d ] || rm -f .quotaio.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 quotacheck_v2.c | \
        sed 's/\(quotacheck_v2\)\.o[ :]*/\1.o .quotacheck_v2.d : /g' > .quotacheck_v2.d; \
        [ -s .quotacheck_v2.d ] || rm -f .quotacheck_v2.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 quotacheck_v1.c | \
        sed 's/\(quotacheck_v1\)\.o[ :]*/\1.o .quotacheck_v1.d : /g' > .quotacheck_v1.d; \
        [ -s .quotacheck_v1.d ] || rm -f .quotacheck_v1.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 quotacheck.c | \
        sed 's/\(quotacheck\)\.o[ :]*/\1.o .quotacheck.d : /g' > .quotacheck.d; \
        [ -s .quotacheck.d ] || rm -f .quotacheck.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 quota.c | \
        sed 's/\(quota\)\.o[ :]*/\1.o .quota.d : /g' > .quota.d; \
        [ -s .quota.d ] || rm -f .quota.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 quot.c | \
        sed 's/\(quot\)\.o[ :]*/\1.o .quot.d : /g' > .quot.d; \
        [ -s .quot.d ] || rm -f .quot.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 pot.c | \
        sed 's/\(pot\)\.o[ :]*/\1.o .pot.d : /g' > .pot.d; \
        [ -s .pot.d ] || rm -f .pot.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 edquota.c | \
        sed 's/\(edquota\)\.o[ :]*/\1.o .edquota.d : /g' > .edquota.d; \
        [ -s .edquota.d ] || rm -f .edquota.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 convertquota.c | \
        sed 's/\(convertquota\)\.o[ :]*/\1.o .convertquota.d : /g' > .convertquota.d; \
        [ -s .convertquota.d ] || rm -f .convertquota.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 common.c | \
        sed 's/\(common\)\.o[ :]*/\1.o .common.d : /g' > .common.d; \
        [ -s .common.d ] || rm -f .common.d
set -e; cc -MM -MG  -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 bylabel.c | \
        sed 's/\(bylabel\)\.o[ :]*/\1.o .bylabel.d : /g' > .bylabel.d; \
        [ -s .bylabel.d ] || rm -f .bylabel.d
cc -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c -o quotacheck.o quotacheck.c
cc -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c -o quotacheck_v1.o quotacheck_v1.c
cc -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c -o quotacheck_v2.o quotacheck_v2.c
cc -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c -o quotaops.o quotaops.c
cc -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c -o bylabel.o bylabel.c
cc -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c -o common.o common.c
cc -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c -o quotasys.o quotasys.c
quotasys.c: In function 'hasxfsquota':
quotasys.c:396:12: warning: variable 'sbflags' set but not used [-Wunused-but-set-variable]
cc -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c -o pot.o pot.c
cc -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c -o quotaio.o quotaio.c
cc -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c -o quotaio_v1.o quotaio_v1.c
cc -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c -o quotaio_v2.o quotaio_v2.c
cc -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c -o quotaio_tree.o quotaio_tree.c
cc -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c -o quotaio_rpc.o quotaio_rpc.c
cc -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c -o quotaio_xfs.o quotaio_xfs.c
cc -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c -o quotaio_meta.o quotaio_meta.c
cc -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c -o quotaio_generic.o quotaio_generic.c
cc -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wno-unused -c rquota_xdr.c
cc -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c -o rquota_client.o rquota_client.c
cc -g -O2 -fPIE -D_GNU_SOURCE -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -c -o rquota_clnt.o rquota_clnt.c
cc -pie -o quotacheck quotacheck.o quotacheck_v1.o quotacheck_v2.o quotaops.o bylabel.o common.o quotasys.o pot.o quotaio.o quotaio_v1.o quotaio_v2.o quotaio_tree.o quotaio_rpc.o quotaio_xfs.o quotaio_meta.o quotaio_generic.o rquota_xdr.o rquota_client.o rquota_clnt.o -lext2fs -lcom_err
rquota_xdr.o: In function `xdr_sq_dqblk':
/usr/src/quota-tools/rquota_xdr.c:17: undefined reference to `xdr_u_int'
/usr/src/quota-tools/rquota_xdr.c:78: undefined reference to `xdr_u_int'
/usr/src/quota-tools/rquota_xdr.c:80: undefined reference to `xdr_u_int'
/usr/src/quota-tools/rquota_xdr.c:82: undefined reference to `xdr_u_int'
/usr/src/quota-tools/rquota_xdr.c:84: undefined reference to `xdr_u_int'
rquota_xdr.o:/usr/src/quota-tools/rquota_xdr.c:86: more undefined references to `xdr_u_int' follow
rquota_xdr.o: In function `xdr_getquota_args':
/usr/src/quota-tools/rquota_xdr.c:100: undefined reference to `xdr_string'
/usr/src/quota-tools/rquota_xdr.c:102: undefined reference to `xdr_int'
rquota_xdr.o: In function `xdr_setquota_args':
/usr/src/quota-tools/rquota_xdr.c:112: undefined reference to `xdr_int'
/usr/src/quota-tools/rquota_xdr.c:114: undefined reference to `xdr_string'
/usr/src/quota-tools/rquota_xdr.c:116: undefined reference to `xdr_int'
rquota_xdr.o: In function `xdr_ext_getquota_args':
/usr/src/quota-tools/rquota_xdr.c:128: undefined reference to `xdr_string'
/usr/src/quota-tools/rquota_xdr.c:130: undefined reference to `xdr_int'
/usr/src/quota-tools/rquota_xdr.c:132: undefined reference to `xdr_int'
rquota_xdr.o: In function `xdr_ext_setquota_args':
/usr/src/quota-tools/rquota_xdr.c:142: undefined reference to `xdr_int'
/usr/src/quota-tools/rquota_xdr.c:144: undefined reference to `xdr_string'
/usr/src/quota-tools/rquota_xdr.c:146: undefined reference to `xdr_int'
/usr/src/quota-tools/rquota_xdr.c:148: undefined reference to `xdr_int'
rquota_xdr.o: In function `xdr_rquota':
/usr/src/quota-tools/rquota_xdr.c:164: undefined reference to `xdr_int'
/usr/src/quota-tools/rquota_xdr.c:237: undefined reference to `xdr_bool'
/usr/src/quota-tools/rquota_xdr.c:239: undefined reference to `xdr_u_int'
/usr/src/quota-tools/rquota_xdr.c:241: undefined reference to `xdr_u_int'
/usr/src/quota-tools/rquota_xdr.c:243: undefined reference to `xdr_u_int'
/usr/src/quota-tools/rquota_xdr.c:245: undefined reference to `xdr_u_int'
/usr/src/quota-tools/rquota_xdr.c:247: undefined reference to `xdr_u_int'
rquota_xdr.o:/usr/src/quota-tools/rquota_xdr.c:249: more undefined references to `xdr_u_int' follow
rquota_xdr.o: In function `xdr_qr_status':
/usr/src/quota-tools/rquota_xdr.c:263: undefined reference to `xdr_enum'
rquota_client.o: In function `rpc_rquota_get':
/usr/src/quota-tools/rquota_client.c:183: undefined reference to `clnt_create'
/usr/src/quota-tools/rquota_client.c:187: undefined reference to `authunix_create_default'
/usr/src/quota-tools/rquota_client.c:221: undefined reference to `clnt_create'
/usr/src/quota-tools/rquota_client.c:225: undefined reference to `authunix_create_default'
collect2: error: ld returned 1 exit status
make: *** [quotacheck] Error 1
bash-4.2#

Any advice?

F

spiky0011 09-27-2012 12:56 PM

Hi

Dont know if this helps here

fmillion 09-28-2012 09:51 AM

Thanks, but that is more generic instructions for setting up quotas. I have already compiled a kernel with quota support, the problem is compiling the userspace tools (such as repquota, setquota, etc).

The quota-tools sourceforge page had a single post about this, wherein a person said that they couldn't even pass the configure step because rpc.h was missing. That isn't the case for me, I was able to get all the way through the configure step and most of the way through compiling. The person on Sourceforge was being told that the tirpc library is the "replacement" for the glibc RPC library, but that quota-tools doesn't support tirpc. No solution was offered at all.

My glibc does seem to have RPC as I do have an rpc/rpc.h file and in tracing the calls back through the header files all of the functions and structs seem to be present in the .h files. So I'm honestly stumped as to why I can't compile. The compiler seems like it's just not seeing the rpc headers, but they're clearly there. (in /usr/include)

Any further advice greatly appreciated...I need quotas enabled on this system before it can go into production use...

fmillion 09-29-2012 09:01 PM

I solved it.

For others seeking to fix this, here's what you have to do:

1. Install libtirpc according to blfs: http://www.linuxfromscratch.org/blfs.../libtirpc.html

2. Even if you have rpc headers, install the ones BLFS tells you to anyway.

3. Configure quota-tools using ./configure as you desire.

4. Edit the makefile manually. Add "-ltirpc" to BOTH the "EXT2LIBS" and the "LDFLAGS" line.

5. Make and install - it should work now.

F


All times are GMT -5. The time now is 01:41 AM.