Wireshark mailing list archives

Re: Error when running "nmake -f makefile.nmake packaging" on win7 64 with MSVC 2012


From: Anders Broman <anders.broman () ericsson com>
Date: Mon, 11 Aug 2014 12:45:12 +0000



From: wireshark-dev-bounces () wireshark org [mailto:wireshark-dev-bounces () wireshark org] 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 <anders.broman () ericsson com<mailto:anders.broman () ericsson com>> 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"
PS C:\xxx\trunk> windeployqt --release --no-compiler-runtime --list relative wireshark-qt-release\qtshark.exe
The term 'windeployqt' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the 
spelling of the name, or if a path was
included, verify that the path is correct and try again.
At line:1 char:12
+ windeployqt <<<<  --release --no-compiler-runtime --list relative wireshark-q
t-release\qtshark.exe
    + CategoryInfo          : ObjectNotFound: (windeployqt:String) [], Command
   NotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Just running the command without parameters and the full path gives
PS C:\xxx\trunk> C:\Qt\Qt5.2.1\5.2.1\msvc2012_64\bin\windeployqt.exe
Please specify the binary or folder.

Usage: C:\Qt\Qt5.2.1\5.2.1\msvc2012_64\bin\windeployqt.exe [options] [file]
Qt Deploy Tool 5.2.1

Options:
  -?, -h, --help            Displays this help.
  -v, --version             Displays version information.
  --dir <directory>         Use directory instead of binary directory.
  --libdir <path>           Copy libraries to path.
  --force                   Force updating files.
  --no-plugins              Skip plugin deployment.
  --no-libraries            Skip library deployment.
  --qmldir <directory>      Scan for QML-imports starting from directory.
  --no-quick-import         Skip deployment of Qt Quick imports.
  --no-translations         Skip deployment of translations.
  --no-system-d3d-compiler  Skip deployment of the system D3D compiler.
  --webkit2                 Deployment of WebKit2 (web process).
  --no-webkit2              Skip deployment of WebKit2.
  --json                    Print to stdout in JSON format.
  --verbose <level>         Verbose level.
  --bluetooth               Add Qt5Bluetooth module.
  --no-bluetooth            Remove Qt5Bluetooth module.
  --clucene                 Add Qt5CLucene module.
  --no-clucene              Remove Qt5CLucene module.
  --concurrent              Add Qt5Concurrent module.
  --no-concurrent           Remove Qt5Concurrent module.

Qt libraries can be added by passing their name (-xml) or removed by passing
the name prepended by --no- (--no-xml). Available libraries:
bluetooth clucene concurrent core declarative designercomponents designer gui
clucene qthelp multimedia multimediawidgets network nfc opengl positioning
printsupport qml quick quickparticles script scripttools sensors serialport sql
svg test widgets winextras xml xmlpatterns webkit

Arguments:
  [file]                    Binary or directory containing the binary.

/Anders

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

Current thread: