User Tools

Site Tools


geda:building_pcb

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

geda:building_pcb [2018/01/27 18:04] (current)
cparker created
Line 1: Line 1:
 +===== Build system =====
  
 +You must have a working build system before you even can think about hacking the source code. Make sure you can build a git clone.\\ ​
 +Try building the sources from git before you try anything else.\\ ​
 +The wiki page [[http://​wiki.geda-project.org/​geda:​developer]] shows the git command to get the geda-gaf repository. We are talking about pcb here.\\ For pcb we need to do:
 +<​code>​
 +git clone git://​git.geda-project.org/​pcb.git
 +</​code>​
 +For the other repositories take a look at [[http://​git.geda-project.org/​]]
 +
 +Next get your build system working. [[http://​wiki.geda-project.org/​geda:​gaf_building_git_version]]
 +
 +While working on the pcb sources remember that PCB uses The AutoTools as there build system.\\ This isn't as daunting as it sounds, for the newbie developer.\\ The PCB development team has made it easy for us.
 +
 +Generally just run:
 +  ./​autogen.sh
 +and the scary part is over ;-)
 +
 +Then do the usual:
 +  ./configure
 +  make
 +
 +The autogen.sh script is usually only needed once, after a git clone or if a file is added to be build into PCB. See [[pcb_developer_introduction#​Example|Example]] on when to use the autogen.sh script.
 +
 +For more information on the AutoTools take a look at: [[https://​www.gnu.org/​software/​automake/​manual/​html_node/​Autotools-Introduction.html]]
 +
 +If you want to know more about git take a look at: [[https://​git-scm.com/​docs/​gittutorial]]
 +
 +===== Dependencies =====
 +
 +PCB is a open source program and it uses open source libraries and tools to do what it does.
 +Doing a ''​repoquery --requires pcb''​ on my Fedora 20 system show the following dependencies:​
 +
 +|  perl|  libdl.so.2()| ​ libm.so.6(GLIBC_2.2.5)|
 +|  wish|  libdl.so.2(GLIBC_2.2.5)| ​ libpango-1.0.so.0()|
 +|  libGL.so.1()| ​ libfontconfig.so.1()| ​ libpangocairo-1.0.so.0()|
 +|  libGLU.so.1()| ​ libfreetype.so.6()| ​ libpangoft2-1.0.so.0()|
 +|  libICE.so.6()| ​ libgd.so.3()| ​ libpangox-1.0.so.0()|
 +|  libSM.so.6()| ​ libgdk-x11-2.0.so.0()| ​ libpng16.so.16()|
 +|  libX11.so.6()| ​ libgdk_pixbuf-2.0.so.0()| ​ libpthread.so.0()|
 +|  libXinerama.so.1()| ​ libgdkglext-x11-1.0.so.0()| ​ libpthread.so.0(GLIBC_2.2.5)|
 +|  libXmu.so.6()| ​ libgio-2.0.so.0()| ​ libtiff.so.5()|
 +|  libXpm.so.4()| ​ libglib-2.0.so.0()| ​ libvpx.so.1()|
 +|  libXrender.so.1()| ​ libgmodule-2.0.so.0()| ​ libz.so.1()|
 +|  libXt.so.6()| ​ libgobject-2.0.so.0()| ​ m4|
 +|  libatk-1.0.so.0()| ​ libgtk-x11-2.0.so.0()| ​ perl(File::​Basename)|
 +|  libc.so.6(GLIBC_2.14)| ​ libgtkglext-x11-1.0.so.0()| ​ perl(File::​Copy)|
 +|  libcairo.so.2()| ​ libjpeg.so.62()| ​ rtld(GNU_HASH)|
 +|  libdbus-1.so.3()| ​ libm.so.6()| |
geda/building_pcb.txt ยท Last modified: 2018/01/27 18:04 by cparker