Reading Ryan's last message. I realized that my problem could be interactions with libraries I had already installed into /usr/local so I tried this: $ sudo mv /usr/local /usr/localx $ sudo port install db44 Library not loaded: /usr/local/lib/libreadline.5.1.dylib Referenced from: /opt/local/share/macports/Tcl/pextlib1.0/Pextlib.dylib Reason: image not found while executing "load /opt/local/share/macports/Tcl/pextlib1.0/Pextlib.dylib" ("package ifneeded" script) invoked from within "package require Pextlib 1.0" (procedure "mportinit" line 365) invoked from within "mportinit ui_options global_options global_variations" Error: /opt/local/bin/port: Failed to initialize MacPorts, Library not loaded: /usr/local/lib/libreadline.5.1.dylib Referenced from: /opt/local/share/macports/Tcl/pextlib1.0/Pextlib.dylib Reason: image not found Clue ...! OK ... so a bunch of my ports were probably built using things in /usr/local -- and this isn't useful. Is there a quick way I can tell ports to build everything again? Is there a better way to have code built from source in /usr/local and other code built with ports (that use some libraries in common) and not have them interact without temporarily renaming /usr/local?