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
- Install cygwin packages
intltool dbus libdbus-1-devel libgd-devel tcltk bison flex
- Download the PCB source
- Extract, compile, and install
tar zxf pcb-20110918.tar.gz cd pcb-20110918 ./configure --disable-doc --disable-update-desktop-database --disable-gl make make install
gerbv Installation
- Download the source
Or from the gEDA site - Extract, compile, and install
tar zxf gerbv-2.4.0.tar.gz cd gerbv-2.4.0 ./configure --disable-update-desktop-database make 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
- Check out the git repository
cd ~/gEDA git clone git://git.gpleda.org/pcb.git cd pcb
- Read the README.git file for a list of required packages
- Install the following cygwin packages
gcc
autoconf
automake
gettext
intltool
texinfo
perl
bison
flex - Generate autoconf, configure, make, make install
./autogen.sh ./configure --disable-doc --disable-update-desktop-database --disable-gl make 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:#ifdef HAVE__SPAWNVP #include <process.h> #endif
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.
Last wiki comments