Ticket #1655 (closed defect: fixed)

Opened 2 months ago

Last modified 2 months ago

libvlccore abi changes when using --disable-sout --disable-vlm / vlc fails to build with '-z defs' when using --disable-sout --disable-vlm

Reported by: aballier Assigned to: courmisch
Priority: normal Milestone: 0.9.0-test2
Component: Stream output Version: master
Severity: normal Keywords:
Cc: Platform(s): all
Difficulty: unknown Work status: Not started

Description

When using --disable-sout --disable-vlm at vlc 0.9.0-test1 / git master's configure, the libvlccore abi changes:

sout source files aren't built anymore and e.g., sout_AccessOutSeek isn't defined in libvlccore.so.

If I build with "-Wl,-z,defs" in my LDFLAGS, I get compile failures:

bin/sh ../../../libtool --tag=CC   --mode=link gcc -std=gnu99 `top_builddir="../../.." ../../../vlc-config --cflags plugin libavformat_plugin.la` -Wall -Wextra -Wsign-compare -Wundef -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wvolatile-register-var -rpath '/usr/local/lib/vlc/demux' -avoid-version -module -no-undefined -export-symbol-regex ^vlc_entry -shrext .so `top_builddir="../../.." ../../../vlc-config --ldflags plugin libavformat_plugin.la` -Wl,-z,defs -o libavformat_plugin.la  libavformat_plugin_la-avformat.lo libavformat_plugin_la-demux.lo libavformat_plugin_la-mux.lo   `top_builddir="../../.." ../../../vlc-config -libs plugin libavformat_plugin.la` ../../../src/libvlccore.la 
libtool: link: gcc -std=gnu99 -shared  .libs/libavformat_plugin_la-avformat.o .libs/libavformat_plugin_la-demux.o .libs/libavformat_plugin_la-mux.o   -Wl,-rpath -Wl,/home/alexis/gentoo_workdir/vlc/vlc-git/vlc/src/.libs -lavformat -lavutil ../../../src/.libs/libvlccore.so -L/usr/lib64 /usr/lib64/libhal.so /usr/lib64/libdbus-1.so -lrt -lpthread -ldl -lm  -mtune=athlon64 -Wl,-z -Wl,defs   -Wl,-soname -Wl,libavformat_plugin.so -o .libs/libavformat_plugin.so
.libs/libavformat_plugin_la-mux.o: In function `IOSeek':
mux.c:(.text+0x381): undefined reference to `sout_AccessOutSeek'
.libs/libavformat_plugin_la-mux.o: In function `IOWrite':
mux.c:(.text+0x413): undefined reference to `sout_AccessOutWrite'
collect2: ld returned 1 exit status
make[6]: *** [libavformat_plugin.la] Error 1

I'm not sure what would be the correct fix, either make the relevant modules depend on sout or add (readd?) compatibility symbols to preserve abi compatibility with or without sout (probably the preferable way).

Change History

07/02/08 17:12:17 changed by courmisch

  • status changed from new to assigned.

07/02/08 18:18:04 changed by courmisch

  • status changed from assigned to closed.
  • component changed from I don't know to Stream output.
  • resolution set to fixed.