MinGW devel rpms

Richard W.M. Jones rjones at redhat.com
Tue Aug 12 15:37:59 UTC 2008


On Tue, Aug 12, 2008 at 05:21:20PM +0200, Erik van Pienbroek wrote:
> Do you have a list of the current technical issues you're coping with?
> Maybe I can help.

Yes, I did ... and in fact I was looking for it earlier today, but
couldn't find it.  So let's make a list again:

(1) At the moment rpm runs programs like 'strip' on the Windows
libraries, which actually corrupts them.  To avoid that we have hacked
the __os_install_post RPM variable so it basically doesn't do
anything.

However a better solution would be to run the correct strip binary
depending on the type of binary/library (ie. ordinary strip or
i686-pc-mingw32-strip as appropriate).

If you have a look at this file (not written by me) and search down
for __os_install_post, you'll see one working but rather ugly solution
to this:

  http://www.annexia.org/tmp/i686-pc-mingw32-binutils.spec

Is it possible to do any better?  Perhaps by patching RPM itself?

(2) Automatic dependency generation doesn't work, because the RPM
scripts involved don't know what to do with Windows DLLs.  At the
moment all our spec files list dependencies manually, but it'd be
better to have it working properly.

(3) We can't use the RPM_OPT_FLAGS.  For example, if you build on a 64
bit platform, then RPM_OPT_FLAGS contains '-m64' which is wrong
because our _target_ is 32 bit Windows.  Also it contains things like
'-fstack-protector' which doesn't appear to work on MinGW.  Should we
continue to try to "fix" RPM_OPT_FLAGS or give up on it completely?

(4) All cross-compilers based on gcc place files in directories such
as %{_prefix}/i686-pc-mingw32/.  This is not FHS compliant, but I've
been told it is an informal standard for cross-compilers and would be
very hard to change.

(5) Any remaining unknowns or fixes to:

  http://fedoraproject.org/wiki/PackagingDrafts/MinGW

(6) I couldn't get g++ compiled.  On the other hand, Dan Berrange did
manage to make it compile, even though seemingly our systems are quite
similar (he was building on 64 bit though, if that made a difference).

	----------------------------------------

The repository for our work is here:

  hg clone http://hg.et.redhat.com/misc/fedora-mingw--devel/

You really should read the README file before attempting to build any
packages.

Rich.

-- 
Richard Jones, Emerging Technologies, Red Hat  http://et.redhat.com/~rjones
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://et.redhat.com/~rjones/virt-df/




More information about the fedora-devel-list mailing list