ID 501544 - The frame server is unable to start when launching Nuke on case-sensitive file systems [macOS only]

Follow

Problem summary

The frame server is unable to start when launching Nuke on case-sensitive file systems. The problem appears to be due to an incorrectly capitalised path entry in the Python executable.


Customer reported version
Nuke 13.1v1


Customer reported platform
macOS


Steps to reproduce


1) Install Nuke on a drive formatted with a case-sensitive file system.


2) Launch Nuke.


Expected behaviour
Nuke should launch without any frame server errors.


Actual behaviour
The following errors are returned when launching Nuke on case-sensitive file systems, and the frame server does not start:

Traceback (most recent call last):


File "/install/path/Nuke13.1v1.app/Contents/Resources/pythonextensions/site-packages/foundry/frameserver/nuke/runframeserver.py", line 26, in <module>


from foundry import zmq

File "/install/path/Nuke13.1v1.app/Contents/Resources/pythonextensions/site-packages/foundry/zmq/init.py", line 6, in <module>


from zmq import *

File "/Volumes/install/path/Nuke13.1v1.app/Contents/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/zmq/init.py", line 47, in <module>


from zmq import backend

File "/Volumes/install/path/Nuke13.1v1.app/Contents/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/zmq/backend/init.py", line 40, in <module>


reraise(*exc_info)

File "/Volumes/install/path/Nuke13.1v1.app/Contents/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/zmq/utils/sixcerpt.py", line 34, in reraise


raise value

File "/Volumes/install/path/Nuke13.1v1.app/Contents/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/zmq/backend/init.py", line 27, in <module>


_ns = select_backend(first)

File "/Volumes/install/path/Nuke13.1v1.app/Contents/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/zmq/backend/select.py", line 28, in select_backend


mod = __import__(name, fromlist=public_api)

File "/Volumes/install/path/Nuke13.1v1.app/Contents/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/zmq/backend/cython/init.py", line 6, in <module>


from . import (constants, error, message, context,

ImportError: dlopen(/Volumes/install/path/Nuke13.1v1.app/Contents/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/zmq/backend/cython/constants.cpython-37m-darwin.so, 2): Library not loaded: @rpath/libzmq.dylib


Referenced from: /Volumes/install/path/Nuke13.1v1.app/Contents/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/zmq/backend/cython/constants.cpython-37m-darwin.so


Reason: image not found


Workaround
You can use the following Terminal commands to fix the capitalisation on the problematic RPATH:

install_name_tool -delete_rpath @executable_path/../../../../../../../../Macos /Volumes/install/path/Nuke13.1v2.app/Contents/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python

install_name_tool -add_rpath @executable_path/../../../../../../../../MacOS /Volumes/install/path/Nuke13.1v2.app/Contents/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python

The install_name_tool -delete_rpath command removes the RPATH with incorrect capitalisation and install_name_tool -add_rpath adds the path again, with correct capitalisation.


Reproduced by support
This issue has been identified by our development team in Nuke 13.1v1 and Nuke 13.1v2

    We're sorry to hear that

    Please tell us why