From c15ef957eb3486977367106ff3d3719e4971edb6 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Fri, 24 Jul 2026 10:44:39 -0700 Subject: [PATCH] Fix NameError: EXECUTABLE_FILE_FALLBACKS undefined on win32/darwin in setup.py (#10219) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `EXECUTABLE_FILE_FALLBACKS` was referenced on all platforms in `_copy_bins()` but only defined in the `emscripten` and `else` (Linux) branches — causing a `NameError` crash on Windows and macOS wheel builds. ## Change Add `EXECUTABLE_FILE_FALLBACKS = []` to the missing platform branches in `src/api/python/setup.py`: ```python if BUILD_PLATFORM in ('sequoia','darwin', 'osx'): LIBRARY_FILE = "libz3.dylib" EXECUTABLE_FILE = "z3" EXECUTABLE_FILE_FALLBACKS = [] # added elif BUILD_PLATFORM in ('win32', 'cygwin', 'win'): LIBRARY_FILE = "libz3.dll" EXECUTABLE_FILE = "z3.exe" EXECUTABLE_FILE_FALLBACKS = [] # added elif BUILD_PLATFORM in ('emscripten',): ... EXECUTABLE_FILE_FALLBACKS = ["z3.js.wasm", "z3"] else: ... EXECUTABLE_FILE_FALLBACKS = [] ``` --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Nikolaj Bjorner --- src/api/python/setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/api/python/setup.py b/src/api/python/setup.py index 28b6929e88..fd2317996d 100644 --- a/src/api/python/setup.py +++ b/src/api/python/setup.py @@ -83,9 +83,10 @@ BINS_DIR = os.path.join(ROOT_DIR, 'bin') # determine platform-specific filenames +EXECUTABLE_FILE_FALLBACKS = [] if BUILD_PLATFORM in ('sequoia','darwin', 'osx'): LIBRARY_FILE = "libz3.dylib" - EXECUTABLE_FILE = "z3" + EXECUTABLE_FILE = "z3" elif BUILD_PLATFORM in ('win32', 'cygwin', 'win'): LIBRARY_FILE = "libz3.dll" EXECUTABLE_FILE = "z3.exe" @@ -98,7 +99,6 @@ elif BUILD_PLATFORM in ('emscripten',): else: LIBRARY_FILE = "libz3.so" EXECUTABLE_FILE = "z3" - EXECUTABLE_FILE_FALLBACKS = [] # check if cmake is available, and pull it in via PyPI if necessary SETUP_REQUIRES = []