WHAT IS MTR? mtr combines the functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool. As mtr starts, it investigates the network connection between the host mtr runs on and a user-specified destination host. After it determines the address of each network hop between the machines, it sends a sequence of ICMP ECHO requests to each one to determine the quality of the link to each machine. As it does this, it prints running statistics about each machine. mtr is distributed under the GNU General Public License version 2. See the COPYING file for details. INSTALLING If you're building this from a tarball, compiling mtr should be as simple as: make It should first call the "configure" script and then run "make" again with the makefile that "configure" just generated. If you're building from the git repository, you'll need to run: ./bootstrap.sh && ./configure && make After compiling, install: make install Note that mtr must be suid-root because it requires access to raw IP sockets. See SECURITY for security information. Older versions used to require a non-existent path to GTK for a correct build of a non-gtk version while GTK was installed. This is no longer necessary. ./configure --without-gtk should now work. If it doesn't, try "make WITHOUT_X11=YES" as the make step. On Solaris (and possibly other systems) the "gtk" library may be installed in a directory where the dynamic linker refuses to look when a binary is setuid. Roman Shterenzon reports that adding -Wl,-rpath=/usr/lib to the commandline will work if you are using gnu LD. He tells me that you're out of luck when you use the sun LD. That's not quite true, as you can move the gtk libraries to /usr/lib instead of leaving them in /usr/local/lib. (when the ld tells you that /usr/local/lib is untrusted and /usr/lib is trusted, and you trust the gtk libs enough to want them in a setuid program, then there is something to say for moving them to the "trusted" directory.) On Solaris, linking usually fails to find "wattr" or something like that. Somehow, I can't seem to be able to automate "configure" finding the right libs on Solaris. So, the solution is that you cut-and-paste the line doing the linking into a terminal window, and add "-lcurses" by hand. Then it will link. Help on how to catch this in autoconf appreciated. On Mac OS X the nameserver8_compat.h needs to be included. I put the include inside an "#if 0" section in the file "dns.c". If someone knows how to make this automatic using autoconf / the configure script, please tell me.... This should now also work: ./configure CFLAGS="-arch i386 -arch x86_64" LIBS="-lresolv" \ --without-gtk --disable-endian-check --disable-dependency-tracking WHERE CAN I GET THE LATEST VERSION OR MORE INFORMATION? mtr is now hosted on github. https://github.com/traviscross/mtr See the mtr web page at http://www.BitWizard.nl/mtr/ Bug reports and feature requests should be submitted to the Github bug tracking system. Patches can be submitted by cloning the Github repository and issuing a pull request, or by email to me. Please use unified diffs. Usually the diff is sort of messy, so please check that the diff is clean and doesn't contain too much of your local stuff (for example, I don't want/need the "configure" script that /your/ automake made for you). (There used to be a mailinglist, but all it got was spam. So when the server was upgraded, the mailing list died.) -- REW