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 config.site 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, ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.1.x/popt-1.7.tar.gz or ask Freshmeat at http://freshmeat.net/projects/popt/. If, on a 64bits machine such as one using AMD Opteron, compilation stops with something like: /usr/lib/libpopt.so: 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 make 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 http://sourceforge.net/tracker/?group_id=4581&atid=104581). 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 where list 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"). $Id$