KhronosGroup / KhronosGroup/Vulkan-Portability

vulkan_samples issue: macOS with SIP (System Integrity Protection) blocks DYLD_LIBRARY_PATH environment variable.

Open
#67 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
45
Forks
7
PR merge metrics
No merged PRs in 30d

Description

A documentation issue: After successful build with CMake on macOS Sonoma (and likely any Darwin with SIP enabled), vulkan_samples successfully launches hello_triangle but fails on other samples due to the fact that SIP blocks DYLD_LIBRARY_PATH environment variable usage in the shell. In short, .zshrc cannot set DYLD_LIBRARY_PATH variable.

The following is a shell script which wraps vulkan_samples with a hack to set the DYLD_LIBRARY_PATH

#!/bin/sh
export MY_DYLD_LIBRARY_PATH="/Users/Shared/VulkanSDK/1.3.280.1/macOS/lib"
env DYLD_LIBRARY_PATH="$MY_DYLD_LIBRARY_PATH" ./build/mac/app/bin/Release/arm64/vulkan_samples.app/Contents/MacOS/vulkan_samples sample $1

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the macOS CMake launch path at build/mac/app/bin/Release/arm64/vulkan_samples.app/Contents/MacOS/vulkan_samples and the shell wrapper shown in the issue. Document the SIP limitation on DYLD_LIBRARY_PATH, the affected samples, and the working launch procedure; done means a macOS user can follow the documentation to run the non-hello_triangle samples.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, macos, shell
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.