Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=513819
--- Comment #9 from Richard W.M. Jones <rjones(a)redhat.com> 2009-07-26 16:40:48 EDT ---
(In reply to comment #8)
> This won't currently work anyway. MinGW packages are noarch. koji builders will
> select any free builder, and often use ppc or ppc64 builders. On ppc machines,
> wine will not work. So if you want this to work, you need to file an RFE for
> koji.
Actually there's an even more fundamental problem - Wine
requires an X server and a $HOME directory to function, and
for those reasons I never managed to get it to run under
Koji (even using Xvfb).
(In reply to comment #6)
> 2) The reason GNU Smalltalk's build needs Wine is not needing runtime tests,
> but rather that it needs to run itself to complete the build. This is not
> related to this bug.
I'm guessing this is a bootstrapping problem - ie. the Smalltalk
compiler/runtime is written in Smalltalk, so must be compiled
using Smalltalk.
We have other packages like this (certainly mingw32-ocaml, possibly
our Tcl package too). The standard solution is to BuildRequire
the *native* package, and use that to run the bits that need to
be run during the build.
With OCaml this was especially complex, but that's what we did.
--
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=509940
--- Comment #5 from Paolo Bonzini <pbonzini(a)redhat.com> 2009-07-26 16:13:21 EDT ---
Maybe using mingw32-cmake? Erik mentioned it but I didn't find it in my
installation.
As I wrote extensively in 513925, the need for special commands instead of
"./configure --host=... && make" (or the cmake equivalent) is always the sign
of a bug (either in the program's build system, or in Fedora).
--
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=513819
Thomas Sailer <t.sailer(a)alumni.ethz.ch> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |t.sailer(a)alumni.ethz.ch
--- Comment #8 from Thomas Sailer <t.sailer(a)alumni.ethz.ch> 2009-07-26 16:12:54 EDT ---
(In reply to comment #6)
> 2) The reason GNU Smalltalk's build needs Wine is not needing runtime tests,
> but rather that it needs to run itself to complete the build. This is not
> related to this bug.
This won't currently work anyway. MinGW packages are noarch. koji builders will
select any free builder, and often use ppc or ppc64 builders. On ppc machines,
wine will not work. So if you want this to work, you need to file an RFE for
koji.
--
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=513819
--- Comment #7 from Paolo Bonzini <pbonzini(a)redhat.com> 2009-07-26 15:07:14 EDT ---
I forgot the third problem.
3) The cross-compilation environment is obviously not enough to run "make
check". This is a good reason to install Wine and thus fall prey of item (1)
above.
--
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=513819
--- Comment #6 from Paolo Bonzini <pbonzini(a)redhat.com> 2009-07-26 15:03:22 EDT ---
There are three problems:
1) when given --host, Autoconf tries to run a program to determine if you're
cross compiling. If you have Wine installed the Windows executable are
registered with the kernel binfmt_misc module and then you're not
cross-compiling, or at least Autoconf doesn't think you are.
So glib will run the runtime tests that detect mismatches between the versions
in the include files and the actual library versions. While I agree that
necessary runtime tests are evil, they can be useful when they are supported
because they are more precise that compile-only tests. Indeed in my case it
detected that I was using the wrong pkg-config (bug 513825).
That's why it is ok to report this as a wine bug, also. The bug doesn't happen
if Wine is not installed.
2) The reason GNU Smalltalk's build needs Wine is not needing runtime tests,
but rather that it needs to run itself to complete the build. This is not
related to this bug.
> Wine's behaviour when executing programs which depend on other (cross-
> compiled) libraries is the same as would happen on real Windows environments.
> That is: only the default paths and the current path are searched for
> libraries.
I know, but this bug applies to uninstalled binaries. It is currently
impossible to run a quick-and-dirty glib/gtk program in Wine except by manually
adding c:\mingw\bin to the path. (BTW, I stand corrected; adding c:\mingw\lib
is not required).
--
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=509940
Richard W.M. Jones <rjones(a)redhat.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rjones(a)redhat.com
--- Comment #4 from Richard W.M. Jones <rjones(a)redhat.com> 2009-07-26 14:00:36 EDT ---
(In reply to comment #3)
> Actually, I'd bet that cmake does not look for i686-pc-mingw32-pkg-config (only
> pkg-config), so even fixing 513925 would not help you; you would have to hack
> something to use cross-compilation search paths (as hinted in bug 513925).
> Call it the revenge of the autotools. ;-)
No, cmake works perfectly well. We build several packages using
cmake just fine.
--
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=513819
--- Comment #5 from Richard W.M. Jones <rjones(a)redhat.com> 2009-07-26 13:57:18 EDT ---
> This is a problem when running programs that use those libraries (including
> configure scripts that detect the libraries!).
We build many packages that depend on previously built packages
(several layers deep), all using autoconf, and it all works fine.
I would agree with Erik, that this is not a bug.
Also Wine should never be used when compiling packages. Any
package that needs runtime tests using Wine is clearly broken
(read the autoconf info file "6.6 Checking Runtime Behavior").
--
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=513819
Erik van Pienbroek <erik-fedora(a)vanpienbroek.nl> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |fedora-mingw(a)lists.fedorapr
| |oject.org
--- Comment #4 from Erik van Pienbroek <erik-fedora(a)vanpienbroek.nl> 2009-07-26 12:23:05 EDT ---
I don't think of this as a real bug. The Fedora-MinGW SIG has created an
environment where it is possible to cross-compile packages on a Fedora Linux
host for Win32 targets. Wine isn't needed to cross-compile packages. Wine is
just used to test the generated binaries (but most people perform the real
tests on native Win32 environments).
When using the autotools to cross-compile packages the runtime-specific tests
are skipped (in some cases you need to manually create a config.cache file like
mentioned at
http://library.gnome.org/devel/glib/stable/glib-cross-compiling.html) The same
probably also applies to other build systems (I'm not really familiar with
those..) so wine isn't needed to compile mingw packages.
Wine's behaviour when executing programs which depend on other (cross-compiled)
libraries is the same as would happen on real Windows environments. That is:
only the default paths and the current path are searched for libraries. For
example, if you copy your a.exe to /usr/i686-pc-mingw32/sys-root/mingw/bin and
execute 'wine ./a.exe' the program should run just fine.
Developers/packager who wish to create win32 installers containing
cross-compiled binaries are adviced to bundle all the dependent binaries in the
installer and install them all in the same path. In the past there have been
attempts to install GTK in a generic location (like the Gladewin32 project:
http://gladewin32.sourceforge.net/) but AFAIK pidgin is the only user of it and
the gladewin32 packages are outdated anyway.
--
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=509940
Paolo Bonzini <pbonzini(a)redhat.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pbonzini(a)redhat.com
--- Comment #3 from Paolo Bonzini <pbonzini(a)redhat.com> 2009-07-26 10:47:55 EDT ---
You should use FindPkgConfig.cmake. However, you will hit bugs 513924 and
513925.
Actually, I'd bet that cmake does not look for i686-pc-mingw32-pkg-config (only
pkg-config), so even fixing 513925 would not help you; you would have to hack
something to use cross-compilation search paths (as hinted in bug 513925).
Call it the revenge of the autotools. ;-)
--
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.