EigenD broken w/ macOS 12.3

EDIT : macOS 12.3 has removed python2 and so EigenD will not run.

EDIT2: workaround released , see this topic

BUT, Ive very limited time for this over next couple of months due to superbooth and then family commitments - so do NOT expect a short term fix.

note: MEC is not affected by this, as it does not use python at all.


has anyone upgraded their Mac to latest versions of macOS?
is EigenD still working?

I tried to run EigenD on my M1 today, and its not working…

and reason is… Python has disappeared from the Mac !

for the EigenD 2.2.0, Id moved to using the system installed python, which resided in
/System/Library/Frameworks/Python.framework

Im trying to get to the bottom of what’s going on
python3 still exists in /usr/bin/python3 , but unfortunately its not a symbolic link, so im not sure where its now installed. (e.g. where are all the other python files, if not in Frameworks)

only docs Ive found so far, say they should still be in /System/Library/Frameworks/Python.framework, but thats not true (for me at least)

and the old python2.7 seems gone entirely… or moved , hence why EigenD is not starting.

anyway, any light that can be cast on this would be useful…
but I fear, this may be the push needed to move to Python3, as it feels like Apple might have dumped python2.

but I wont be able to dig much into this, till after superbooth…
(and perhaps a bit beyond, as I have family visiting for much of May->July)

Ive found the main frameworks as part of Xcode.
/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework

so I think, Apple are now shipping only python3 as a basic install on the base os.

EigenD% otool -L /usr/bin/python3 
/usr/bin/python3:
	/usr/lib/libxcselect.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1311.100.3)

then the ‘development’ version is installed as part of Xcode (as above)

you can of course install from python.org, and it’ll (apparently) installed in its old place (/System/Library/Frameworks)

but the old Python27 has just completely vanished… looks to me like Apple unilaterally decided to just delete /System/Library/Frameworks/Python.frameworks… along with the 2.7 version.

so this looks like its killed EigenD for now… as iirc, this was the only python build, I had for the M1.
we could try installing the last 2.7 from python.org , and see if this works either native or with the x86_64 version of eigend under rosetta…

arghh… not what I needed on a Saturday morning !


and before, anyone says it … yes, I know python2 has been deprecated for years, and yes, we should have moved to it, but when I last tried this, EigenD was having some severe issues with locking with python3, and after many hours of messing about, it was very unclear what the issue was…
so I gave up, till later… as Ive only so many hours in the day :wink: (if you have time to spare , be my guest! )

but looks like that I might have to do some deep research into this when I have time… and fix it.

ok, just found this in the release notes:

https://developer.apple.com/documentation/macos-release-notes/macos-12_3-release-notes

so its official :frowning:

in fairness, it had been previously declared in 10.15, but has comes as a surprised to many that this was done in a ‘point release’ (12.2 → 12.3) , rather than a major release (macOS 13)

anyway for now , do not upgrade to 12.3 if you are using EigenD


I guess my plan is to see if I can initially find a workaround i.e. to get a 2.7 python running, perhaps bundle as part of EigenD (arghh)
then look into the Python 3 mess

Uuuu yep, Found out last night, late night packing… and guess what I have shows this weekend… I’m on backup older MBP and macmini.

So I confirm MBP2017 Intel running 12.3.1 - Latest EigenD 2.2.0 does NOT run.

Edit: although 2.1.7 still works!!

1 Like

yeah, on an intel Mac the older version of EigenD should work , since it packaged python within EigenD.
(or rather then runtime installation installed it iirc)

also 2.2.0 should work on an intel Mac if you install 2.7.18, from python.org
Python Release Python 2.7.18 | Python.org
EDIT: no it won’t it installs to the ‘wrong place’ and cannot be moved!

however, this will NOT work on apple silicon - since it is an x86_64 build only of python.
(actually it might work on apple silicon IF you force EigenD to start using Rosetta)

this is the ‘issue’ whilst Apple did get Python27 working on M1, and apparently did also provide the changes required … it was never released (since python have discontinued support).
It may be we can build python27 from source and get it working that way.

also I think MacPorts say they have Python27 as a universal build, but Im a bit reluctant to use MacPorts, as I use Homebrew, and they dont really play nicely together.

anyway… Im coming to the conclusion, Im going to have to see if I can fix this ‘properly’ by using Python3 but thats not going to happen quickly :frowning:
(so I might have to try EigenD under Rosetta in the meantime )

1 Like

ok, I’ve released EigenD 2.2.1 that will allow EigenD to run on macOS 12.3, albeit Intel/Rosetta only.

https://community.polyexpression.com/t/eigend-2-2-1-macos-12-3-emergency-fix

3 Likes