Installing MacPorts on MacOS 10.15 Catalina

Update: I always appreciate the traffic, but the folks at MacPorts have their official installer for Catalina available now. You should use it:

Updated on 2019/10/09 to work with the public release of Catalina.

Another year, another round of “Oh, shit! My software doesn’t run on the latest version of MacOS!” While MacOS steadily marches towards being a consumer friendly OS that alienates the hardcore users, we continue to try to beat back the tide with tools like MacPorts. I’ll be curious to see how things go with future versions of MacOS, now that there are reports that upgrading to Catalina will wipe out a users /opt/ folder.

Below you will find my steps for getting MacPorts compiled by hand on MacOS 10.15 Catalina. I am working on a clean install of Catalina and Xcode 11. If you are trying an upgrade, or using a different version, your experience may be different. If you run into problems post a comment and I’ll do what I can to help out.

And so, without further ado…

  1. Install MacOS Catalina
  2. Install XCode 11
  3. Launch XCode
    1. Agree to the license agreement.
    2. Enter your password when the authentication dialog box opens.
    3. Wait for it to finish installing components.
    4. Quit XCode
  4. Open a terminal window.
    (CMD-Space terminal <return>)
  5. sudo xcode-select --install
    (enter your user password)
  6. When the pop-up opens asking for permission to install the command line tools, click “Install”.
  7. Agree to the license agreement, despite what it says will happen to your first-born.
  8. Back to your terminal window, inscribe these arcane incantations:
  9. sudo xcode-select -s /Applications/
  10. sudo xcodebuild -license
    (Space through the document, and then type ‘agree'<return> – The ghost of Steve Jobs will not start haunting you until at least New Years.)
  11. cd ~/Desktop
    (A window will pop up asking for access to your desktop folder. Grant it, lest the imps be released.)
  12. curl -O
  13. tar -xzvf MacPorts-2.6.1.tar.gz
  14. cd MacPorts-2.6.1
  15. ./configure
  16. make
  17. sudo make install
    (Enter your user password if prompted. You may not be prompted if you get through the above steps quickly.)
  18. echo "export PATH=/opt/local/bin:\$PATH" >> ~/.zshrc
  19. source ~/.zshrc
  20. sudo port -v selfupdate
    (Enter your user password if prompted. You may not be prompted if you get through the above steps quickly.)

At this point you are pretty much ready to start installing ports. I say pretty much, because there are two ‘optional dependencies’ that will make your life easier:

  1. Install Java from
  2. Install XQuartz X11 from

OK, now you are really, really ready to install ports. 🙂

Take your fresh Catalina install out for a spin and let us know how it goes!

If this worked for you, could I ask a favor? Share a link to this article somewhere you think people would find it useful. Thanks!

Preserving Thermal Receipts

I am not a fan of thermal receipts, but they’ve taken over the word and now we have to deal withe them. Not even addressing all of the health an environmental problems with thermal receipts, my biggest issue is that they fade. Even if you are careful to put your important receipts into a folder or file, I’m sure you’ve had at least one time you needed a receipt for taxes or a warranty claim and when you went to dig it out you found a collection of unreadable pieces of paper. I have two suggestions for addressing this first world problem:

  1. If you have a camera enabled phone, take a picture of the receipt as soon as it is in your hand, and file it in a folder called Receipts. A digital copy will last forever, if you maintain decent backups.
  2. Before you file the physical receipt away, ‘laminate’ it with packing tape. I recommend 3M Heavy Duty Shipping Tape for its strength and durability. You still need to store your preserved receipt someplace cool and dark, but this will slow down the eventual oxidation of your receipt. DO NOT use a heat laminating machine, as that will turn your receipt black.

Our Gratitude for Sandy Spring

Our successful adventure owning a home in the San Francisco Bay Area began and ended with the help of Sandy Spring. Her expertise, patience, and relationships with competent vendors saved us from the downward spiral of despair we found ourselves in when we tried to navigate it all on our own.

We had spent several months researching neighborhoods and schools, visiting showings, and trying to find a house we loved and could still afford. We’d even put in one offer, with the help of a friend who was a ‘part time’ realtor, and that had gone poorly enough to sink our spirits and make us rethink whether renting wasn’t that bad after all.

A chance introduction at some friends’ housewarming party changed all that. Sandy had been their realtor, and they had nothing but praise. She listened to our tale of woe, and offered some very helpful advice. It was immediately evident that we needed Sandy as our full-time realtor.

Right away she helped us curate a list of viable houses and we were off and running again. And then the impossible happened… There had been a house that we loved, and could have afforded, but someone beat us to the offer. That offer fell through, and Sandy helped us craft an offer and ninja it to the sellers before they had a chance to schedule more showings. They accepted our offer, which was just the beginning. Sandy helped us arrange all the inspections, and personally attended to explain all the nuances. After all the inspections and a little more negotiating, we bought that house. We could have never done that on our own.

Seven years later we decided to take a leap and head off on a new adventure. We immediately called Sandy. She helped us build a list of tasks we needed to accomplish, and helped us prioritize them. This was no easy task because we were living in the house, sorting belongings between keep and sell, packing for an overseas move, and trying to sell our house all at the same time. I honestly think we’d still be spinning in circles in a cluttered house were it not for Sandy dropping by every couple of days and infusing us with her calm and helping us keep focused. Sandy helped us self-stage our house, and even loaned us furniture to make sure every room was suitably accentuated. Throughout the entire process she made us feel like we were her only client, such was her attention and focus on our success.

We accepted an offer on hour house the day we were scheduled to leave the country. Sandy rushed the offer over to us, thoroughly vetted it with us, and we had it signed two hours before we left for the airport. At this point, Sandy didn’t just go the extra mile, she ran a marathon on our behalf. She represented us during all of the seller’s tasks while we were in a different hemisphere. She attended the inspections, arranged to have all the staging removed, delivered our last boxes of donations and hand-offs to friends, and kept our landscaping watered.

With her very hands-on help we didn’t just sell our house, we started a new adventure. We owe our successful, and very profitable, adventure in Oakland home ownership to Sandy Spring. You couldn’t have a better realtor or friend.