[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: problema compilation
Re: problema compilation
Sat, 20 Feb 2021 10:07:38 +0100
On Sat, Feb 20, 2021 at 9:42 AM Stefan Weil <email@example.com> 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 <firstname.lastname@example.org> 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
> 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:
> 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.
> >> 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).
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