Re: Windows installer builds apparently broken since October?

2021-01-15 Thread Philippe Mathieu-Daudé
On 1/15/21 4:34 PM, Stefan Weil wrote:
> Am 15.01.21 um 15:01 schrieb Peter Maydell:
> 
>> I was just trying to see what updates the qemu.nsi file needed for
>> the merge-all-the-manuals-into-one-place change, and I discovered
>> that it's been broken since October when we removed the Changelog file:
>>
>> File: "/tmp/qemu-test/src\Changelog" -> no files found.
>> Usage: File [/nonfatal] [/a] ([/r] [/x filespec [...]] filespec [...] |
>>     /oname=outfile one_file_only)
>> Error in script "../src/qemu.nsi" on line 119 -- aborting creation
>> process
>>
>> You can reproduce that with:
>>
>> make -C my-build-dir docker-image-fedora V=1 NETWORK=1
>> make -C my-build-dir docker-test-mingw@fedora J=8 NETWORK=1
>>
>> This used to be in CI (patchew ran this config) but it clearly can't
>> be being CI'd any more, or we'd have noticed.
>>
>> Stefan, I see you have more recent installer binaries on your
>> site than that -- do you have some local patches for this?
> 
> 
> Hello Peter,
> 
> although I have some local fixes (available for example in
> https://github.com/stweil/qemu/) I am still struggling with 5.2.0.
> 
> One problem which was recently discussed on the list is the directory
> structure of the installation (especially the location for BIOS and
> similar files) which still needs changes (which als require updates for
> qemu.nsi). I'd prefer a similar hierarchical structure for both Linux
> and Windows (instead of a flat one which does not work with the current
> code).
> 
> Other problems are caused by the new QEMU build system in my special
> build context (Debian cross build with Cygwin packages).
> 
> A third challenge comes from users who would like to see new features
> like zstd or braille which up to now were missing in my binaries.
> 
> As I am quite busy with other things, too, I am afraid that it will take
> some more weeks until I can send a set of patches to fix the most urgent
> issues.

Cc'ing Yonggang Luo who might help.

> 
> Removing Changelog from qemu.nsi is easy, but not nearly sufficient:
> https://github.com/stweil/qemu/commit/923c93a663e4e51231f6ea389c19c0a960fa9f99.
> 
> 
> Kind regards,
> 
> Stefan
> 
> 
> 




Re: Windows installer builds apparently broken since October?

2021-01-15 Thread Paolo Bonzini

On 15/01/21 16:57, Peter Maydell wrote:

On Fri, 15 Jan 2021 at 15:52, Stefan Weil  wrote:

I forgot to mention that some of the problems with the Meson build also
occur on macOS with Homebrew: they always happen when a software package
requires special compiler flags to find its include files or libraries,
but the Meson build does not use the result from pkg-config for them.


Yeah -- we fixed that in commit 3eacf70bb5a83e4 for gnutls, which
is the main one homebrew was running into. Is Windows having
problems with other libs too?

Paolo: did we come up with a generic solution for this or
do we really have to add entries to dependency lists all
over the build system for every library we use?


I will work on a fix in Meson (basically not using -Wl,--whole-archive 
and instead linking in individual objects).  I also have a very ugly way 
to do the same in QEMU but I don't think it's worth pursuing it except 
for a proof of concept.


Paolo




Re: Windows installer builds apparently broken since October?

2021-01-15 Thread Peter Maydell
On Fri, 15 Jan 2021 at 15:52, Stefan Weil  wrote:
> I forgot to mention that some of the problems with the Meson build also
> occur on macOS with Homebrew: they always happen when a software package
> requires special compiler flags to find its include files or libraries,
> but the Meson build does not use the result from pkg-config for them.

Yeah -- we fixed that in commit 3eacf70bb5a83e4 for gnutls, which
is the main one homebrew was running into. Is Windows having
problems with other libs too?

Paolo: did we come up with a generic solution for this or
do we really have to add entries to dependency lists all
over the build system for every library we use?

thanks
-- PMM



Re: Windows installer builds apparently broken since October?

2021-01-15 Thread Stefan Weil

Am 15.01.21 um 16:19 schrieb Peter Maydell:


On Fri, 15 Jan 2021 at 14:01, Peter Maydell  wrote:

I was just trying to see what updates the qemu.nsi file needed for
the merge-all-the-manuals-into-one-place change, and I discovered
that it's been broken since October when we removed the Changelog file:

File: "/tmp/qemu-test/src\Changelog" -> no files found.
Usage: File [/nonfatal] [/a] ([/r] [/x filespec [...]] filespec [...] |
/oname=outfile one_file_only)
Error in script "../src/qemu.nsi" on line 119 -- aborting creation process

...and if you fix that it then fails because it's looking for
a subdirectory share/ in the install dir and it doesn't exist...



That's one of the problems which I mentioned in my other mail.

There should be a subdirectory share/ for Windows, too. The current 
special case with a flat file structure for Windows does not work and is 
one of the reasons why I still did not finish a working installer for 5.2.0.


I forgot to mention that some of the problems with the Meson build also 
occur on macOS with Homebrew: they always happen when a software package 
requires special compiler flags to find its include files or libraries, 
but the Meson build does not use the result from pkg-config for them.


Stefan





Re: Windows installer builds apparently broken since October?

2021-01-15 Thread Peter Maydell
On Fri, 15 Jan 2021 at 15:34, Stefan Weil  wrote:
> although I have some local fixes (available for example in
> https://github.com/stweil/qemu/) I am still struggling with 5.2.0.
>
> One problem which was recently discussed on the list is the directory
> structure of the installation (especially the location for BIOS and
> similar files) which still needs changes (which als require updates for
> qemu.nsi). I'd prefer a similar hierarchical structure for both Linux
> and Windows (instead of a flat one which does not work with the current
> code).

Yeah, that was about where I got stuck. Somehow the way the
temporary install directory is created for the Windows build
shoves everything in a single directory (you don't get this if
you do a normal Linux install -- that has separate bin, docs,
icons, etc subdirectories). This gets even worse with the single-manual
documentation because all the files for the manual are then in
that same directory too :-(

I don't think I can really get this to work with the single-manual
documentation setup as qemu.nsi stands in master. So my plan is
to just commit the single-manual changes (probably next week some
time) and then we I'm happy to help with the Windows installer
changes necessary for the manual part once it's basically working
again.

thanks
-- PMM



Re: Windows installer builds apparently broken since October?

2021-01-15 Thread Stefan Weil

Am 15.01.21 um 15:01 schrieb Peter Maydell:


I was just trying to see what updates the qemu.nsi file needed for
the merge-all-the-manuals-into-one-place change, and I discovered
that it's been broken since October when we removed the Changelog file:

File: "/tmp/qemu-test/src\Changelog" -> no files found.
Usage: File [/nonfatal] [/a] ([/r] [/x filespec [...]] filespec [...] |
/oname=outfile one_file_only)
Error in script "../src/qemu.nsi" on line 119 -- aborting creation process

You can reproduce that with:

make -C my-build-dir docker-image-fedora V=1 NETWORK=1
make -C my-build-dir docker-test-mingw@fedora J=8 NETWORK=1

This used to be in CI (patchew ran this config) but it clearly can't
be being CI'd any more, or we'd have noticed.

Stefan, I see you have more recent installer binaries on your
site than that -- do you have some local patches for this?



Hello Peter,

although I have some local fixes (available for example in 
https://github.com/stweil/qemu/) I am still struggling with 5.2.0.


One problem which was recently discussed on the list is the directory 
structure of the installation (especially the location for BIOS and 
similar files) which still needs changes (which als require updates for 
qemu.nsi). I'd prefer a similar hierarchical structure for both Linux 
and Windows (instead of a flat one which does not work with the current 
code).


Other problems are caused by the new QEMU build system in my special 
build context (Debian cross build with Cygwin packages).


A third challenge comes from users who would like to see new features 
like zstd or braille which up to now were missing in my binaries.


As I am quite busy with other things, too, I am afraid that it will take 
some more weeks until I can send a set of patches to fix the most urgent 
issues.


Removing Changelog from qemu.nsi is easy, but not nearly sufficient: 
https://github.com/stweil/qemu/commit/923c93a663e4e51231f6ea389c19c0a960fa9f99.


Kind regards,

Stefan





Re: Windows installer builds apparently broken since October?

2021-01-15 Thread Peter Maydell
On Fri, 15 Jan 2021 at 14:01, Peter Maydell  wrote:
>
> I was just trying to see what updates the qemu.nsi file needed for
> the merge-all-the-manuals-into-one-place change, and I discovered
> that it's been broken since October when we removed the Changelog file:
>
> File: "/tmp/qemu-test/src\Changelog" -> no files found.
> Usage: File [/nonfatal] [/a] ([/r] [/x filespec [...]] filespec [...] |
>/oname=outfile one_file_only)
> Error in script "../src/qemu.nsi" on line 119 -- aborting creation process

...and if you fix that it then fails because it's looking for
a subdirectory share/ in the install dir and it doesn't exist...

thanks
-- PMM