#51733 closed update (fixed)
sbcl: update to 1.3.6 and fix build on Xcode 8
Reported by: | howarth.at.macports@… | Owned by: | easye |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.4 |
Keywords: | haspatch | Cc: | |
Port: | sbcl |
Description
The attached Portfile .diff updates the sbcl package to the current 1.3.6 release and patches the build on Xcode 8 or later to pass '-Wl,-no_pie' to the linker. This change is required as the Xcode 8 linker now defaults to PIE binaries regardless of the deployment target so an explicit '-Wl,-no_pie' is now required. The rbcl program is incompatible with ASLR and the previous upstream hack of setting the deployment target to less than 10.7 doesn't prevent the PIE executables from being created against the Xcode 8 linker. Tested on 10.11 with Xcode 8 beta.
Attachments (1)
Change History (4)
comment:1 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | easieste@… removed |
---|---|
Keywords: | haspatch added |
Owner: | changed from macports-tickets@… to easieste@… |
Summary: | update sbcl to 1.3.6 and fix build on Xcode 8 → sbcl: update to 1.3.6 and fix build on Xcode 8 |
comment:2 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
There's also probably no need to check whether xcodeversion exists. MacPorts base will ensure that it does exist.
Changed 8 years ago by howarth.at.macports@…
Attachment: | Portfile.diff added |
---|
revised Portfile.diff for 1.3.6 update and Xcode 8 fix
comment:3 Changed 8 years ago by easye
Resolution: | → fixed |
---|---|
Status: | new → closed |
The linker patch for XCode 8 has been included in r151301, which also updates to sbcl-1.3.8
I'm surprised by the inclusion of portgroup xcode 1.0 in your patch. The purpose of portgroup xcode 1.0 is to redefine the configure, build and destroot phases for building with an Xcode project file. But the sbcl port overrides the configure, build and destroot phases, so including the portgroup would have no effect. If you included the portgroup because you thought the xcodeversion variable is defined by that portgroup, it's actually defined by MacPorts base; all ports can use it without needing to include any portgroup.