PCB Install

pcb Installation from Distribution

  • Assumes installation under cygwin after installation of gschem
    • Some of the gschem dependencies are also likely to be dependencies for PCB
  1. Install cygwin packages
  2. Download the PCB source
  3. Extract, compile, and install
    tar zxf pcb-20110918.tar.gz
    cd pcb-20110918
    ./configure --disable-doc --disable-update-desktop-database --disable-gl
    make install

gerbv Installation

  1. Download the source
    Or from the gEDA site
  2. Extract, compile, and install
    tar zxf gerbv-2.4.0.tar.gz
    cd gerbv-2.4.0
    ./configure --disable-update-desktop-database
    make install
  • Remember to right-click on the layer buttons (far right) to load a layer file! I am embarrassed to say that this UI "feature" caused me to assume for months that my cygwin build was broken. I kept trying to use "file/load project" which said "failed to load project file". Finally I, somewhat by random chance, decided to open a gerber by specifying it on the command line! Bingo it worked. Only then did I discover the right-click menu on the layer selections. Dooohhhh.. What a noob! OK... but "if" someone wanted to make the program more user friendly they "could"; 1) Add an option to the "file" menu to load a layer file and 2) move the layer selection buttons to the far left where users assume they are controls vs. just status. These are quite standard GUI behaviors and now I know first hand why software vendors standardize on GUI placement and menu functions.

pcb Installation from the git repository

  1. Check out the git repository
    cd ~/gEDA
    git clone git://git.gpleda.org/pcb.git
    cd pcb
  2. Read the README.git file for a list of required packages
  3. Install the following cygwin packages
  4. Generate autoconf, configure, make, make install
    ./configure --disable-doc --disable-update-desktop-database --disable-gl
    make install

Update git when needed

git pull

Issues compiling latest pcb (as of the 20110918 release)

src/action.c was modified to call _spawnvp() on systems that have it (HAVE__SPAWNVP set by configure); however the appropriate header file was not included at least for cygwin. Needed to add the following to the top of action.c:
#include <process.h>

I am also convinced that the function for the configure test and for action.c should be spawnvp() without the leading underscore. That gcc finds a _spawnvp() during configure is amazing to me. This function should be the same for both cygwin and mingw without the leading underscore. Further I believe that no other OSs define the spawn* functions so this change only needs to be tested on cygwin and mingw. To confirm this on cygwin I manually changed the test in configure and the function call in action.c. This works fine. mingw needs to be confirmed as well. What I can't explain is how others are compiling this successfully under mingw as it is.

Contributors to this page: michael .
Page last modified on Sunday 04 of December, 2011 18:32:23 CST by michael.