Fixing Verizon DSL’s incorrect DNS response behavior

TL;DR unbreak macports on a Verizon DSL connection by replacing the last octet of your Verizon DNS servers with .14 to disable redirects to a search page for domains which fail to resolve.

Over the holiday break I had reason to update macports on my venerable old laptop, and apparently it was the first time since moving to the new house which is currently served only by Verizon DSL. During the process I got a really unintuitive error in several packages that followed the form:

Error: Failed to configure poppler, consult /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_poppler/poppler/work/poppler-0.29.0/config.log

Error: org.macports.configure for port poppler returned: configure failure: command execution failed
Please see the log file for port poppler for details:
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_poppler/poppler/main.log

Starting to debug the problem, I noticed that several of the ports had only empty directories where tarball contents should have been. Then I noticed this gem in the logs:

Warning: Your DNS servers incorrectly claim to know the address of nonexistent hosts. This may cause checksum mismatches for some ports. See this page for more information:

https://trac.macports.org/wiki/MisbehavingServers

Yep. That’s the problem. Fortunately Verizon lets you opt out of this behavior it calls Search Assist, but which breaks internet standards.

I’ll save you some painful wandering through the site (it tries to lead you through based on modem and firmware version, but didn’t have mine) and just tell you all you have to do is replace the last octet of your Verizon DNS servers with .14 to disable redirects to a search page for domains which fail to resolve.

If you have DNS X.Y.Z.12 just change it to X.Y.Z.14. Done.

Then follow the instructions at the macorts MisbehavingServers for any port that seems to be broken or just plain wonky and everything should be back on track. I had a broken version of autoconf and gawk in my tree, so pretty much nothing worked, making the issue obvious, but if it had been some dependency deep in the build I might have stumbled around for hours.