Building PhantomJS-2 from source on Windows

I’m attempting to build the development version of PhantomJS 2 from source on Windows 8.1 x64 based on these instructions.

However I get the following errors

  • Jenkins drop down list of build names of other job
  • How to put jobs in a category for the Throttle Concurrent Builds plugin for Jenkins
  • Spread load evenly by using ‘H * * * *’ rather than ‘5 * * * *’
  • Jenkins - How can i pass parameters from the Upstream to Downstream
  • Jenkins marks good build as failure because of test failed
  • Best practice - Git + Build automation - Keeping configs separate
  • 'mingw32-make' is not recognized as an internal or external command, operable program or batch file.
    'nmake' is not recognized as an internal or external command, operable program or batch file.
    Error: "qmake.exe is missing Can't proceed."
    

    I’m unsure how to fix this, please can someone help and/or give steps on how to build this on Windows x64?

    What I have done so far….

    1. Installed Perl, Python, Ruby, and Git ensured all are in PATH environment variable
    2. Installed qt-opensource-windows exe
    3. In Visual Studio Command Prompt have entered the following commands:

      • git clone git://github.com/ariya/phantomjs.git
      • cd phantomjs
      • cd src/qt
      • git clone https://github.com/Vitallium/phantomjs-3rdparty-win
      • rename phantomjs-3rdparty-win 3rdparty
      • cd ../../
      • build.cmd

    And the last step attempting to build gives the errors.

    I also installed mingw32-make-3.80.0-3.exe and added the path C:\mingw\bin\mingw32-make.exe to the PATH environment variable which still gives the error.

    Full command prompt input/output is as follows:

    *************************************
    Microsoft Windows [Version 6.3.9600]
    (c) 2013 Microsoft Corporation. All rights reserved.
    
    C:\Users\o\Documents\GitHub>git clone git://github.com/ariya/phantomjs.git
    Cloning into 'phantomjs'...
    remote: Counting objects: 56882, done.
    remote: Total 56882 (delta 0), reused 0 (delta 0)
    Receiving objects: 100% (56882/56882), 113.63 MiB | 1.59 MiB/s, done.
    Resolving deltas: 100% (29939/29939), done.
    Checking connectivity... done.
    Checking out files: 100% (25015/25015), done.
    
    C:\Users\o\Documents\GitHub>cd phantomjs
    
    C:\Users\o\Documents\GitHub\phantomjs>cd src/qt
    
    C:\Users\o\Documents\GitHub\phantomjs\src\qt>git clone https://github.com/Vitall
    ium/phantomjs-3rdparty-win
    Cloning into 'phantomjs-3rdparty-win'...
    remote: Counting objects: 1073, done.
    remote: Total 1073 (delta 0), reused 0 (delta 0)
    Receiving objects: 100% (1073/1073), 77.26 MiB | 1.67 MiB/s, done.
    Resolving deltas: 100% (376/376), done.
    Checking connectivity... done.
    
    C:\Users\o\Documents\GitHub\phantomjs\src\qt>rename phantomjs-3rdparty-win 3rdparty
    
    C:\Users\o\Documents\GitHub\phantomjs\src\qt>
    
    C:\Users\o\Documents\GitHub\phantomjs\src\qt>cd ../../
    
    C:\Users\o\Documents\GitHub\phantomjs>build.cmd
    
    Build type: release
    
    GIT found. Getting 3rd party libraries.
    LIB: C:\Users\o\Documents\GitHub\phantomjs\src\qt\3rdparty\openssl\lib;C:\Users\
    o\Documents\GitHub\phantomjs\src\qt\3rdparty\libicu\lib;C:\Users\o\Documents\Git
    Hub\phantomjs\src\qt\3rdparty\libxml\lib;
    INCLUDE: C:\Users\o\Documents\GitHub\phantomjs\src\qt\3rdparty\openssl\include;C
    :\Users\o\Documents\GitHub\phantomjs\src\qt\3rdparty\libicu\include;C:\Users\o\D
    ocuments\GitHub\phantomjs\src\qt\3rdparty\libxml\include\libxml2;
    'mingw32-make' is not recognized as an internal or external command,
    operable program or batch file.
    'nmake' is not recognized as an internal or external command,
    operable program or batch file.
    
    
    Error: "qmake.exe is missing Can't proceed."
    
    Contact vitaliy.slobodin@gmail.com
    
    C:\Users\o\Documents\GitHub\phantomjs>
    
    *************************************
    

  • Pushing and existing project into bare repo
  • Git subtree: Use only subrepository instead of whole repository
  • How do I git pull -f
  • Using Fabric to deploy current git branch to heroku
  • How to run a sudo command, remotely, trough SSH, using an IdentityFile?
  • How do I permanently remove files in git from tags?
  • 2 Solutions collect form web for “Building PhantomJS-2 from source on Windows”

    Make sure that path to qmake & nmake are correct in you %PATH%
    For me it was:

    Path to qmake - C:\Qt\Qt5.3.2\5.3\msvc2013_64\bin 
    Path to nmake - C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
    

    Possible the same for ‘mingw32-make’

    I’ve double checked on Phantomjs source code and it seems that you don’t need to download and install qt, it is already part of the source code.
    To build PhantomJS 2 you need:

    1. Set path to following files nmake.exe, rc.exe and to mt.exe – C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
    2. ENV Variables:
      • INCLUDE: VC & Windows SDK include folder – C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\include
      • LIB: VC & Windows SDK Lib folder – C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\lib

    Also before start build you need to run vcvarsall.bat with correct configuration, In my case I used amd64_x86 parameter
    To run build I made following steps:
    – git clone git://github.com/ariya/phantomjs.git
    – cd phantomjs
    – build

    For those using Cygwin, make sure that a windows install of perl is in PATH before the Cygwin binaries.

    I had the issue where all the steps were going okay but as I was using Cygwin perl the file paths were in the format of /cygdrive/c/.. which windows doesn’t understand and so fails with no useful output in build.cmd.

    This was found by running the preconfig.cmd inside phantomjs/src/qt

    Git Baby is a git and github fan, let's start git clone.