macOS Monterey - Can't run source processor anymore?
-
Hello,
building plugin projects on macOS Monterey used to work, as long as one uses the older Xcode version 13.2.1 to avoid build errors about deprecated function calls in the MAXON API.
Today, after some time, I tried to build again, and noticed that all builds (all frameworks, too) fail, because "Run Source Processor" build phase can't run. Supposedly, the "python" command cannot be found:
I read up on the internet, and it seems that "python" was only for Python 2.x. Why the problem occurs just now, and not earlier, is a mystery to me. Still using Xcode 13.2.1, and still having Python 3.9 and 3.10 installed. Nothing has changed, except that I updated from R25.117 to R25.120, which did not cause any problems on any other machine here.
In an article I read, it was suggested that creating a symlink "python" that points to "python3" would solve the problem. In deed, after creating a symlink, I can call "python" in the Terminal. But plugin builds in Xcode still fail, just with more and different errors:
The same projects build fine on both my other Macs (none of which runs Monterey, by the way), and my Windows PC.
Regenerating all project files for frameworks and plugin using the Project Tool didn't change anything. Reinstalling Python (tried both, the installer from their website, and via homebrew) also did not help.
Are there any solutions to this?
Cheers,
Frank -
Hey Frank,
Did you make sure to unzip the ProjectTool on that new mac from the source file. And before you unzipped it did you make sure to remove the quarantine attribute?
xattr -d "com.apple.quarantine" <ProjectTool ZIP file>.zip
https://developers.maxon.net/docs/cpp/2023_2/page_maxonapi_projecttool.html
Just wondering if maybe some of the xlibs have been quarantined by the mac, or if they are possibly just missing completely. Copying the files from one mac to another may not work. I always unzip from the source.
-
Hi Kent,
Thanks for your reply! I did not change anything on that machine. Project Tool has long been working, and so were the builds. I have no idea why it doesn’t work anymore, my only suspicion is that something got auto-updated. Strange…
Cheers,
Frank -
Sorry I couldn't be of more help there. It sounds like maybe the latest macOS update has removed python. Did you just update to macOS 12.3 by any chance? A bit of a pain that the entire team is away this week. I would like to know the solution to this myself in case I want to update my macOS.
-
I‘m indeed on macOS 12.3.1.
Can’t really say when exactly the problem started, as this is normally not my development machine.
-
Ok, just for a test I reinstalled Python 2.7.18 today, and voilà! everything works again.
I must say, I find it weird that the Maxon source processor relies on a Python version that has been discontinued since 1st Jan. 2020. It's probably about time to update it.Cheers,
Frank -
Hey @fwilleke80,
thank you for reaching out to us and sorry for the delay. I currently have not access to all of our systems, but I know that we internally also ran into this problem, and AFIAK, our solution was also to install Python 2.7 alongside Python 3 in these cases. We will have a look on Monday the 16th, when support should resume normal procedures again.
Cheers,
Ferdinand -
Hi Ferdinand,
Thanks! And no problem about delayed reply, I remember how it is with company meetings the problem is resolved now, that’s what counts.
Cheers,
Frank -
Hi the macOS 12.3 update removed the python previously shipped with the OS.
So you have to link for example from /usr/local/bin to a python installation, I personally have Python 3.8.9.
Xcode itself ships with a python version you could link to (its in Contents/Developer/usr/bin of the application package).So with that path you can call call
sudo ln -s PATH_TO_PYTHON /usr/local/bin/python
in terminal.In future we'll probably do the same as for Windows and ship a python binary with the frameworks to avoid this issue.
Cheers,
Maxime. -
@m_adam said in macOS Monterey - Can't run source processor anymore?:
So you have to link for example from /usr/local/bin to a python installation, I personally have Python 3.8.9.
Xcode itself ships with a python version you could link to (its in Contents/Developer/usr/bin of the application package).
So with that path you can call call sudo ln -s PATH_TO_PYTHON /usr/local/bin/python in terminal.Hi Adam!
That is in deed what I tried, creating a symlink that points to Python 3. I didn't use the paths, though, but just linked the word "python" to "python3". I guess that was my mistake.
Wouldn't it be easier for Maxon and everybody else, if you just changed the preprocessor call in the projects' PreBuild events to "python3", instead of having to go the symlink way and change things on users' computers (which, I guess, will have side effects when users later decide to install Python 2.7 for some reason)?
Cheers,
Frank