Fetching contributors…
Cannot retrieve contributors at this time
125 lines (95 sloc) 5.2 KB
echoping appears to compile and run at least on Linux, FreeBSD,
NetBSD, MacOS X, Solaris (gcc only) and Tru64. On Mac OS X, you'll
probably need a version >= 10.2. Some versions of RedHat 7 ship with a
completely broken C compiler (echoping displays negative times).
You do not have to be root to install it.
Just type "./configure", then "make", "make test" if you wish (some
tests depend on local servers and/or Internet access, interpret with
care) and then (as root if necessary), "make install". Since
echoping's configure script is quite slow, it is highly recommended to
use --config-cache or to have a where it is the default
(see autoconf documentation).
There is also a 'make fulltest' if you want to test more things (which
may not be available on your platform).
"configure" has some options:
--disable-http (suppress the HTTP support)
--disable-smtp (suppress the SMTP support)
--enable-icp (add the ICP support, to monitor Web proxies like Squid)
--without-libidn (suppress the IDN support, the handling of Unicode - multi-script - domain names, see RFC 3490)
--with-libidn[=/where/is/libidn] (tell the system where to find the GNU libidn library <>)
--with-gnutls[=/where/is/gnutls] (add the SSL/TLS support, you will need
the GNU TLS library <>)
--with-ssl[=/where/is/ssl] (add the SSL/TLS support, you will need
the OpenSSL library <>)
--enable-max-iterations=MAX (limit the number of iterations (-n option for
repeated tests) to MAX)
--enable-max-request-size=MAX (limit the size of the request (-s option) to MAX)
--enable-plugin=LIST (list of plugins to build)
There is no option to disable IPv6. echoping now uses the new (RFC
3493, but first specified in RFC 2133 in september 1997) socket
interface, with getnameinfo/getaddrinfo. If your system does not
support it (Mac OS X <= 10.1), you have no other choices than using
echoping 4.
There is no option to disable the use of dlopen() or the popt
library. dlopen() is necessary for the plugins (and, in the future,
all protocol code will be in plugins). The popt library provides a
better and easier parsing of options and, more important, is necessary
for resuming parsing, something that the plugins rely heavily on. If
your system does not support dlopen() or if you do not want to install
the popt library (which is free and runs on every Unix), you have no
other choices than using echoping 5. popt can be retrieved from, for
instance, or
ask Freshmeat at
If, on a 64bits machine such as one using AMD Opteron, compilation
stops with something like:
/usr/lib/ could not read symbols: File in wrong format
it could mean that popt was compiled only in 32bits. Recompile popt
(warning: other applications may use it) or compile and keep two popt
(practical details on how to keep two versions are welcome) or compile
echoping in 32bits. With gcc:
CFLAGS=-m32 ./configure --config-cache
If your make program is not in the PATH (for instance, on Solaris, it
is typically installed in /usr/ccs/bin/make), the simplest trick is:
./configure --config-cache MAKE=/your/path/to/make
Standard "autoconf/configure" options are supported such as --prefix
to set the installation root directory.
If 'echoping -h' replies with a "404" error while the file really exists,
check first that you use the FQDN of the server on the command line
(this is a consequence of the HTTP 1.1 protocol, not a bug in echoping
and this will show only if the HTTP server uses "virtual hosting").
The SSL support (with OpenSSL *or* GNU TLS) is not established by
default, mostly because cryptography software's status is still
unclear in some countries. You have to use --with-ssl (which should be
--with--openssl, I know, there are two libraries, with incompatible
APIs) or --with-gnutls
************* Bug reports ***********************
To report a bug, email Stephane Bortzmeyer
<> (if you have an account at SourceForge,
you can use their bug reporting tool, too, at
If the problem is at the "./configure" step, do not forget to send
configure's output *and* the config.log.
If the problem is at run-time, please send the output of "echoping -V"
(capital V).
If echoping segfaults, please send me debugging info. To do so:
make clean
make debug
gdb ./echoping
run the-options-that-exhibits-the-problem
print the-variables-displayed
********** System-specific notes **************
HP-UX: echoping probably cannot run because it depends on a feature
called "back-linking" (the main program must be able to export its
symbols to the plugins, and not only the other way around). HP-UX is
apparently the only Unix without it (see libtool documentation). No
solution yet.
FreeBSD: popt is a port, so "pkg_add -r popt" will work (or
"portinstall popt").
NetBSD: popt is a port, so "pkg_add popt" will work.
Debian: echoping is a Debian package so you typically do not need to
compile it. If you want to do it, do not forget to install the
development versions of the libraries ("apt-get install libpopt-dev").