<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Error compiling R25 framework on MacOS]]></title><description><![CDATA[<p dir="auto">Hi,<br />
I got the sdk.zip file from C4d (R25.117) install directory on mac. When I compile the example plugin project (plugins/example.nodes) in R25.117 on mac, I got below errors.<br />
Can you please help take a look?<br />
Thanks.</p>
<p dir="auto">BTW, there is no problem building 2024 nor 2023 sdk versions.<br />
One more thing, I need to build multiple C4d sdk versions on this mac.</p>
<pre><code>cd /tmp/R25/frameworks/core.framework/project
   /bin/sh -c /tmp/R25/build/core.framework.build/Release/core.framework.build/Script-A0F4AB3A6F00000000690000.sh
Loading generator module dumpgenerator from ../../../frameworks/settings/sourceprocessor/generators/dumpgenerator.py...
Loading generator module phgenerator from ../../../frameworks/settings/sourceprocessor/generators/phgenerator.py...
Loading generator module summarygenerator from ../../../frameworks/settings/sourceprocessor/generators/summarygenerator.py...
Loading generator module cppgenerator from ../../../frameworks/settings/sourceprocessor/generators/cppgenerator.py...
Looking for source files in /tmp/R25/frameworks/core.framework...
Traceback (most recent call last):
 File "/private/tmp/R25/frameworks/core.framework/project/../../../frameworks/settings/sourceprocessor/sourceprocessor.py", line 2829, in &lt;module&gt;
   if not main():
 File "/private/tmp/R25/frameworks/core.framework/project/../../../frameworks/settings/sourceprocessor/sourceprocessor.py", line 2490, in main
   if not recurse(args, args.directory):
 File "/private/tmp/R25/frameworks/core.framework/project/../../../frameworks/settings/sourceprocessor/sourceprocessor.py", line 2423, in recurse
   if not process(a):
 File "/private/tmp/R25/frameworks/core.framework/project/../../../frameworks/settings/sourceprocessor/sourceprocessor.py", line 2781, in process
   msg, err, exc, sources, oldSources = scanFiles(args, stampTime, previousFiles, generators, scriptDir, summary, results)
 File "/private/tmp/R25/frameworks/core.framework/project/../../../frameworks/settings/sourceprocessor/sourceprocessor.py", line 2128, in scanFiles
   p.start()
 File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/multiprocessing/process.py", line 121, in start
   self._popen = self._Popen(self)
 File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/multiprocessing/context.py", line 224, in _Popen
   return _default_context.get_context().Process._Popen(process_obj)
 File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/multiprocessing/context.py", line 284, in _Popen
   return Popen(process_obj)
 File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 32, in __init__
   super().__init__(process_obj)
 File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/multiprocessing/popen_fork.py", line 19, in __init__
   self._launch(process_obj)
 File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 47, in _launch
   reduction.dump(process_obj, fp)
 File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/multiprocessing/reduction.py", line 60, in dump
   ForkingPickler(file, protocol).dump(obj)
TypeError: cannot pickle 'module' object
Command PhaseScriptExecution failed with a nonzero exit code
</code></pre>
]]></description><link>http://developers.maxon.net/forum//topic/15515/error-compiling-r25-framework-on-macos</link><generator>RSS for Node</generator><lastBuildDate>Thu, 05 Mar 2026 10:55:44 GMT</lastBuildDate><atom:link href="http://developers.maxon.net/forum//topic/15515.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 07 May 2024 04:44:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Error compiling R25 framework on MacOS on Wed, 08 May 2024 07:46:30 GMT]]></title><description><![CDATA[<p dir="auto">Thank you, @ferdinand. I modified <a href="http://sourceprocessor.py" target="_blank" rel="noopener noreferrer nofollow ugc">sourceprocessor.py</a> for now, and it works.</p>
]]></description><link>http://developers.maxon.net/forum//post/74288</link><guid isPermaLink="true">http://developers.maxon.net/forum//post/74288</guid><dc:creator><![CDATA[BruceC]]></dc:creator><pubDate>Wed, 08 May 2024 07:46:30 GMT</pubDate></item><item><title><![CDATA[Reply to Error compiling R25 framework on MacOS on Tue, 07 May 2024 16:41:08 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/brucec">@<bdi>BruceC</bdi></a>,</p>
<p dir="auto">Thank you for reaching out to us. This is likely caused by you using Python 3.9 while the source processor for R25 was shipped with Python 3.7 (on Windows). On macOS we relied on the Python shipped with Xcode (and still do); which is nice for package sizes but can be a bit tricky for users to then use the correct Python version later on.</p>
<p dir="auto">Alternatively, you can also go into your <code>frameworks/settings/sourceprocessor/sourceprocessor.py</code> and change the function <code>sharesModules</code> to this:</p>
<pre><code>def sharesModules():
    # Module sharing does not work for newer versions like 3.9 on macOS.
    return sys.platform != 'win32' and sys.platform != 'darwin'
</code></pre>
<p dir="auto">This will prevent the module objects for the code generators being shared among processes (S26/Python 3.9 behaviour) instead of  sharing them (R25/3.7). But I would not recommend monkey patching the source processor in this manner, as it changes quite constantly and you can easily end up in a mess (this case is kind of harmless but I would still avoid doing it).</p>
<p dir="auto">When you are in multi-platform building environment this can indeed be a bit tricky with the environment variable for Python. The easiest solution would be probably to write yourself a command script which changes to which Python version <code>/usr/local/bin/python</code> points on a button press.</p>
<p dir="auto">Cheers,<br />
Ferdinand</p>
]]></description><link>http://developers.maxon.net/forum//post/74282</link><guid isPermaLink="true">http://developers.maxon.net/forum//post/74282</guid><dc:creator><![CDATA[ferdinand]]></dc:creator><pubDate>Tue, 07 May 2024 16:41:08 GMT</pubDate></item></channel></rss>