Opened 6 years ago

Closed 6 years ago

Last modified 5 years ago

#47406 closed defect (fixed)

libvpx: Xcode 6.3 compiler failure

Reported by: blair (Blair Zajac) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: Cc: jeremyhu (Jeremy Huddleston Sequoia), cilly@…
Port: libvpx

Description

I successfully built libvpx on Yosemite yesterday and rebuilt it today after upgrading to Xcode 6.3, it fails with this error:

/usr/bin/clang -S -pipe -Os -arch x86_64 -m64 -arch x86_64 -O3 -fPIC -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wimplicit-function-declaration -Wuninitialized -Wunused-variable -fno-strict-aliasing -Wno-unused-function -I. -I"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_multimedia_libvpx/libvpx/work/libvpx-v1.3.0" -DINLINE_ASM  -o vp8/encoder/vp8_asm_enc_offsets.c.S vp8/encoder/vp8_asm_enc_offsets.c
vp8/encoder/vp8_asm_enc_offsets.c:23:1: error: unexpected token in argument list
DEFINE(vp8_block_coeff,                         offsetof(BLOCK, coeff));
^
./vpx_ports/asm_offsets.h:22:35: note: expanded from macro 'DEFINE'
#define DEFINE(sym, val) asm("\n" #sym " EQU %0" : : "i" (val))
                                  ^
<scratch space>:68:2: note: expanded from here
"vp8_block_coeff"
 ^
<inline asm>:2:21: note: instantiated into assembly here
vp8_block_coeff EQU $8
                    ^
vp8/encoder/vp8_asm_enc_offsets.c:24:1: error: unexpected token in argument list
DEFINE(vp8_block_zbin,                          offsetof(BLOCK, zbin));
^
./vpx_ports/asm_offsets.h:22:35: note: expanded from macro 'DEFINE'
#define DEFINE(sym, val) asm("\n" #sym " EQU %0" : : "i" (val))
                                  ^
<scratch space>:69:2: note: expanded from here
"vp8_block_zbin"
 ^
<inline asm>:2:20: note: instantiated into assembly here
vp8_block_zbin EQU $40
                   ^
vp8/encoder/vp8_asm_enc_offsets.c:25:1: error: unexpected token in argument list
DEFINE(vp8_block_round,                         offsetof(BLOCK, round));
^
./vpx_ports/asm_offsets.h:22:35: note: expanded from macro 'DEFINE'
#define DEFINE(sym, val) asm("\n" #sym " EQU %0" : : "i" (val))
                                  ^
<scratch space>:70:2: note: expanded from here
"vp8_block_round"
 ^
<inline asm>:2:21: note: instantiated into assembly here
vp8_block_round EQU $56
                    ^
vp8/encoder/vp8_asm_enc_offsets.c:26:1: error: unexpected token in argument list
DEFINE(vp8_block_quant,                         offsetof(BLOCK, quant));
^
./vpx_ports/asm_offsets.h:22:35: note: expanded from macro 'DEFINE'
#define DEFINE(sym, val) asm("\n" #sym " EQU %0" : : "i" (val))
                                  ^

Attachments (2)

main.log (15.8 KB) - added by cilly@… 6 years ago.
main.log
handbrake_debug.txt (1.3 MB) - added by lpgaff (Liam Gaffney) 5 years ago.
Debug output of HandBrake install

Download all attachments as: .zip

Change History (10)

Changed 6 years ago by cilly@…

Attachment: main.log added

main.log

comment:1 Changed 6 years ago by cilly@…

Same issue here on 2 machines using Yosemite 10.10.3 with Xcode 6.3.

comment:2 Changed 6 years ago by dbevans (David B. Evans)

Cc: jeremyhu@… added

Jeremy --

Could you take a look at this? I'm not updated to the reported versions as yet. Thanks.

comment:3 Changed 6 years ago by blair (Blair Zajac)

It looks like there's a 1.4.0 tag in git: https://chromium.googlesource.com/webm/libvpx/ but there are no downloads for it: https://code.google.com/p/webm/downloads/list

comment:4 Changed 6 years ago by cilly@…

Cc: cilly@… added

Cc Me!

comment:5 Changed 6 years ago by dbevans (David B. Evans)

After updating to Yosemite 10.10.3 with Xcode 6.3, I can also confirm the problem. Yosemite 10.10.3 with Xcode 6.2 is not effected.

This appears to be the same problem that was previously fixed for macports-clang-3.5+ as described in the Portfile comments. With Xcode 6.3, Apple clang has advanced to an equivalent level and requires the same fix, namely asserting -fno-integrated-as as a build argument.

Clang versions involved are as follows:

Xcode 6.2 (Build 6C131e) provides Apple LLVM version 6.0   (clang-600.0.57) (based on LLVM 3.5svn)
Xcode 6.3 (Build 6D570)  provides Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn)

Fix committed in r135018 which extends the previous fix to Apple clang versions > 602.

This works for me using either version of Xcode. Please let me know if it works for you as well.

comment:6 in reply to:  5 Changed 6 years ago by cilly@…

Replying to devans@…:

Fix committed in r135018 which extends the previous fix to Apple clang versions > 602.

This works for me using either version of Xcode. Please let me know if it works for you as well.

Thanks a lot, works for me using Xcode 6.3 on 10.10.3.

comment:7 Changed 6 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: newclosed

comment:8 in reply to:  7 Changed 5 years ago by lpgaff (Liam Gaffney)

Replying to devans@…: I think a similar patch needs to be applied to the HandBrake/HandBrakeCLI port which somehow also builds libvpx. I'm not an expert on this though, so can't do it myself, sorry. I've attached the log file of the build, which includes a pretty much identical error as in the original post.

Changed 5 years ago by lpgaff (Liam Gaffney)

Attachment: handbrake_debug.txt added

Debug output of HandBrake install

Note: See TracTickets for help on using tickets.