[MacPorts] #50697: VLC @2.2.2: build fails when using recently released ffmpeg-3.0

MacPorts noreply at macports.org
Sun May 8 12:38:05 PDT 2016


#50697: VLC @2.2.2: build fails when using recently released ffmpeg-3.0
----------------------------+-------------------------
  Reporter:  devans@…       |      Owner:  rjvbertin@…
      Type:  defect         |     Status:  new
  Priority:  Normal         |  Milestone:
 Component:  ports          |    Version:
Resolution:                 |   Keywords:
      Port:  VLC VLC-devel  |
----------------------------+-------------------------

Comment (by rjvbertin@…):

 Replying to [comment:24 devans@…]:

 > None of them are enabled in your configuration so won't be used by
 ffmpeg. Looking at the VLC code, it has its own modules for these

 I find myself being extremely lazy not checking this in depth (must be the
 summery weather). Curious though that the config summary shows them being
 enabled. I think it must be because quite a few options auto-activate when
 their dependencies are detected, and I of course have those installed.


 > Yes, for instance
 > {{{
 > modules/codec/x264.c
 > }}}

 That was a stupid question actually. I know (or at least I think so :))
 that x264 is a videolan project. It'd stand to reason they include native
 support for it ...

 > You might look at how the ffmpeg contrib build does this.  They fix up
 the .pc files as part of this build.

 Where did you see that? I've tried the contrib build, and I get .pc files
 that contain `-L${libdir} -lfoo`. They may include the private libraries
 on the same line, though, but that's not a relevant change AFAICS.
 I've changed my own .pc files to contain `Libs: ${libdir}/libfoo.dylib`,
 but that doesn't work:

 {{{
 > cd .../vlc-2.2.2/modules/ ; ../doltlibtool -v --tag=CC --mode=link
 /usr/bin/clang -I/opt/local/lib/vlc/ffmpeg/include -O3 -march=native -g
 -arch x86_64 -D_INTL_REDIRECT_MACROS -I/opt/local/var/macports/build
 /_opt_local_site-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 -avoid-version -module -export-
 symbols-regex '^vlc_entry' -no-undefined ../compat/libcompat.la
 ../src/libvlccore.la -rpath '/opt/local/lib/vlc/plugins/video_chroma'
 -L/opt/local/lib -Wl,-headerpad_max_install_names -L/opt/local/lib/samba3
 -arch x86_64 -Wl,-headerpad_max_install_names
 -L/opt/local/var/macports/build/_opt_local_site-
 ports_multimedia_VLC/VLC/work/vlc-2.2.2/contrib/lib -o
 libswscale_plugin.la video_chroma/libswscale_plugin_la-swscale.lo
 codec/avcodec/libswscale_plugin_la-chroma.lo
 /opt/local/lib/vlc/ffmpeg/lib/libswscale.3.1.101.dylib -lm
 /opt/local/lib/vlc/ffmpeg/lib/libavutil.54.31.100.dylib -lm
 /opt/local/var/macports/build/_opt_local_site-
 ports_multimedia_VLC/VLC/work/vlc-2.2.2/modules
 + false
 + exec ../libtool -v --tag=CC --mode=link /usr/bin/clang
 -I/opt/local/lib/vlc/ffmpeg/include -O3 -march=native -g -arch x86_64
 -D_INTL_REDIRECT_MACROS -I/opt/local/var/macports/build/_opt_local_site-
 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 -avoid-version -module -export-symbols-regex
 '^vlc_entry' -no-undefined ../compat/libcompat.la ../src/libvlccore.la
 -rpath /opt/local/lib/vlc/plugins/video_chroma -L/opt/local/lib
 -Wl,-headerpad_max_install_names -L/opt/local/lib/samba3 -arch x86_64
 -Wl,-headerpad_max_install_names -L/opt/local/var/macports/build
 /_opt_local_site-ports_multimedia_VLC/VLC/work/vlc-2.2.2/contrib/lib -o
 libswscale_plugin.la video_chroma/libswscale_plugin_la-swscale.lo
 codec/avcodec/libswscale_plugin_la-chroma.lo
 /opt/local/lib/vlc/ffmpeg/lib/libswscale.3.1.101.dylib -lm
 /opt/local/lib/vlc/ffmpeg/lib/libavutil.54.31.100.dylib -lm
 libtool: link: rm -fr  .libs/libswscale_plugin.exp
 libtool: link: generating symbol list for 'libswscale_plugin.la'
 libtool: link: /opt/local/bin/nm  video_chroma/.libs/libswscale_plugin_la-
 swscale.o codec/avcodec/.libs/libswscale_plugin_la-chroma.o   | sed -n -e
 's/^.*[      ]\([BCDEGRST][BCDEGRST]*\)[     ][      ]*_\([_A-Za-z][_A-
 Za-z0-9]*\)$/\1 _\2 \2/p' | sed '/ __gnu_lto/d' | /opt/local/bin/gsed
 's/.* //' | sort | uniq > .libs/libswscale_plugin.exp
 libtool: link: /opt/local/bin/grep -E -e "^vlc_entry"
 ".libs/libswscale_plugin.exp" > ".libs/libswscale_plugin.expT"
 libtool: link: mv -f ".libs/libswscale_plugin.expT"
 ".libs/libswscale_plugin.exp"
 libtool: link: sed -e 's|^|_|' < .libs/libswscale_plugin.exp > .libs
 /libswscale_plugin-symbols.expsym
 libtool: link: /usr/bin/clang  -o .libs/libswscale_plugin.so -bundle
 video_chroma/.libs/libswscale_plugin_la-swscale.o codec/avcodec/.libs
 /libswscale_plugin_la-chroma.o   ../compat/.libs/libcompat.a
 -L/opt/local/lib -L/opt/local/lib/samba3 -L/opt/local/var/macports/build
 /_opt_local_site-ports_multimedia_VLC/VLC/work/vlc-2.2.2/contrib/lib
 ../src/.libs/libvlccore.dylib -lintl -lidn -liconv -ldbus-1 -lm  -O3
 -march=native -g -arch x86_64 -O3 -Wl,-headerpad_max_install_names -arch
 x86_64 -Wl,-headerpad_max_install_names   -Wl,-exported_symbols_list,.libs
 /libswscale_plugin-symbols.expsym
 Undefined symbols for architecture x86_64:
 }}}

 somewhere in the libtool script the .dylib link modules get lost, and I
 haven't yet understood where that happens, or why.

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


More information about the macports-tickets mailing list