All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH for-6.1] qga-win/msi: fix missing libstdc++-6 DLL in MSI installer
@ 2021-08-03  4:35 Michael Roth
  2021-08-03  7:14 ` Marc-André Lureau
  0 siblings, 1 reply; 2+ messages in thread
From: Michael Roth @ 2021-08-03  4:35 UTC (permalink / raw)
  To: qemu-devel
  Cc: Gerd Hoffmann, Kostiantyn Kostiuk, Marc-André Lureau,
	Philippe Mathieu-Daudé

libstdc++ is required for the qga-vss.dll that provides fsfreeze
functionality. Currently it is not provided by the MSI installer,
resulting in fsfreeze being disabled in guest environments where it has
not been installed by other means.

In the future this would be better handled via gcc-cpp ComponentGroup
provided by msitools, but that would be better handled with a general
rework of DLL dependency handling in the installer build. Keep it
simple for now to fix this regression.

Tested with Fedora 34 mingw build environment.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Kostiantyn Kostiuk <konstantin@daynix.com>
Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Michael Roth <michael.roth@amd.com>
---
 qga/installer/qemu-ga.wxs | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/qga/installer/qemu-ga.wxs b/qga/installer/qemu-ga.wxs
index ce7b25b5e1..0950e8c6be 100644
--- a/qga/installer/qemu-ga.wxs
+++ b/qga/installer/qemu-ga.wxs
@@ -84,6 +84,9 @@
             <ServiceControl Id="StartService" Start="install" Stop="both" Remove="uninstall" Name="QEMU-GA" Wait="yes" />
           </Component>
           <?ifdef var.InstallVss?>
+          <Component Id="libstdc++_6_lib" Guid="{55E737B5-9127-4A11-9FC3-A29367714574}">
+            <File Id="libstdc++-6.lib" Name="libstdc++-6.dll" Source="$(var.Mingw_bin)/libstdc++-6.dll" KeyPath="yes" DiskId="1"/>
+          </Component>
           <Component Id="qga_vss_dll" Guid="{CB19C453-FABB-4BB1-ABAB-6B74F687BFBB}">
             <File Id="qga_vss.dll" Name="qga-vss.dll" Source="$(env.BUILD_DIR)/qga/vss-win32/qga-vss.dll" KeyPath="yes" DiskId="1"/>
           </Component>
@@ -164,6 +167,7 @@
     <Feature Id="QEMUFeature" Title="QEMU Guest Agent" Level="1">
       <ComponentRef Id="qemu_ga" />
       <?ifdef var.InstallVss?>
+      <ComponentRef Id="libstdc++_6_lib" />
       <ComponentRef Id="qga_vss_dll" />
       <ComponentRef Id="qga_vss_tlb" />
       <?endif?>
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH for-6.1] qga-win/msi: fix missing libstdc++-6 DLL in MSI installer
  2021-08-03  4:35 [PATCH for-6.1] qga-win/msi: fix missing libstdc++-6 DLL in MSI installer Michael Roth
@ 2021-08-03  7:14 ` Marc-André Lureau
  0 siblings, 0 replies; 2+ messages in thread
From: Marc-André Lureau @ 2021-08-03  7:14 UTC (permalink / raw)
  To: Michael Roth
  Cc: Kostiantyn Kostiuk, Philippe Mathieu-Daudé,
	qemu-devel, Gerd Hoffmann

[-- Attachment #1: Type: text/plain, Size: 2312 bytes --]

On Tue, Aug 3, 2021 at 8:36 AM Michael Roth <michael.roth@amd.com> wrote:

> libstdc++ is required for the qga-vss.dll that provides fsfreeze
> functionality. Currently it is not provided by the MSI installer,
> resulting in fsfreeze being disabled in guest environments where it has
> not been installed by other means.
>
> In the future this would be better handled via gcc-cpp ComponentGroup
> provided by msitools, but that would be better handled with a general
> rework of DLL dependency handling in the installer build. Keep it
> simple for now to fix this regression.
>
> Tested with Fedora 34 mingw build environment.
>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Kostiantyn Kostiuk <konstantin@daynix.com>
> Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
> Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
> Signed-off-by: Michael Roth <michael.roth@amd.com>
>

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

---
>  qga/installer/qemu-ga.wxs | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/qga/installer/qemu-ga.wxs b/qga/installer/qemu-ga.wxs
> index ce7b25b5e1..0950e8c6be 100644
> --- a/qga/installer/qemu-ga.wxs
> +++ b/qga/installer/qemu-ga.wxs
> @@ -84,6 +84,9 @@
>              <ServiceControl Id="StartService" Start="install" Stop="both"
> Remove="uninstall" Name="QEMU-GA" Wait="yes" />
>            </Component>
>            <?ifdef var.InstallVss?>
> +          <Component Id="libstdc++_6_lib"
> Guid="{55E737B5-9127-4A11-9FC3-A29367714574}">
> +            <File Id="libstdc++-6.lib" Name="libstdc++-6.dll"
> Source="$(var.Mingw_bin)/libstdc++-6.dll" KeyPath="yes" DiskId="1"/>
> +          </Component>
>            <Component Id="qga_vss_dll"
> Guid="{CB19C453-FABB-4BB1-ABAB-6B74F687BFBB}">
>              <File Id="qga_vss.dll" Name="qga-vss.dll"
> Source="$(env.BUILD_DIR)/qga/vss-win32/qga-vss.dll" KeyPath="yes"
> DiskId="1"/>
>            </Component>
> @@ -164,6 +167,7 @@
>      <Feature Id="QEMUFeature" Title="QEMU Guest Agent" Level="1">
>        <ComponentRef Id="qemu_ga" />
>        <?ifdef var.InstallVss?>
> +      <ComponentRef Id="libstdc++_6_lib" />
>        <ComponentRef Id="qga_vss_dll" />
>        <ComponentRef Id="qga_vss_tlb" />
>        <?endif?>
> --
> 2.25.1
>
>

[-- Attachment #2: Type: text/html, Size: 3704 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-08-03  7:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-03  4:35 [PATCH for-6.1] qga-win/msi: fix missing libstdc++-6 DLL in MSI installer Michael Roth
2021-08-03  7:14 ` Marc-André Lureau

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.