forcing 10.12 or 10.13 builds onto 10.14 for 32bit fix?
Ryan Schmidt
ryandesign at macports.org
Mon Oct 29 07:57:18 UTC 2018
On Oct 29, 2018, at 01:15, Ken Cunningham wrote:
> I notice homebrew is forcing the installation of binaries built on their 10.12 or 10.13 builders onto 10.14 to get around the 32bit build problem on 10.14.
>
> I don't believe there is any way to force our binary installer to install older system builds in the same way -- but if there was, it would grant us a reprieve for a year for the 32bit issue.
>
> So I thought I'd ask if anyone can imagine how this might be done.
At the moment, you're right, we don't have anything that can do that. So at the moment we would need to find a way to compile 32-bit on 10.14. Jack Howarth mentioned that the system dylib still has 32-bit symbols (of course, so that it can run 32-bit software) but that the tbd file for the system library doesn't have the 32-bit symbols anymore, which is what causes the build failure, and that there is a way to force the build to look at the dylib instead of at the tbd, but he didn't elaborate about how that would be accomplished. If we can figure that out, that might be the answer.
As for the method you suggested, it's part of a larger problem. More and more we are encountering ports that can run on earlier systems but only if they are built on newer systems -- this seems to match what Apple wants their developers to do (use the latest OS, Xcode, SDK, and use an earlier deployment target to offer the app to older systems) -- and therefore we can't at present offer them to those older systems in MacPorts. It might be good if we could specify for those ports that they should have an older deployment target, and that older systems should download the binary built on the newer system. I haven't given much thought yet to what kind of portfile syntax we might want to use to convey that. It also wouldn't help users who build from source, which would include nondistributable ports, so it still seems like focusing on being able to build a port on the OS version where we want to use it, as we have always done, is still what we should be doing.
More information about the macports-dev
mailing list