Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| howtos:install_gschem_on_s11 [2013/12/23 09:01] – [Install pcb on S11FCS] admin | howtos:install_gschem_on_s11 [2026/10/25 19:30] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Compiling gschem, pcb, gerbv on 11.3 ====== | ||
| + | I have recently played a little bit with L80 Quectel GPS module and after a while decided to design PCB for the final version to be installed in my car. As usual, created schema in gschem, then tried to " | ||
| + | So I had to recompile to install into standard /usr/local location. For gschem and gerbv, I followed the procedure I had used before, but went with slightly different set of requirements for pcb: | ||
| + | * go with the latest bits from Git repository | ||
| + | * [[http:// | ||
| + | * try to build 64-bit binary | ||
| + | ===== Prerequisites ===== | ||
| + | Since I wanted to build pcb with documentation which requires LaTeX, I had to deploy LaTeX first. It was in fact straightforward, | ||
| + | And since I wanted to build with [[http:// | ||
| + | ===== Deploy from git ===== | ||
| + | * obtain the latest bits from Git repository | ||
| + | < | ||
| + | $ git clone git:// | ||
| + | </ | ||
| + | * build and install | ||
| + | < | ||
| + | $ cd pcb-git | ||
| + | $ export PATH=/ | ||
| + | $ ./ | ||
| + | $ CC=/ | ||
| + | $ make | ||
| + | $ sudo make install | ||
| + | </ | ||
| + | ===== Deploy from tarball, version 4.0.0 ===== | ||
| + | * download the tarball | ||
| + | < | ||
| + | $ wget https:// | ||
| + | $ tar xvpf pcb-4.0.0.tar.gz | ||
| + | </ | ||
| + | * minor tweaks required to build with Oracle Solaris Studio (version 12.4) | ||
| + | < | ||
| + | $ diff -u pcb-4.0.0-orig/ | ||
| + | --- pcb-4.0.0-orig/ | ||
| + | +++ pcb-4.0.0/ | ||
| + | @@ -177,7 +177,7 @@ | ||
| + | # | ||
| + | BoxType | ||
| + | long int ID; \ | ||
| + | - | ||
| + | + | ||
| + | // struct LibraryEntryType *net | ||
| + | |||
| + | /* Lines, pads, and rats all use this so they can be cross-cast. | ||
| + | |||
| + | $ diff -u pcb-4.0.0-orig/ | ||
| + | --- pcb-4.0.0-orig/ | ||
| + | +++ pcb-4.0.0/ | ||
| + | @@ -31,10 +31,10 @@ | ||
| + | # | ||
| + | # | ||
| + | |||
| + | -unsigned int string_to_layertype (const char *typestring, | ||
| + | +LayertypeType string_to_layertype (const char *typestring, | ||
| + | int (*error) (const char *msg)); | ||
| + | -const char *layertype_to_string (unsigned int type); | ||
| + | -unsigned int guess_layertype (const char *name, | ||
| + | +const char *layertype_to_string (LayertypeType type); | ||
| + | +LayertypeType guess_layertype (const char *name, | ||
| + | int layer_number, | ||
| + | | ||
| + | </ | ||
| + | * build and install (built 64-bit on s11u3sru16 with Oracle Solaris Studio 12.4) | ||
| + | < | ||
| + | $ cd pcb-4.0.0 | ||
| + | $ export PATH=/ | ||
| + | $ CC=/ | ||
| + | $ make | ||
| + | $ sudo make install | ||
| + | </ | ||
| + | |||
| + | ===== Gotchas ===== | ||
| + | ==== Missing locale.h header file (fixed in pcb 4.0.0) ==== | ||
| + | Compilation fails, since following files are missing < | ||
| + | < | ||
| + | $ git status -s | ||
| + | M src/main.c | ||
| + | M src/print.c | ||
| + | M src/ | ||
| + | </ | ||
| + | Adding following line to those files fixes the problem: | ||
| + | < | ||
| + | #include < | ||
| + | </ | ||
| + | I filed [[https:// | ||
| + | ==== Broken texi2dvi(1) utility ==== | ||
| + | **texi2dvi(1)** utility is used to convert document from Texinfo to PDF or TeX DVI format. However, it fails on Oracle Solaris: | ||
| + | < | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | make[3]: *** [pcb.pdf] Error 127 | ||
| + | </ | ||
| + | Reason being that it uses **/bin/sh** as a shell interpreter which on Linux maps to **bash(1)**, | ||
| ====== Install gschem on S11FCS ====== | ====== Install gschem on S11FCS ====== | ||
| * Download latest stable version of gschem from [[ftp:// | * Download latest stable version of gschem from [[ftp:// | ||
| Line 56: | Line 152: | ||
| < | < | ||
| $ git clone git:// | $ git clone git:// | ||
| - | $ sudo pkg install developer/ | + | $ sudo pkg install developer/ |
| $ cd pcb-git | $ cd pcb-git | ||
| $ ./ | $ ./ | ||
| Line 78: | Line 174: | ||
| $ cd pcb-20110918/ | $ cd pcb-20110918/ | ||
| $ export PATH=/ | $ export PATH=/ | ||
| - | $ PKG_CONFIG_PATH=/ | + | $ PKG_CONFIG_PATH=/ |
| $ make | $ make | ||
| $ sudo make install | $ sudo make install | ||
| Line 102: | Line 198: | ||
| * unpack sources into working directory | * unpack sources into working directory | ||
| < | < | ||
| - | $ tar xvpf / | + | $ tar xvpf gerbv-2.6.0.tar.gz |
| </ | </ | ||
| * apply necessary patch, so that gcc does not explode | * apply necessary patch, so that gcc does not explode | ||
| Line 124: | Line 220: | ||
| $ cd gerbv-2.6.0/ | $ cd gerbv-2.6.0/ | ||
| $ export PATH=/ | $ export PATH=/ | ||
| - | $ ./configure | + | $ ./ |
| $ make | $ make | ||
| $ sudo make install | $ sudo make install | ||
