Fix macOS wheel: Exclude falkordb.so from virtualenv bin/ with broken @loader_path #29
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
macOS wheels installed
falkordb.soto bothsite-packages/redislite/bin/(correct) andvirtualenv/bin/(broken). Thebin/copy had@loader_path/../../redislite/.dylibs/references that resolved outside the virtualenv, causing dlopen failures in pytest and other contexts.Root Cause
InstallRedis.run()calledcopy_tree(build_scripts, install_scripts), copying all files including the shared library to virtualenv'sbin/. Whendelocate-wheelprocessed the wheel, it fixed paths forredislite/bin/falkordb.sobut thedata/scripts/copy (→bin/) retained broken references.Changes
copy_tree()with selective copying of executables only (redis-server,redis-cli)falkordb.sofrominstall_scriptsentirely—shared library now exists only inredislite/bin/INSTALL_BIN_EXECUTABLESconstant and missing executable warnings for maintainabilityResult
virtualenv/bin/:redis-server,redis-cli(nofalkordb.so)site-packages/redislite/bin/:redis-server,redis-cli,falkordb.so(with correct@loader_path/../.dylibs/)Linux wheels and editable installs unaffected.
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.