Don’t you just love spending your evening removing and reinstalling all your ports, because some combination of OS changes and ports changes means you now need to look very carefully for 32/64 bit lovin?

And you get an error message that google doesn’t help with?

The error message was:
Error: Unable to open port: invalid command name “include”

It was proffering up this message immediately after trying to clean base64. Base64 wasn’t the problem, though.

Started by cd’ing into /opt/local/var/macports/sources/rsync.macports.org/release/ports. “sort < PortIndex.quick | less" told me that the package after base64 was bash. When I looked in shells/bash/Portfile, I saw a line starting with include. Commented that out, ran "sudo port clean –work –archive all", and it worked. No idea why it was a problem for me, though.

Well, actually it didn't work. It stopped again just before vim, so I "fixed" vim in the same way. When you do port clean –work –archive all, it goes all the way from the start, so I hacked this together to Not Do That:
sudo sh -c "sort < PortIndex.quick | cut -f 1 -d ' ' | grep -A 30000 '^vim$' | xargs port clean –work –archive"

Lather. Rinse. Repeat. Cry. And check if your portfiles are still hacked up before you go installing things again.

(My guess as to cause: the portfile syntax used to have an include thing, but it's been deprecated. By running a new port command against an old portfile repository, I made bad things happen. That's just a guess)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s