Wireshark-dev: Re: [Wireshark-dev] Packaging failure on Win7 with Qt 5.2.1 in "top-of-trunk"

From: Gerald Combs <gerald@xxxxxxxxxxxxx>
Date: Thu, 08 Jan 2015 08:43:53 -0800
On 1/8/15 7:24 AM, Graham Bloice wrote:
> On 8 January 2015 at 14:12, Anders Broman <anders.broman@xxxxxxxxxxxx
> <mailto:anders.broman@xxxxxxxxxxxx>> wrote:
> 
>     :____
> 
>     File: "Wireshark.exe" 7732736 bytes____
> 
>     !include: "qt-dll-manifest.nsh"____
> 
>     File: "Qt5Core.dll" 4824064 bytes____
> 
>     File: "Qt5Gui.dll" 3819008 bytes____
> 
>     File: "Qt5Widgets.dll" 5273600 bytes____
> 
>     File: "Qt5PrintSupport.dll" 280064 bytes____
> 
>     File: Descending to: "..\..\wireshark-qt-release\platforms\"____
> 
>     File: "qwindows.dll" 1071104 bytes____
> 
>     File: Returning to: "..\..\wireshark-qt-release"____
> 
>     !include: closed: "qt-dll-manifest.nsh"____
> 
>     File: "..\..\wireshark-qt-release\*.qm" -> no files found.____
> 
>     Usage: File [/nonfatal] [/a] ([/r] [/x filespec [...]] filespec
>     [...] |____
> 
>        /oname=outfile one_file_only)____
> 
>     Error in script "wireshark.nsi" on line 874 -- aborting creation
>     process____
> 
>     NMAKE : fatal error U1077: '"C:\Program Files
>     (x86)\NSIS\makensis.exe"' : return____
> 
>     code '0x1'____
> 
>     Stop.____
> 
>     NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual
>     Studio 11.0____
> 
>     \VC\BIN\nmake.exe"' : return code '0x2'____
> 
>     Stop.____
> 
>     __ __
> 
>     It seems like windeployqt-to-nsis.ps1 ought to copy the *.qm files
>     from (in my case) C:\Qt\Qt5.2.1\5.2.1\msvc2012_64\translations____
> 
>     I’m not sure how to do that in PS so I can’t try if it works…____
> 
>     __ __
> 
> 
> I think the error is a bit different from what you describe.
>  windeployqt-to-nsis.ps1 creates the nsis include file
> (qt-dll-manifest.nsh) for the qt dll components to be bundled into the
> installer.  For qt < 5.3, the qt tool windeployqt is used, for all other
> versions a "manual"  write is done.  qt-dll-manifest.nsh does not list
> any *.qm files on qt 5.3.2, even though when called to copy the qt
> components into wireshark-qt-release it does copy some *.qm files.
> 
> I think the issue is maybe that wireshark.nsis always expects some *.qm
> files and they just aren't there for qt < 5.3.  Check the history of
> wireshark.nsis to find when the line "File "${QT_DIR}\*.qm"" went in.

Are the separate *.qm files required? It looks like we embed them in the
application via i18n.qrc. If I remove wireshark-qt-release/*.qm in my
Windows build directory the translation preferences still work.