Messages in this thread Patch in this message | | | Date | Mon, 29 Nov 1999 15:42:26 -0800 | From | "H . J . Lu" <> | Subject | Re: [NFS] nfs-utils 0.1.3 is released. |
| |
On Mon, Nov 29, 1999 at 03:21:13PM -0800, Thomas Davis wrote: > "H . J . Lu" wrote: > > > > I fixed a bug in rquotad. Please double check it doesn't break > > anything. > > > > Thanks. > > > > Trying to use it on rh5.1; it won't compile, gives the following: > > gcc -L../../support/lib -o mountd mountd.o mount_dispatch.o auth.o > rmtab.o -lexport -lnfs > ../../support/lib/libexport.a(mount_xdr.o): In function `xdr_ppathcnf': > /usr/src/redhat/BUILD/nfs-utils-0.1.3/support/export/mount_xdr.c:240: > undefined reference to `IXDR_PUT_INT32' > /usr/src/redhat/BUILD/nfs-utils-0.1.3/support/export/mount_xdr.c:294: > undefined reference to `IXDR_GET_INT32' > make[2]: *** [mountd] Error 1 > make[1]: *** [all] Error 2 > make: *** [all] Error 2 > > I checked; IXDR_GET_INT32 and IXDR_PUT_INT32 are not defined in > /usr/include/rpc/xdr.h > > The version of glibc is: > > [root nfs-utils-0.1.3]# rpm -qf /usr/include/rpc/xdr.h > glibc-devel-2.0.7-19 > > I got it to compile by transplanting the following lines into > /usr/include/rpc/xdr.h: > > #define IXDR_GET_INT32(buf) > ((int32_t)ntohl((u_int32_t)*(buf)++)) > #define IXDR_PUT_INT32(buf, v) (*(buf)++ = > (int32_t)htonl((u_int32_t)(v))) > #define IXDR_GET_U_INT32(buf) ((u_int32_t)IXDR_GET_INT32(buf)) > #define IXDR_PUT_U_INT32(buf, v) IXDR_PUT_INT32(buf, (int32_t)(v))
Could you please back out your change to /usr/include/rpc/xdr.h and try this patch instead?
Thanks.
-- H.J. Lu (hjl@gnu.org) -- ? tools/rpcgen/rpcgen Index: tools/rpcgen/rpc_main.c =================================================================== RCS file: /cvsroot/nfs/nfs-utils/tools/rpcgen/rpc_main.c,v retrieving revision 1.2 diff -u -p -r1.2 rpc_main.c --- tools/rpcgen/rpc_main.c 1999/10/28 19:58:00 1.2 +++ tools/rpcgen/rpc_main.c 1999/11/29 23:40:56 @@ -488,6 +488,19 @@ h_output(char *infile, char *define, int f_print(fout, "#include <rpc/rpc.h>\n\n"); + f_print(fout, "#ifndef IXDR_GET_INT32\n"); + f_print(fout, "#define IXDR_GET_INT32(buf) ((int32_t)ntohl((uint32_t)*(buf)++))\n"); + f_print(fout, "#endif\n"); + f_print(fout, "#ifndef IXDR_PUT_INT32\n"); + f_print(fout, "#define IXDR_PUT_INT32(buf, v) (*(buf)++ = (int32_t)htonl((uint32_t)(v)))\n"); + f_print(fout, "#endif\n"); + f_print(fout, "#ifndef IXDR_GET_U_INT32\n"); + f_print(fout, "#define IXDR_GET_U_INT32(buf) ((uint32_t)IXDR_GET_INT32(buf))\n"); + f_print(fout, "#endif\n"); + f_print(fout, "#ifndef IXDR_GET_U_INT32\n"); + f_print(fout, "#define IXDR_PUT_U_INT32(buf, v) IXDR_PUT_INT32(buf, (int32_t)(v))\n"); + f_print(fout, "#endif\n"); + tell = ftell(fout); /* print data definitions */ while ((def = get_definition()) != NULL) { - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |