qemu-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: problema compilation


From: Howard Spoelstra
Subject: Re: problema compilation
Date: Sat, 20 Feb 2021 10:07:38 +0100

On Sat, Feb 20, 2021 at 9:42 AM Stefan Weil <sw@weilnetz.de> wrote:
>
> Am 20.02.21 um 00:07 schrieb Philippe Mathieu-Daudé:
>
> > Cc'ing Stefan / Yonggang / Paolo.
> >
> > On 2/20/21 12:03 AM, Peter Maydell wrote:
> >> On Fri, 19 Feb 2021 at 22:54, nerus <fhuvu30@gmail.com> wrote:
> >>> Good evening, I turn to you because I have a problem that does not appear 
> >>> in the official documentation, nor in the different blogs or irc channels.
> >>>
> >>> I need to do a cross compilation but it is impossible from version 5.2, 
> >>> when I use msys2 an error occurs indicating that symbolic links cannot be 
> >>> created even though the windows user has permissions to create symbolic 
> >>> links, I configured this through gpedit.msc.
> >>>
> >>> when I use cygwin with the mingw64-w64 tool chain an error occurs whereby 
> >>> meson says that it cannot find any compiler even though the compiler path 
> >>> is specified in the configuration script, mingw cannot be used from linux 
> >>> either due to There are many missing components that cannot be compiled 
> >>> by hand because the proper versions are no longer available, how could 
> >>> you solve these problems without using already compiled binaries? Thank 
> >>> you
>
>
> The only tested build settings for producing 5.2 and newer Windows
> binaries use Mingw-w64 cross tools on Linux. Up to now I did not try
> building 5.2 on Windows.
>
> Depending on the Linux distribution there are more or less missing
> components.
>
> As far as I know Fedora provides a rather complete list of cross
> packages which not only covers the cross tools but also the required
> other components (libraries).
>
> Debian based distributions only provide the cross tools (compiler,
> linker, nsis). It should be possible to compile all required libraries
> by hand, but of course that is a lot of work. I recently did that for
> the braille library, and it took me about a day to get 32 and 64 bit
> binaries. Therefore I use Debian with the Mingw-w64 library cross
> packages from Cygwin. My GitHub repository includes a GitHub action
> which runs the cross builds:
> https://github.com/stweil/qemu/blob/master/.github/workflows/build.sh.
> That should also work on Windows with the Windows Subsystem for Linux (WSL).
>
> Recently (with bullseye and later) Debian changed the exception handling
> for the 64 bit C++ cross compiler. Therefore Debian bullseye and similar
> distributions can no longer be used with the Cygwin libraries. I still
> have no solution for that.
>
> Stefan
>
>
> >> Cross compilation works in general -- our CI testing setup
> >> includes various cross-compile configurations, including
> >> building Windows executables from a Linux host
> >> (eg https://gitlab.com/qemu-project/qemu/-/jobs/1042844159).
> >>
> >> You'll need to be more specific about exactly what you're
> >> trying to do and failing (eg quoting exact commands,
> >> setups, error messages).

Hi,

I still use: https://wiki.qemu.org/Hosts/W32#Native_builds_with_MSYS2
And it works without allowing symbolic links. I used to need to set
that right to allowed, but it seems that is no longer the case and so
I retracted it. Note that I do get a single warning about symlinks:
ln: failed to create symbolic link 'ppc-softmmu/qemu-system-ppc': No
such file or directory. But that does not prevent a successful build.

If you set the symbolic link right, you should also uncomment
#MSYS=winsymlinks:nativestrict in both msys2.ini and mingw64.ini

Best,
Howard



reply via email to

[Prev in Thread] Current Thread [Next in Thread]