Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.

Summary: compiled mingw files include the sys-root path

https://bugzilla.redhat.com/show_bug.cgi?id=514187

           Summary: compiled mingw files include the sys-root path
           Product: Fedora
           Version: rawhide
          Platform: All
        OS/Version: Linux
            Status: NEW
          Severity: medium
          Priority: low
         Component: redhat-rpm-config
        AssignedTo: [email protected]
        ReportedBy: [email protected]
         QAContact: [email protected]
                CC: [email protected], [email protected],
                    [email protected], [email protected],
                    [email protected], [email protected],
                    [email protected],
                    [email protected]
            Blocks: 513826
    Classification: Fedora
    Target Release: ---
          Clone Of: 513826


+++ This bug was initially created as a clone of Bug #513826 +++

Description of problem:
The paths in the .pc files for mingw32 include the
/usr/i686-pc-mingw32/sys-root component.  This would prevent using them within
the MSYS shell, for example.

It would be more correct to install them without the path and, in a
i686-pc-mingw32-pkg-config (see bug 513825), provide the PKG_CONFIG_SYSROOT_DIR
variable.  The script would work like this then:

#! /bin/sh

PKG_CONFIG_SYSROOT_DIR=`i686-pc-mingw32-gcc --print-sysroot`
prefix=$PKG_CONFIG_SYSROOT_DIR/mingw
PKG_CONFIG_LIBDIR=$prefix/lib/pkgconfig:$prefix/share/pkgconfig
export PKG_CONFIG_LIBDIR # PKG_CONFIG_SYSROOT_DIR
exec pkg-config "$@"

--- Additional comment from [email protected] on 2009-07-26 15:15:36 EDT ---

To clarify: the paths work, but still they are not correct.  Right now if I
want to install MSYS under Wine I have two choices:

1) I proceed as in bug 513819 so that the Fedora mingw root is visible under
MSYS.  Then however I cannot use pkg-config under MSYS.

2) I copy everything from /usr/i686-pc-mingw32/sys-root/mingw under Wine's
c:/mingw, and then I lose all the updates that come through Fedora's package
manager.  I also have to update the .pc files manually.

It's a lose-lose situation, and PKG_CONFIG_SYSROOT_DIR was meant exactly to
support this.

--- Additional comment from [email protected] on 2009-07-26 18:20:13
EDT ---

Why would you want to install MSYS under Wine? MSYS just provides some tools
which we already have native on Linux. The bash/sh from MSYS is also way slower
than native bash/sh

--- Additional comment from [email protected] on 2009-07-27 03:05:30 EDT ---

For testing.  I want to make sure that there are no hidden bits in the
configure/make files that *only* work when crosscompiling (the typical example
is forgetting to quote a variable that could contain Windows \ paths).

Besides, the idea of a sysroot is to match *exactly* what would be on the
non-native system.  I could take the Fedora sysroot and copy it to a real
Windows machine, and it should just work.  Now instead if I do this and install
the Windows version of pkg-config, it will not work because the .pc files
contains pointers to the Fedora images.

This is not easy to fix (it is a "flag day" bug, you have to fix all packages
at once), so it may not have a high priority.  But it is serious.

--- Additional comment from [email protected] on 2009-07-27 04:53:55 EDT ---

(In reply to comment #3)
> For testing.  I want to make sure that there are no hidden bits in the
> configure/make files that *only* work when crosscompiling (the typical example
> is forgetting to quote a variable that could contain Windows \ paths).
> 
> Besides, the idea of a sysroot is to match *exactly* what would be on the
> non-native system.  I could take the Fedora sysroot and copy it to a real
> Windows machine, and it should just work.  Now instead if I do this and 
> install
> the Windows version of pkg-config, it will not work because the .pc files
> contains pointers to the Fedora images.

This isn't how we install on Windows at all.  We use NSIS to
build installers.

And the aim of this project is to free developers from having to
use Windows at all, not to allow people to copy binaries onto a
Windows machine and continue development there.

The *.pc files contain the correct paths for cross-compiling
to a Windows host from a Fedora build system, which is precisely
the aim of this project.

--- Additional comment from [email protected] on 2009-07-28 04:36:53 EDT ---

Created an attachment (id=355373)
 --> (https://bugzilla.redhat.com/attachment.cgi?id=355373)
redhat-rpm-config part of the patch

The remaining part is to change the packages to do a change similar to what the
patch does to %{_mingw32_makeinstall}.

-- 
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.
_______________________________________________
fedora-mingw mailing list
[email protected]
https://admin.fedoraproject.org/mailman/listinfo/fedora-mingw

Reply via email to