Installing MacPorts on MacOS “High Sierra”

Update 10.15: If you are looking for instructions on how to install MacPorts on Catalina, try here.

Update: The official MacPorts installer is out. Go get it! https://www.macports.org/install.php

Another year, another OS X update. I assume you are here because you downloaded the High Sierra GM from Apple, and were disappointed that there isn’t a MacPorts installer yet.  While I am sure they will release it soon, perhaps we can get you over the hump so you can beat up High Sierra before the official drop date.  If you are comfortable compiling software by hand, we should be able to get thru this easy-peasy.

I am doing this on a clean install of High Sierra. If you are attempting an upgrade from any previous version, your process may vary in unexpected ways.  You will want to make sure you’ve downloaded the latest version of Xcode, and you should probably follow the MacPorts uninstall instructions so you have less cruft around that could interfere with the process.  If you have an upgrade issue, please comment here and I’ll do my best to help you out and improve the instructions.

This is my first pass at getting it running.  I’m going to share all my steps.  One or two things I do might be unnecessary, and could be removed later if I refine the process; but I promise I wouldn’t have hit the Publish button if the overall process didn’t work.

  1. Install MacOS “High Sierra”
  2. Connect to the internet
  3. Install Xcode 9 from the App Store.
  4. Launch Xcode:
    1. Agree to the license.
    2. Let it install the extra components it says it needs.
    3. Quit xcode.
  5. Open a terminal window:
  6. sudo bash
  7. xcode-select --install
  8. When the pop-up launches, install the command line tools.
  9. cd ~/Desktop
  10. mkdir macports
  11. cd macports
  12. curl -O https://distfiles.macports.org/MacPorts/MacPorts-2.4.1.tar.gz
  13. tar -xzvf MacPorts-2.4.1.tar.gz
  14. cd MacPorts-2.4.1
  15. ./configure --enable-readline
  16. make
  17. make install
  18. echo 'export PATH=/opt/local/bin:/opt/local/sbin:$PATH' >> ~/.profile
  19. source ~/.profile
  20. port -v selfupdate

At this point, you should be ready to start reinstalling your ports! Wee!

After manually installing MacPorts with the above instructions I was able to install subversion and wget, which are my usual two first validation tests.  Subversion alone has a total of 33 dependencies alone, and combined they have 135 dependent packages; which does a pretty good job of verifying MacPorts is working.

Has SecureCRT 8.1.0 got you down?

tl;dr – If you upgraded to SecureCRT 8.1.0 and your sessions are slow, globally change your font in all your sessions.

SecureCRT is hands-down my favorite secure terminal application on OS X, Windows & iOS.  I’ve been using it since early 1998, and I have never found a better tool.  That said…

This past weekend I got around to renewing my license so I could upgrade to SecureCRT 8.1.0.  I even ponied up for a three year license / upgrade plan.

Withing a few minutes of upgrading, I knew something was wrong.  Slow screen scrolling, slow pasting into sessions, absolutely intolerably slow trying to scroll back through my terminal buffer.

It was downright painful.  So painful that I pulled version 8.0.2 out of my trash and ran it side by side.  Tests using slo-mo video mode on my iPhone revealed that the new version was scrolling text at 1/5 of the speed of the old version.  That’s a big steaming pile of no joy.

While I had no crash dumps, or forensic evidence of the issue, I shot off an email to support to let them know about the issue.  I got a prompt reply, as I always do from VanDyke Software.  Support was wonderfully patient with me.  (If you have heard that doctors make the worst patients, then ya gotta figure that DevOps Security types make the worst customers of tech.)  They hadn’t encountered the issue, and weren’t able to reproduce; but the back and forth willingness to keep working at the issue is one of the things that makes VanDyke Software an awesome company.

While trying to document a couple of different permutations of the issue, I stumbled onto the cause.  In doing so, I also realize why the ubergeeks at VanDyke Software were not able to reproduce the issue.  I’ve been running SecureCRT on OS X since version 6.6, and some of my existing session configs were originally created in that version, back in 2010.  Who knows how many bits of my configs are functional, but not optimal.  One of those non-optimal settings was apparently my font.  When I globally changed my font, all my sessions sped up.  But wait, there’s more…  When I then globally changed my font back to the original setting, my sessions were still gloriously fast.  How’s that?  I diffed one of my old session configs against a newly ‘fixed’ config. Despite them both having the same font selected in the GUI they had slightly different font settings in the config.  Something had changed in my font catalog, and while using the original data technically worked there was a noticeable increase in overhead to make it work.  Functional, but not optimal.

If this helped you out, please let me know.

Screw you, NameCheap.

A couple years back I took advantage of NameCheap’s “Move your domain day” specials to move from GoDaddy to NameCheap. I was motivated by a couple of things. First was GoDaddy’s effective censoring of RateMyCop.com by yanking their registration, and second was their CEO’s prolific hunting of endangered animals. So, fuck GoDaddy, I moved to NameCheap.

Today I noticed that I had lost a domain. It was a domain that I had hosted for a friend for nearly 20 years. I perused my email, and I didn’t have a single domain renewal email for this domain in 2015; but when I logged into NameCheap I found a long list of renewal notices that had been logged internally on their system but never delivered by email to my contact email address. When I contacted support @ NameCheap with the request that the delivery issue be tracked down, they actually offered to get my domain back for $10.87. Delighted, I transferred money to my NameCheap account. Within the hour they refunded it. Apparently, the first support agent hadn’t bothered to actually look at the issue, and had fired off some bullshit response that gave me false hope the issue could be rectified. The second agent conceded that they couldn’t get my domain back, and assured me that the problem couldn’t be on their end and I was therefore screwed.

I offered to how them ten years of mail server logs, proving their mail servers hadn’t even had a failed SMTP handshake with mine, if they’d show me their logs they said proved they had emailed me notifications.  Not that it really mattered, as some scumbag domain speculating company snatched up that domain and they aren’t giving it back unless I pay a ton of money.

Bob Parsons is a dick, but I know that GoDaddy will call me directly a dozen times before they let a dime of registration money slip through their fingers. I’d rather deal with a dick than lose another domain.

Screw you, NameCheap.

ps. I’m really sorry Marietta.

I use Amazon affiliate links in some of my posts. I think it is fair to say my writing is not influenced by the $0.40 I earned in 2022.