| 86 | === Compilation issues === |
| 87 | |
| 88 | If you have strange issues while compiling you can try the following (in no particular order): |
| 89 | |
| 90 | * If you are using `ccache`, clean it: |
| 91 | {{{ |
| 92 | #!sh |
| 93 | $ ccache -C |
| 94 | }}} |
| 95 | |
| 96 | * If you may be using the `gold` compiler, change `ld` in order to use `ld.bfd` instead of `ld.gold`. Instructions: |
| 97 | * Configure `update-alternatives`: |
| 98 | {{{ |
| 99 | #!sh |
| 100 | $ update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.gold" 20 |
| 101 | $ update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.bfd" 10 |
| 102 | }}} |
| 103 | - Then choose the preferred one with the following command: |
| 104 | {{{ |
| 105 | #!sh |
| 106 | $ update-alternatives --config ld |
| 107 | }}} |
| 108 | |
| 109 | * Use a `jhbuild` shell and compile with `-j1`. Example with problems compiling `cairo`: |
| 110 | {{{ |
| 111 | #!sh |
| 112 | $ Tools/jhbuild/jhbuild-wrapper --gtk shell |
| 113 | $ cd WebKitBuild/Dependencies/Source/cairo-1.12.8/ |
| 114 | $ ../../Root/bin/make -j1 |
| 115 | $ ../../Root/bin/make install |
| 116 | }}} |
| 117 | |
| 118 | That instructions assume that the configure step was successful in the first place. If you need to repeat all the module build, it's better to do it directly using jhbuild. Never invoke `./configure` manually without parameters if you don't know what you're doing: |
| 119 | |
| 120 | {{{ |
| 121 | #!sh |
| 122 | $ Tools/jhbuild/jhbuild-wrapper --gtk buildone -f cairo |
| 123 | }}} |