tcpdump mailing list archives
Problem (with outline solution) compiling print-sunrpc.c from tcpdump 3.9.7 (libpcap 0.9.7) on Solaris 10
From: "Jonathan Leffler" <jonathan.leffler () gmail com>
Date: Sat, 15 Sep 2007 20:01:11 -0700
Dear TCPDUMP Team,
Taking a copy of tcpdump-3.9.7.tar.gz and libpcap-0.9.7.tar.gz, I had
problems compiling the print-sunrpc.c file on a Solaris 10 machine
(E450 - Sparc), using both GCC 4.2.1 and Sun C Compiler:
C compiler: /workshop/Studio11/SUNWspro/bin/cc
cc: Sun C 5.8 2005/10/13
acomp: Sun C 5.8 2005/10/13
iropt: Sun Compiler Common 11 2005/10/13
cg: Sun Compiler Common 11 2005/10/13
ld: Software Generation Utilities - Solaris Link Editors: 5.10-1.482
GCC gives the more succinct error message - this is a rigged build
(configuration for Sun C but with 'make CC=gcc'), but the error
message is essentially the same as in the 'configured for GCC' build.
'Black JL:' is my shell prompt on the machine 'black'.
Black JL: make CC=gcc print-sunrpc.o
gcc -O -DHAVE_CONFIG_H -I./missing -D_U_="" -I. -I./../libpcap
-I/usr/local/include -I./missing -c ./print-sunrpc.c
In file included from /usr/include/rpc/rpc.h:42,
from ./print-sunrpc.c:34:
/usr/include/rpc/svc.h:86: error: expected specifier-qualifier-list
before 'bslabel_t'
make: *** [print-sunrpc.o] Error 1
Black JL: make print-sunrpc.o 2>&1 | sed 12q
cc -O -DHAVE_CONFIG_H -I./missing -D_U_="" -I. -I./../libpcap
-I/usr/local/include -I./missing -c ./print-sunrpc.c
"/usr/include/rpc/svc.h", line 86: syntax error before or at: bslabel_t
"/usr/include/rpc/svc.h", line 183: warning: unnamed struct member
"/usr/include/rpc/svc.h", line 210: warning: unnamed struct member
"/usr/include/rpc/svc.h", line 466: warning: unnamed struct member
"/usr/include/rpc/svc.h", line 606: warning: unnamed struct member
"/usr/include/rpc/svc.h", line 623: syntax error before or at: extern
"/usr/include/rpc/svc.h", line 625: member cannot be function: rpc_reg
"/usr/include/rpc/svc.h", line 637: syntax error before or at: extern
"/usr/include/rpc/svc.h", line 639: member cannot be function: svc_reg
"/usr/include/rpc/svc.h", line 648: syntax error before or at: extern
"/usr/include/rpc/svc.h", line 648: member cannot be function: svc_auth_reg
Black JL:
Without the 'sed', you get another 30 or so error messages before the
compilation terminates, none of them of any relevance.
I ended up with a successful compile (under GCC and Sun C) by hacking
config.h, denying that any of the RPC features was present:
/* define if you have getrpcbynumber() */
/* #define HAVE_GETRPCBYNUMBER 1 */
...
/* Define to 1 if you have the <rpc/rpcent.h> header file. */
/* #define HAVE_RPC_RPCENT_H 1 */
Black JL: make print-sunrpc.o
cc -O -DHAVE_CONFIG_H -I./missing -D_U_="" -I. -I./../libpcap
-I/usr/local/include -I./missing -c
./print-sunrpc.c
Black JL:
I took a quick look at the configure.in file, but couldn't immediately
see how to go about making an appropriate check for this. I suspect
that an AC_TRY_COMPILE on some appropriate fragment might do the
trick:
#include <rpc/rpc.h>
int ok(void) { return 1; }
This would spot the problem on Solaris 10 (and the test is only needed
if you HAVE_GETRPCBYNUMBER is defined - or if it would be defined
except for this sanity test). To the best of my knowledge, I have a
full development system on the Sun machine; it is used for some
modestly serious development work, and has many other Open Source
utilities successfully compiled on it.
If you need more information, please let me know.
(PS: I note that the README file for 3.9.7 directs email to
tcpdump-workers () tcpdump org but that mailing list no longer works - a
visit to http://www.tcpdump.org/ suggests the address used this time.)
--
Jonathan Leffler <jonathan.leffler () gmail com> #include <disclaimer.h>
Guardian of DBD::Informix - v2007.0904 - http://dbi.perl.org
"Blessed are we who can laugh at ourselves, for we shall never cease
to be amused."
--
Jonathan Leffler <jonathan.leffler () gmail com> #include <disclaimer.h>
Guardian of DBD::Informix - v2007.0904 - http://dbi.perl.org
"Blessed are we who can laugh at ourselves, for we shall never cease
to be amused."
-
This is the tcpdump-workers list.
Visit https://cod.sandelman.ca/ to unsubscribe.
Current thread:
- Problem (with outline solution) compiling print-sunrpc.c from tcpdump 3.9.7 (libpcap 0.9.7) on Solaris 10 Jonathan Leffler (Sep 15)
