#65306 closed defect (fixed)

watchman: multiple dependencies failing for 10.14 and earlier: invalid output constraint '=@ccc' in asm

Reported by: mascguy (Christopher Nielsen) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version: 2.7.2
Keywords: Cc: danchr (Dan Villiom Podlaski Christiansen)
Port: watchman fizz fbthrift fb303 wangle

Description (last modified by mascguy (Christopher Nielsen))

Various dependencies of watchman are all failing to build on 10.14 and earlier, due to asm-related errors like the following:

error: invalid output constraint '=@ccc' in asm

Based on local testing, all can be fixed by blacklisting Clang versions prior to 11:

compiler.blacklist-append \
                    {clang < 1100}

The list of ports that need to be fixed are:

  • fizz
  • fbthrift
  • fb303
  • wangle
  • watchman

Change History (16)

comment:1 Changed 23 months ago by mascguy (Christopher Nielsen)

Summary: fizz: @2022.06.06: builds failing for 10.14:fizz: @2022.06.06: builds failing for 10.14: invalid output constraint '=@ccc' in asm

comment:2 Changed 23 months ago by danchr (Dan Villiom Podlaski Christiansen)

The correct fix for this to use a newer Clang from MacPorts, right? Is there a standard way of picking the version?

comment:3 in reply to:  2 Changed 23 months ago by mascguy (Christopher Nielsen)

Replying to danchr:

The correct fix for this to use a newer Clang from MacPorts, right? Is there a standard way of picking the version?

Since the port compiles fine with Clang 11 on 10.15, I'd suggest the following. Just tested in my 10.14 VM, and this resolves the issue:

compiler.blacklist-append \
                    {clang < 1100}

Also remember to add portgroup for compiler_blacklist_versions.

On a related note, it looks like wangle has the same issue. So we'll want to apply the same fix there too.

comment:4 Changed 23 months ago by mascguy (Christopher Nielsen)

Add another port to the list needing the same fix: fbthrift.

FYI, I'm working through the dependency list, to get watchman working on macOS releases earlier than 10.15. And the latter may also be on the list, I'll find out momentarily.

comment:5 Changed 23 months ago by mascguy (Christopher Nielsen)

Description: modified (diff)
Port: watchman fbthrift fb303 wangle added
Summary: fizz: @2022.06.06: builds failing for 10.14: invalid output constraint '=@ccc' in asmwatchman: multiple dependents failing for 10.14 and earlier: invalid output constraint '=@ccc' in asm

comment:6 Changed 23 months ago by mascguy (Christopher Nielsen)

Summary: watchman: multiple dependents failing for 10.14 and earlier: invalid output constraint '=@ccc' in asmwatchman: multiple dependencies failing for 10.14 and earlier: invalid output constraint '=@ccc' in asm

comment:7 Changed 23 months ago by mascguy (Christopher Nielsen)

Yep, so the bottom line is that watchman and the four other deps mentioned, all need the same fix. (Essentially all of the Facebook-provided components.)

Last edited 23 months ago by mascguy (Christopher Nielsen) (previous) (diff)

comment:8 Changed 23 months ago by Christopher Nielsen <mascguy@…>

In 29560f119ce29353f98c28235b697c0e73a4e6af/macports-ports (master):

fb303: blacklist clang < 1100, to fix asm errors
See: #65306

comment:9 Changed 23 months ago by Christopher Nielsen <mascguy@…>

In c7368d4ffc96385e85d5119d122f5f2b8df1a0bd/macports-ports (master):

fbthrift: blacklist clang < 1100, to fix asm errors
See: #65306

comment:10 Changed 23 months ago by Christopher Nielsen <mascguy@…>

In 4307ca6da0f8d93c1a97cc3ec2b85b3ff2a961df/macports-ports (master):

fizz: blacklist clang < 1100, to fix asm errors
See: #65306

comment:11 Changed 23 months ago by Christopher Nielsen <mascguy@…>

In 433cfea0601a0489f429befebf999b0441d7cc2c/macports-ports (master):

wangle: blacklist clang < 1100, to fix asm errors
See: #65306

comment:12 Changed 23 months ago by Christopher Nielsen <mascguy@…>

Resolution: fixed
Status: assignedclosed

In cccd275741f144b21d5e9701f0dcca5d32cc26f0/macports-ports (master):

watchman: blacklist clang < 1100, to fix asm errors
Fixes: #65306

comment:13 Changed 23 months ago by mascguy (Christopher Nielsen)

Cc: danchr added
Resolution: fixed
Status: closedreopened

Ugh, apparently most of these aren't building with Clang 11 either. I'll bump the minimum to 12.

comment:14 Changed 23 months ago by mascguy (Christopher Nielsen)

Owner: changed from danchr to mascguy
Status: reopenedassigned

comment:15 Changed 23 months ago by Christopher Nielsen <mascguy@…>

In c46d42e2d078e769a5012e2a9e088e6f2681a12a/macports-ports (master):

watchman and deps: blacklist clang < 1200
See: #65306

comment:16 Changed 23 months ago by mascguy (Christopher Nielsen)

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.