Wireshark-dev: Re: [Wireshark-dev] Packaging failure on Win7 with Qt 5.2.1 in "top-of-trunk"
From: Anders Broman <a.broman@xxxxxxxxxxxx>
Date: Thu, 08 Jan 2015 17:36:56 +0100
Graham Bloice skrev den 2015-01-08 16:24:
On 8 January 2015 at 14:12, Anders Broman <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.


--
Graham Bloice

OK I think I found the problem in makefile.nmake the code used to be:
!IF EXIST("..\..\wireshark-qt-release\wireshark.exe")
    /DQT_DIR="..\..\wireshark-qt-release" \
!ENDIF

Which I commented out,
With
Change-Id: I439fea5721c5b209a753044a8e9e8ac6fc5291c3
Reviewed-on: https://code.wireshark.org/review/6345

The code now is
!IF EXIST("..\..\wireshark-qt-release\wireshark.exe")
        -e s/@QT_DIR@/..\\..\\wireshark-qt-release/ \
!ENDIF
     -e 's/\(^^!define .*\) \"*@.*@\"*/; \1/' \
    < config.nsh.in > $@

and commenting it out does no longer work...
should the !ENDIF be moved 2 lines down?



___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe