[MacPorts] #57462: gstreamer1-gst-plugins-base 1.14.4: fails to build under OSX 10.11.6

MacPorts noreply at macports.org
Mon Oct 29 01:07:01 UTC 2018


#57462: gstreamer1-gst-plugins-base 1.14.4: fails to build under OSX 10.11.6
------------------------------------------+--------------------
  Reporter:  thetrial                     |      Owner:  (none)
      Type:  defect                       |     Status:  new
  Priority:  Normal                       |  Milestone:
 Component:  ports                        |    Version:  2.5.4
Resolution:                               |   Keywords:  sse2
      Port:  gstreamer1-gst-plugins-base  |
------------------------------------------+--------------------

Comment (by mopihopi):

 The build fails with the combination of +universal and +x11.
 Unfortunately +universal now forces +x11.  However if the line "variant
 universal requires x11 {}" is commented out in the Portfile then a
 +universal build (without +x11) builds successfully (although then bug
 #57020 will be back).

 It appears that the problem is caused by configure setting HAVE_SSE and
 HAVE_SSE2 but not HAVE_X86.  Because HAVE_SSE and HAVE_SSE2 are set it
 will attempt to call the sse and sse2 versions of the functions, however
 because HAVE_X86 is not set the source files containing those functions
 are not built.

 HAVE_X86 is set by configure if `__i386__` is declared or `__x86_64__` is
 declared, but configure determines that these are not declared:
 {{{
 :info:configure checking whether __i386__ is declared... no
 :info:configure checking whether __x86_64__ is declared... no
 :info:configure checking to see if compiler understands -msse... yes
 :info:configure checking to see if compiler understands -msse2... yes
 :info:configure checking to see if compiler understands -msse4.1... yes
 }}}

 This is because the configure tests are compiled in universal mode, so
 each test fails (because it fails for one of the architectures):
 {{{
 configure:23945: checking whether __i386__ is declared
 configure:23945: /usr/bin/clang -c -pipe -Os -std=c99 -arch x86_64 -arch
 i386 -I/opt/local/include conftest.c >&5
 conftest.c:89:10: error: use of undeclared identifier '__i386__'
   (void) __i386__;
          ^
 1 error generated.
 }}}

 Without +x11, there are two builds (one for i386 and one for x86_64) each
 with their own configure run, and the objects are combined at the end.
 This approach builds correctly.

-- 
Ticket URL: <https://trac.macports.org/ticket/57462#comment:10>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list