View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0016975 | Scribus | Build System | public | 2023-07-07 18:57 | 2023-09-11 20:34 |
Reporter | ryandesign | Assigned To | cbradney | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 1.5.8 | ||||
Fixed in Version | 1.6.0.svn | ||||
Summary | 0016975: Build failure on newer macOS versions than were available when Scribus was released | ||||
Description | Scribus 1.5.8 fails to build on macOS 13 Ventura on x86_64 because it is trying to build for i386 instead of x86_64. The Scribus build system has hundreds of lines of code [[https://github.com/scribusproject/scribus/blob/fbc5a9fc708fb1822b2b23fdb9343d20a2068c1f/CMakeLists.txt#L203-L286|in CMakeLists.cmake]] [[https://github.com/scribusproject/scribus/blob/fbc5a9fc708fb1822b2b23fdb9343d20a2068c1f/CMakeLists_Apple.cmake#L1C1-L188|and CMakeLists_Apple.cmake] for setting CMAKE_OSX_SYSROOT and CMAKE_OSX_ARCHITECTURES explicitly based on the macOS version, architecture, and which SDK is installed. Critically, when building on a version of macOS not known to the build system, it will fall back to building for i386. The problem was [[https://github.com/scribusproject/scribus/commit/c24f5e8969afb885e9d807e8c015d1bd47460d01|fixed for macOS 13 Ventura on x86_64 in 1.5.9.svn]] but the problem will resurface every year when Apple releases a new version of macOS. Beta versions of macOS 14 Sonoma are already available and will exhibit this problem on x86_64 even with the latest Scribus development build system. The immediate problem is [[https://github.com/scribusproject/scribus/blob/fbc5a9fc708fb1822b2b23fdb9343d20a2068c1f/CMakeLists_Apple.cmake#L175|here]], where only known x86_64 macOS versions 10.6 through 13 are set to build for x86_64. Falling back to i386 isn't reasonable: Mac OS X 10.6 was the last version that ran on i386 processors (and this build system will do the wrong thing if Mac OS X 10.6 is being used on an i386 processor), macOS 10.13 was the last version on which it was possible to build for i386, and macOS 10.14 was the last version on which is was possible to run i386 software. Finally, there's no way Scribus could build for i386 on macOS anymore anyway since it started requiring Qt 5.10 or later in 2020 (and now requires Qt 5.14 on the Version15x branch) and [[https://bugreports.qt.io/browse/QTBUG-58401|Qt 5.10 and later are not compatible with 32-bit macOS]]. I don't think it's necessary or even desirable for Scribus to be doing this. It should not set the sysroot or architectures. Most or all of the build system code related to this can be deleted. The default arch and sysroot selected by the toolchain should work fine, and the user can override them if they want to. The problem does not affect arm64 macOS. This was originally [[https://trac.macports.org/ticket/64290|reported to MacPorts in 2021]]. | ||||
Tags | No tags attached. | ||||
Patch | No | ||||
|
Sorry, I didn't realize this Mantis installation doesn't support link syntax and I don't see an Edit button to fix it. |
|
And I forgot to mention the macOS deployment target, which you're also overriding and I would suggest that you should not. Here are the patches I added to MacPorts to fix scribus 1.5.8: https://github.com/macports/macports-ports/blob/bdb112fc3ff4dc3fd2b2e0a397547255914e6418/print/scribus-devel/files/arch-and-deployment-target.patch and 1.4.8: https://github.com/macports/macports-ports/blob/bd398dc7bd1d81a7149892503e4f6a49b1715ba4/print/scribus/files/arch-and-deployment-target.patch by essentially removing most of the macOS platform detection code. |
|
I've committed a change to just go from a certain version greater than to set 64 bit. I'm actually waiting on https://trac.macports.org/ticket/64954 to be fixed so I can try a bundled x64/arm64 build for a single dmg. Once thats fixed, I may simplify as required to make that work ok. |
Date Modified | Username | Field | Change |
---|---|---|---|
2023-07-07 18:57 | ryandesign | New Issue | |
2023-07-07 18:59 | ryandesign | Note Added: 0050261 | |
2023-07-07 23:13 | ryandesign | Note Added: 0050268 | |
2023-07-08 13:35 | cbradney | Assigned To | => cbradney |
2023-07-08 13:35 | cbradney | Status | new => resolved |
2023-07-08 13:35 | cbradney | Resolution | open => fixed |
2023-07-08 13:35 | cbradney | Fixed in Version | => 1.6.0.svn |
2023-07-08 13:35 | cbradney | Note Added: 0050270 | |
2023-09-11 20:34 | cbradney | Status | resolved => closed |