Wireshark mailing list archives

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


From: Gerald Combs <gerald () wireshark org>
Date: Mon, 11 Aug 2014 09:19:43 -0700

On 8/11/14 7:53 AM, Graham Bloice wrote:
On 11 August 2014 15:21, Anders Broman <anders.broman () ericsson com
<mailto:anders.broman () ericsson com>> wrote:

    __ __

    __ __

    *From:*wireshark-dev-bounces () wireshark org
    <mailto:wireshark-dev-bounces () wireshark org>
    [mailto:wireshark-dev-bounces () wireshark org
    <mailto:wireshark-dev-bounces () wireshark org>] *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 <anders.broman () ericsson com
    <mailto:anders.broman () ericsson com>> wrote:____

     ____

     ____

    *From:*wireshark-dev-bounces () wireshark org
    <mailto:wireshark-dev-bounces () wireshark org>
    [mailto: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"____

    __ __

    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 <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: