
On Mon, Nov 16, 2009 at 01:29:35PM +0100, Daniel Veillard wrote:
On Mon, Nov 16, 2009 at 11:34:51AM +0000, Daniel P. Berrange wrote:
On Mon, Nov 16, 2009 at 11:23:15AM +0000, Richard W.M. Jones wrote:
[This is just a FYI ...]
Upstream binutils or gcc changed the default way that symbols are exported for cross-compiled (Fedora MinGW) DLLs. Previously all symbols were exported. Now they are only exported if they are explicitly listed in a *.def file.
There are two ways that libvirt could be changed to do the right thing here.
Or create a *.def file. It looks like:
LIBRARY libvirt.dll DESCRIPTION "libvirt foo blah" EXPORTS <<list of symbol names, one per line>>
http://msdn.microsoft.com/en-us/library/d91k01sh%28VS.80%29.aspx http://msdn.microsoft.com/en-us/library/28d6s79h%28VS.80%29.aspx
The LIBRARY and DESCRIPTION lines are optional.
This method sounds appealing to me - we could likely auto-generate this file from the master src/libvirt_public.syms file we already have for Linux/Solaris
yup, Rich how urgent is that ? maybe we should try to fix this for 0.7.3 (I'm also wondering why I didn't see this for libxml2/libxslt)
Erik can probably answer this more accurately, but I think it's only a concern for Fedora 13. The problem is that if you don't do anything then you'll end up silently building DLLs that don't work. I hit that problem today with mingw32-libpng :-( Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones New in Fedora 11: Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 70 libraries supprt'd http://fedoraproject.org/wiki/MinGW http://www.annexia.org/fedora_mingw