Traceroute compilation process needs to './configure' as root! Every time I attempted to use traceroute, I got the message "Warning: Multiple interfaces found, using 127.0.0.1 @ lo" -- and needless to say, if traceroute is speaking to lo rather than eth0, it doesn't return useful results. I am aware that "traceroute -i eth0" would solve this, but I had never needed to do this in the past so I dug a little deeper. Apparently, the problem occurs when traceroute's "configure" script is run by a non-root user. Somewhere around line 1825 it tries to determine the "routing table type"; for a linux system it searches for /proc/net/route -- which, of course, is not visible to a non-root user. If it cannot determine the correct routing table type to use, it links in 'findsaddr-generic.c', the only file in the source tree which actually contains the string "Multiple interfaces found". Since there exists a 'findsaddr-linux.c' as well, using 'generic' is obviously not correct (and indeed, leads to exactly the problem I've described above; specifically, it just looks at all available interfaces and selects the first one it finds where there are more than one!) Since I know I ran 'emerge traceroute' as root -- for confirmation, I checked /root/.bash_history -- I guess emerge must switch back to a less dangerous user (without going and studying the documentation, I'm guessing 'portage') for much of the configure/make process, and only run as root to install files into their final destinations. Ordinarily this would be a "Good Thing", but in the case of traceroute, it needs to at least run the 'configure' step as root. Is there any way to tell it to do this (via the ebuild script, for instance?) Incidentally, I have fired off a similar "bug report" to traceroute@ee.lbl.gov -- it is not *really* a bug as such, more a lack of correct documentation -- but from what my google searches turned up, it would appear to be a fairly widespread problem... Reproducible: Always Steps to Reproduce: 1. 2. 3.
wow, thanks for letting us know about this. Theres a fix in 1.4_p12-r1, which now assumes linux by default.
Yeah, that'd be the other way to fix it! :-) No problem...