GNOME Bugzilla – Bug 493986
Build issues on Windows (missing symbols)
Last modified: 2007-11-06 16:40:30 UTC
Please describe the problem: Lots of symbols are missing in the .def files. The script attached to #493983, "compare-def-to-so.sh" can be used as shown in "how to reproduce" to produce patches to easily fix these issues automatically. Patches generated from this are also attached. Steps to reproduce: ./compare-def-to-so.sh ./gst-plugins-base-20071106/win32/common/libgstaudio.def ../build/lib/libgstaudio-0.10.so.0.10.0 > libgstaudio-def.diff ./compare-def-to-so.sh ./gst-plugins-base-20071106/win32/common/libgstcdda.def ../build/lib/libgstcdda-0.10.so.0.10.0 > libgstcdda-def.diff ./compare-def-to-so.sh ./gst-plugins-base-20071106/win32/common/libgstinterfaces.def ../build/lib/libgstinterfaces-0.10.so.0.10.0 > libgstinterfaces-def.diff ./compare-def-to-so.sh ./gst-plugins-base-20071106/win32/common/libgstnetbuffer.def ../build/lib/libgstnetbuffer-0.10.so.0.10.0 > libgstnetbuffer-def.diff ./compare-def-to-so.sh ./gst-plugins-base-20071106/win32/common/libgstpbutils.def ../build/lib/libgstpbutils-0.10.so.0.10.0 > libgstpbutils-def.diff ./compare-def-to-so.sh ./gst-plugins-base-20071106/win32/common/libgstrtp.def ../build/lib/libgstrtp-0.10.so.0.10.0 > libgstrtp-def.diff ./compare-def-to-so.sh ./gst-plugins-base-20071106/win32/common/libgstrtsp.def ../build/lib/libgstrtsp-0.10.so.0.10.0 > libgstrtsp-def.diff ./compare-def-to-so.sh ./gst-plugins-base-20071106/win32/common/libgsttag.def ../build/lib/libgsttag-0.10.so.0.10.0 > libgsttag-def.diff ./compare-def-to-so.sh ./gst-plugins-base-20071106/win32/common/libgstvideo.def ../build/lib/libgstvideo-0.10.so.0.10.0 > libgstvideo-def.diff Actual results: Expected results: Does this happen every time? Other information:
Created attachment 98610 [details] [review] Fix for the missing symbols in libgstaudio.def.
Created attachment 98611 [details] [review] Fix for the missing symbols in libgstcdda.def.
Created attachment 98612 [details] [review] Fix for the missing symbols in libgstinterfaces.def.
Created attachment 98613 [details] [review] Fix for the missing symbols in libgstnetbuffer.def.
Created attachment 98614 [details] [review] Fix for the missing symbols in libgstpbutils.def.
Created attachment 98615 [details] [review] Fix for the missing symbols in libgstrtp.def.
Created attachment 98616 [details] [review] Fix for the missing symbols in libgstrtsp.def.
Created attachment 98617 [details] [review] Fix for the missing symbols in libgsttag.def.
Created attachment 98618 [details] [review] Fix for the missing symbols in libgstvideo.def.
Sorry about the rush of patches. They're very trivial, but obviously quite essential for building GStreamer on Windows. :) I'm sure there are a few superfluous symbols getting exported, as is the case with the *NIX build with autotools. For the script mentioned above it's very trivial to add filtering as desirable, right now there's just one pattern being blacklisted.
Thanks, committed: 2007-11-06 Tim-Philipp Müller <tim at centricular dot net> Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com> * win32/common/libgstaudio.def: * win32/common/libgstcdda.def: * win32/common/libgstinterfaces.def: * win32/common/libgstnetbuffer.def: * win32/common/libgstpbutils.def: * win32/common/libgstrtp.def: * win32/common/libgstrtsp.def: * win32/common/libgsttag.def: * win32/common/libgstvideo.def: More missing symbols to export (fixes #493986). I removed the following symbols though, they should not be exported: libgstcdda.def: _gst_cdda_rfc822_binary _gst_cdda_sha_final _gst_cdda_sha_init _gst_cdda_sha_update libgstinterfaces.def: gst_interfaces_marshal_VOID__OBJECT_BOOLEAN gst_interfaces_marshal_VOID__OBJECT_INT gst_interfaces_marshal_VOID__OBJECT_POINTER gst_interfaces_marshal_VOID__OBJECT_STRING gst_interfaces_marshal_VOID__OBJECT_ULONG