[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