Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update building/running instructions for macOS #1609

Merged
merged 1 commit into from
Jan 26, 2025

Conversation

dpogue
Copy link
Member

@dpogue dpogue commented Aug 6, 2024

Hopefully fixes #1608

running.html Outdated Show resolved Hide resolved
@dpogue dpogue force-pushed the mac-build-instructions branch from f83d00d to 499adb0 Compare August 6, 2024 00:58
building.html Outdated Show resolved Hide resolved
building.html Outdated Show resolved Hide resolved
building.html Outdated Show resolved Hide resolved
building.html Outdated Show resolved Hide resolved
<p>You will need to ensure all the required dependencies are available. On macOS, a Homebrew bundle file is included in the repository, which can be installed by running <code>brew bundle</code>. You can also use vcpkg on these platforms for automatically managing dependencies.</p>
<p>We strongly encourage using vcpkg to automatically build dependencies, however this requires some tools be manually installed in advance. The required tools are CMake, nasm, and pkg-config, and can be installed using common package managers such as Homebrew or MacPorts.</p>

<p>For Homebrew users who wish to manage all dependencies, a Homebrew bundle file is included in the repository, which can be installed by running <code>brew bundle</code> after cloning the project.</p>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the strongly recommend above covers things - but I'm not sure one could build a real release on Homebrew. I'm not sure whats included are universal binaries - and bundling Python as anything other than the static lib we get from vcpkg is not at all working. So the resulting output is really only going to be usable from the Mac it was built on.

@Hoikas
Copy link
Member

Hoikas commented Nov 14, 2024

Where are we here?

@colincornaby
Copy link
Contributor

I think minimally I'd like the language on the macOS requirement clarified (we require a specific SDK, not a specific macOS version.)

@Hoikas
Copy link
Member

Hoikas commented Jan 21, 2025

I'm converting this to a draft because there is outstanding feedback and to clarify from the main PR page what the status is.

@Hoikas Hoikas marked this pull request as draft January 21, 2025 01:00
@dpogue dpogue force-pushed the mac-build-instructions branch from 499adb0 to 61553d6 Compare January 21, 2025 08:01
@dpogue
Copy link
Member Author

dpogue commented Jan 21, 2025

Since the build requires the macOS 11 SDK, I've opted for simplicity to just say the minimum required version for building is macOS 11.

@dpogue dpogue marked this pull request as ready for review January 21, 2025 08:04
@dgelessus
Copy link
Contributor

I haven't tested it, but I assume macOS 10.15 will work as well, assuming you have a recent enough Xcode version. Generally, for any given macOS version, the newest supported Xcode version includes the macOS SDK for the next macOS version, so e. g. Xcode 12.4 runs on macOS 10.15 and includes the macOS 11 SDK.

@dpogue
Copy link
Member Author

dpogue commented Jan 21, 2025

Yeah, per Colin's comments:

Compiling requires Xcode 12.2. In turn - Xcode 12.2 requires macOS 10.15.4.
The resulting output will run on 10.14 - but it would be inaccurate to say you can compile from 10.14.

(and in theory even lower if you disable the Metal pipeline, but the OpenGL pipeline isn't merged yet so it's not useful to do that)

I think for simplicity it might be worth just documenting it as macOS 11 for now. Some software (not Plasma) also has issues with Xcode versions whose SDK doesn't match the system version, so people are hesitant to update to newer versions on older systems.

@dgelessus
Copy link
Contributor

Some software (not Plasma) also has issues with Xcode versions whose SDK doesn't match the system version, so people are hesitant to update to newer versions on older systems.

FWIW, I see people warn about this a lot, but in my experience, I've never had issues due to the SDK being one version newer than the running system - except in one case where I had to build a kernel extension from source, so I think that case isn't representative for other macOS software 😄

building.html Outdated Show resolved Hide resolved
building.html Outdated Show resolved Hide resolved
building.html Outdated Show resolved Hide resolved
building.html Outdated Show resolved Hide resolved
@dpogue
Copy link
Member Author

dpogue commented Jan 21, 2025

FWIW, I see people warn about this a lot, but in my experience, I've never had issues due to the SDK being one version newer than the running system

I know for sure this is problem that affects WebKit, and I seem to run into it every year. You cannot build a working WebKit for OS using an SDK for OS+1, and their stance is "That's not a supported configuration, your tools need to match your system"

@dpogue dpogue force-pushed the mac-build-instructions branch from e7897f9 to c055e84 Compare January 22, 2025 01:00
Copy link
Member

@Hoikas Hoikas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just one nitpick, and I think I will be OK with this.

building.html Outdated Show resolved Hide resolved
Co-Authored-By: Adam Johnson <[email protected]>
Co-Authored-By: Colin Cornaby <[email protected]>
Co-authored-by: dgelessus <[email protected]>
@dpogue dpogue force-pushed the mac-build-instructions branch from dd2fb07 to 53989f8 Compare January 26, 2025 22:02
@dpogue dpogue merged commit 5d359e0 into H-uru:gh-pages Jan 26, 2025
@dpogue dpogue deleted the mac-build-instructions branch January 26, 2025 22:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants