On 8/11/14 7:53 AM, Graham Bloice wrote: > On 11 August 2014 15:21, Anders Broman <[email protected] > <mailto:[email protected]>> wrote: > > __ __ > > __ __ > > *From:*[email protected] > <mailto:[email protected]> > [mailto:[email protected] > <mailto:[email protected]>] *On Behalf Of *Graham > Bloice > *Sent:* den 11 augusti 2014 15:18 > > > *To:* Developer support list for Wireshark > *Subject:* Re: [Wireshark-dev] Error when running "nmake -f > makefile.nmake packaging" on win7 64 with MSVC 2012____ > > __ __ > > On 11 August 2014 13:45, Anders Broman <[email protected] > <mailto:[email protected]>> wrote:____ > > ____ > > ____ > > *From:*[email protected] > <mailto:[email protected]> > [mailto:[email protected] > <mailto:[email protected]>] *On Behalf Of *Graham > Bloice > *Sent:* den 11 augusti 2014 14:04____ > > > *To:* Developer support list for Wireshark > *Subject:* Re: [Wireshark-dev] Error when running "nmake -f > makefile.nmake packaging" on win7 64 with MSVC 2012____ > > ____ > > On 11 August 2014 11:51, Anders Broman <[email protected] > <mailto:[email protected]>> wrote:____ > > Invalid command: Split-Path____ > > !include: error in script: "qt-dll-manifest.nsh" on line 1____ > > Error in script "wireshark.nsi" on line 791 -- aborting creation > process____ > > ____ > > qt-dll-manifest.nsh:____ > > ____ > > Split-Path : Cannot bind argument to parameter 'Path' because it is > null.____ > > At C:\xxx\trunk\packaging\nsis\windeployqt-to-nsis.ps1:23 char:22____ > > + $dir = Split-Path <<<< -Parent $entry____ > > + CategoryInfo : InvalidData: (:) [Split-Path], > ParameterBindingV ____ > > alidationException____ > > + FullyQualifiedErrorId : > ParameterArgumentValidationErrorNullNotAllowed,M ____ > > icrosoft.PowerShell.Commands.SplitPathCommand____ > > File "..\..\wireshark-qt-release\"____ > > File /r "..\..\wireshark-qt-release\"____ > > ____ > > Ideas?____ > > ____ > > Regards____ > > Anders____ > > ____ > > > ____ > > ____ > > packagins\nsis\Makefile.nmake calls windeployqt-to-nsis.ps1 to > create the qt-dll-manifest.nsh file listing all the qt dlls required > for the installer.____ > > ____ > > In the script, windeployqt is called to return the list of DLL's and > then on Line 23 of the script calls split-path to get the path > component of the DLL. From the error it seems that one of the > entries is null.____ > > ____ > > Try this:____ > > ____ > > In a Powershell prompt at your top level source directory:____ > > ____ > > <code>____ > > $env:Path += ";PATH\TO\QT\BIN"____ > > windeployqt --release --no-compiler-runtime --list relative > wireshark-qt-release\qtshark.exe____ > > </code>____ > > ____ > > -- ____ > > Graham Bloice____ > > ____ > > Hi,____ > > Not sure I got I right:____ > > ____ > > C:\xxx\trunk>powershell____ > > Windows PowerShell____ > > Copyright (C) 2009 Microsoft Corporation. All rights reserved.____ > > ____ > > PS C:\xxx\trunk> $env:path+="C:\Qt\Qt5.2.1\5.2.1\msvc2012_64\bin"____ > > __ __ > > Looks like you've missed the ";" path separator that should be at > the front of the string. Start with a new PS prompt (as you've > broken the path in that one) and try again.____ > > __ __ > > I'd really like to see what that 5.2.1 windeployqt gives out, but as > the others have said, windeployqt in < 5.3.x looks to be broken.____ > > __ __ > > Argh, Yes of course:____ > > __ __ > > PS C:\xxx\trunk> $env:path+=";C:\Qt\Qt5.2.1\5.2.1\msvc2012_64\bin"____ > > PS C:\xxx\trunk> windeployqt --release --no-compiler-runtime --list > rela____ > > tive wireshark-qt-release\qtshark.exe____ > > Unknown options: release, no-compiler-runtime, list.____ > > __ __ > > So now we are getting to the problem Alexis pointed out; windeployqt > does not have the same parameter sets in Qt 5.2.1____ > > >...). or simply upgrade to Qt 5.3 :)____ > > Last time I checked there was no Qt 5.3 for MSVC 2012, MSVC 2013 > requires IE version(something) which I don’t have and I have a > company____ > > Win7 version which I can’t (easily any way) influence the version of > the components…____ > > __ __ > > > > Yes, I think for Qt < 5.3 we need to fallback to some other scheme, i.e. > a hard-coded list of DLL's.
Is there a way to get nmake to compare version strings? We can get the Qt version easily enough using `qmake -query QT_VERSION`. Otherwise we'll probably have to add more DLL checks to packaging/nsis/Makefile.nmake. According to the release notes Qt5WebSockets.dll was added in 5.3. Although I suppose another alternative might be to move the Qt version detection logic from packaging/nsis/Makefile.nmake to windeployqt-to-nsis. ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <[email protected]> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:[email protected]?subject=unsubscribe
