Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#54504 closed defect (fixed)

xorg-server 1.18.4_2: fails to compile on sierra

Reported by: EdHarry Owned by: jeremyhu (Jeremy Huddleston Sequoia)
Priority: Normal Milestone: MacPorts 2.4.2
Component: base Version: 2.4.1
Keywords: sierra Cc: michaellass (Michael Lass)
Port: xorg-server

Description

Xorg-Server 1.18.4_2 fails to compile on MacOS 10.12.5 (16F73), Xcode version 8.3.3 (8E3004b)

Attachments (1)

xorg-server-main.log (1.2 MB) - added by EdHarry 7 years ago.
main log

Download all attachments as: .zip

Change History (15)

Changed 7 years ago by EdHarry

Attachment: xorg-server-main.log added

main log

comment:1 Changed 7 years ago by EdHarry

This update (1.18.4_2) added a build dependency on mp-clang-3.7, which I believe was the compiler used for the build. This could be the reason for the clash with the current framework?

comment:2 Changed 7 years ago by michaellass (Michael Lass)

Cc: michaellass added

comment:3 Changed 7 years ago by EdHarry

Confirmed the problem is with mp-clang-3.7, sudo port -v install xorg-server configure.compiler=macports-clang-3.9 successfully installs the port.

(I don't know if the problem is the mp-clang-3.7 port in general or just my install.)

Last edited 7 years ago by EdHarry (previous) (diff)

comment:4 Changed 7 years ago by michaellass (Michael Lass)

It compiles fine using clang 3.9 but you will probably face this issue again: https://trac.macports.org/ticket/53910

The fix for clang linked below didn't make it into clang 3.9 as far as I can see. This is why this version is also blacklisted in the Portfile. https://bugs.llvm.org/show_bug.cgi?id=30346

Right now I am not sure how xorg-server can be built without this issue using compilers that are readily available in macports.

Version 0, edited 7 years ago by michaellass (Michael Lass) (next)

comment:5 Changed 7 years ago by mf2k (Frank Schima)

Cc: jeremyhu@… removed
Keywords: xorg-server removed
Owner: set to jeremyhu
Status: newassigned

comment:6 Changed 7 years ago by eborisch (Eric A. Borisch)

clang-4.0 worked just fine for me. I have it (but not clang-3.7) installed so it appears to have automatically selected it.

comment:7 Changed 7 years ago by michaellass (Michael Lass)

At least on my system, clang-4.0 is not automatically used by macports. I had to adjust the Portfile as follows to automatically choose clang-4.0. Indeed, building the port works fine, and the required patch to fix the runtime issue should be included in clang-4.0 as well.

--- a/x11/xorg-server/Portfile	2017-07-20 17:14:14.000000000 +0200
+++ b/x11/xorg-server/Portfile	2017-07-20 17:14:03.000000000 +0200
@@ -69,7 +69,8 @@
 # https://trac.macports.org/ticket/36055
 # https://llvm.org/bugs/show_bug.cgi?id=30346
 # https://trac.macports.org/ticket/53910
-compiler.blacklist gcc-4.0 macports-clang-3.8 macports-clang-3.9 macports-clang-devel {clang >= 802 < 900}
+compiler.blacklist gcc-4.0 macports-clang-3.7 macports-clang-3.8 macports-clang-3.9 macports-clang-devel {clang >= 802 < 900}
+compiler.fallback macports-clang-4.0
 
 configure.args --with-apple-applications-dir=${applications_dir} \
 	--with-bundle-id-prefix=org.macports \

Leaving out the compiler.fallback line, I just get the message "Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option" and XCode's clang is used.

comment:8 Changed 7 years ago by mf2k (Frank Schima)

Summary: xorg-server 1.18.4_2: fails to compile on sieraxorg-server 1.18.4_2: fails to compile on sierra

comment:9 Changed 7 years ago by jeremyhu (Jeremy Huddleston Sequoia)

I thought I blocked clang-3.7 on Sierra because of this:

:info:build /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:44:12: error: unknown property attribute 'class'
:info:build @property (class, readonly) BOOL supportsSecureCoding;
:info:build            ^

comment:10 Changed 7 years ago by jeremyhu (Jeremy Huddleston Sequoia)

I suspect the version of base that you have isn’t picking 4.0. This will be addressed whenever a newer version of base is released, but I’m also cleaning up the list to not include these toolchains on newer macOS versions.

comment:11 Changed 7 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Component: portsbase

comment:12 Changed 7 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: fixed
Status: assignedclosed

In b1b1ea0bc8520ba5bf2faf4dfd0e4b48a2ed2b6f/macports-base:

Remove clang-3.[789] from OS versions with SDKs that require functionality not in those compilers

Fixes #54504

Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@…>

comment:13 Changed 7 years ago by jeremyhu (Jeremy Huddleston Sequoia)

I’ll get a change into the Portfile to work with shipping versions of base as well.

comment:14 Changed 7 years ago by raimue (Rainer Müller)

Milestone: MacPorts 2.4.2

This fix was released with MacPorts 2.4.2.

Note: See TracTickets for help on using tickets.