[MacPorts] #50913: VLC @2.2.2: error: expected identifier or '('

MacPorts noreply at macports.org
Mon Mar 21 05:46:48 PDT 2016


#50913: VLC @2.2.2: error: expected identifier or '('
----------------------+--------------------------------
  Reporter:  majoc@…  |      Owner:  macports-tickets@…
      Type:  defect   |     Status:  new
  Priority:  Normal   |  Milestone:
 Component:  ports    |    Version:  2.3.4
Resolution:           |   Keywords:  yosemite
      Port:  VLC      |
----------------------+--------------------------------

Comment (by majoc@…):

 Replying to [comment:4 rjvbertin@…]:
 > Something else to try:
 >
 > {{{
 > (cd `port work vlc`/vlc-2.2.2/src ; /usr/bin/clang -DHAVE_CONFIG_H -I.
 -I..   -I/opt/local/include -DMODULE_STRING=\"core\"
 -DLOCALEDIR=\"/opt/local/share/locale\"
 -DPKGDATADIR=\"/opt/local/share/vlc\" -DPKGLIBDIR=\"/opt/local/lib/vlc\"
 -DHAVE_DYNAMIC_PLUGINS  -I../include -I../include -I/opt/local/include
 -D__unix__=1 -I/opt/local/lib/live/liveMedia/include
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_multimedia_VLC/VLC/work/vlc-2.2.2/contrib/include
 -pipe -Os -arch x86_64 -D_INTL_REDIRECT_MACROS
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_multimedia_VLC/VLC/work/vlc-2.2.2/contrib/include
 -Wall -Wextra -Wsign-compare -Wundef -Wpointer-arith -Wbad-function-cast
 -Wwrite-strings -Wmissing-prototypes -Wvolatile-register-var -Werror-
 implicit-function-declaration -pipe -fvisibility=hidden -O3 -ffast-math
 -funroll-loops -fomit-frame-pointer  -CC -dD -E -o
 ~/Desktop/vlc_misc_picture.i misc/picture.c)
 > }}}
 >
 > on both systems and compare the resulting vlc_misc_picture.i files?

 Tentatively bingo.  A diff of the respective picture.i files shows:

 {{{
 --- vlc_mist_picture.i.10-10    2016-03-21 11:35:28.000000000 +0000
 +++ vlc_mist_picture.i.10-11    2016-03-21 11:35:18.000000000 +0000
 [snipissimo]
  # 43 "misc/picture.c" 2
 -((void) sizeof (struct { unsigned a[(sizeof (uintptr_t) == sizeof
 (atomic_uintptr_t)) ? 1 : -1];}));
 -
 -((void) sizeof (struct { unsigned a[(_Alignof (uintptr_t) == _Alignof
 (atomic_uintptr_t)) ? 1 : -1];}));
 -
 +_Static_assert(sizeof (uintptr_t) == sizeof (atomic_uintptr_t),
 +              "Please compile in C99 mode (or update to LibVLC 3.0).");
 +_Static_assert(_Alignof (uintptr_t) == _Alignof (atomic_uintptr_t),
 +              "Please compile in C99 mode (or update to LibVLC 3.0).");


  /**
 }}}

 Looking further in, it would appear /usr/include/assert.h under 10.10
 doesn't have a static_assert() definition; VLC then adds _Static_assert()
 (in ../include/vlc_fixups.h) as a macro which I don't pretend to
 understand, but which appears to at best be being misexpanded.

 > Another thing to check is whether that compile command (from your
 attached vlc.main.log) is identical on 10.11 !

 They are indeed identical.  Well called.

-- 
Ticket URL: <https://trac.macports.org/ticket/50913#comment:9>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list