pcp
[Top] [All Lists]

Building PCP on Windows (mingw)

To: pcp@xxxxxxxxxxx
Subject: Building PCP on Windows (mingw)
From: Nathan Scott <nscott@xxxxxxxxxx>
Date: Wed, 22 Apr 2009 19:52:15 +1000 (EST)
Hi all,

I recently setup 2 KVM virtual machines running Windows Server 2003
and 2008, for ongoing PCP development.  Since Ken has been asking for
this recipe for awhile, I wrote everything down this time.  Prepare
to set aside several hours for this, it is an excruciating process,
but hopefully it will improve over time - it is already much better
than last time I did a fresh install, mainly due to improvements in
the native Windows version of git.

I've not got the packaging documented here yet, will add that once I
get it working again.  This document will leave as a README alongside
the Glider packaging scripts (git: pcpweb/win32/README).

cheers.

-- 
Nathan

                 Notes on building PCP for Windows                
                 -----[ nathans, April 2009 ]-----                

The following is a series of steps which should get you setup to
do Windows builds of the PCP toolkit.

In the recipe below, "DOS>" refers to commands to be entered into
Windows "Command Prompt" (aka DOS shell).  The "GIT>" lines refer
to commands to be entered into the (msys, bash) shell which comes
with your git installation.

If you have issues with these instructions (good chance you will)
drop in on the #pcp channel on irc.freenode.net for pointers and/
or a shoulder to cry on.


Step 1 -- download bootstrap environment

DOS> mkdir C:\package
DOS> cd C:\package   
DOS> ftp oss.sgi.com 
Name: anonymous      
> binary             
> prompt             
> cd /projects/pcp/package
> mget *                  
...                       
> bye                     


Step 2 -- install initial bootstrap tools

DOS> strawberry-*.exe
[ graphical installer ]
  - should have a populated C:\Strawberry\* at the end.

DOS> Git-*.exe
[ graphical installer ]
  - Install to C:\Git  
  - Choose "Use Git Bash only" option (do not modify path)
  - Choose "Use Unix style line endings" (its **crucial**)
  - should have a populated C:\Git\* at the end.          

DOS> qt-win-*.exe
[ graphical installer ]
  - Install to C:\Qt   
  - Enter the "Previously installed MinGW" at:
        C:\Strawberry\c                       
  - Ignore warning about mismatched versions (moving to a
    newer version of Qt will probably fix this up).
  - should have a populated C:\Qt\* at the end. 


Step 3 -- unpack secondary bootstrap tools

GIT> mkdir /c/MSYS
GIT> cd /c/MSYS   
GIT> for file in `echo /c/package/*.gz`
   > do                                
   >     echo $file                    
   >     tar zxf $file                 
   > done                              
GIT> cp etc/fstab.sample etc/fstab     
GIT> vi etc/fstab                      
[ add these 2 lines: ]                 
  c:/strawberry/c      /mingw          
  c:/strawberry/perl   /perl           
  c:/source            /source         
GIT> mkdir /c/source/git               
GIT> cd /c/source/git                  
GIT> git clone git://oss.sgi.com/nathans/pcp.git
GIT> git clone git://oss.sgi.com/nathans/pcpqa.git
GIT> git clone git://oss.sgi.com/nathans/pcpweb.git
GIT> git clone git://oss.sgi.com/nathans/pcp-gui.git


Step 4 -- building PCP from the git tree

DOS> cd C:\MSYS\bin
DOS> rxvt.exe      
 sh$ echo $PATH    
 
/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/strawberry/c/bin:/c/strawberry/perl/bin
 sh$ export PATH=$PATH:/c/MSYS/bin
 sh$ cd /source/git/pcp
[ we have no working autoconf yet, copy ./configure from elsewhere ]
 sh$ make
[ if all goes well, try creating some tarballs ]
 sh$ ./Makepkgs -verbose pcp


Step 5 -- installing PCP libraries and headers

 sh$ mkdir /c/PCP
 sh$ export DIST_ROOT=/c/PCP
 sh$ cd /c/PCP
 sh$ tar zxf pcp-*/build/tar/pcp-*.tar.gz


Step 6 -- building the PCP GUI tree

DOS> set PATH=%PATH%:C:\MSYS\bin
DOS> set QTDIR=C:/Qt
DOS> set PCP_DIR=C:/PCP
DOS> cd C:\source\git\pcp-gui
DOS> make

<Prev in Thread] Current Thread [Next in Thread>
  • Building PCP on Windows (mingw), Nathan Scott <=