Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1945)

Unified Diff: docs/linux_building_debug_gtk.md

Issue 1324603002: [Docs] Another round of stylistic fixes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « docs/linux_build_instructions_prerequisites.md ('k') | docs/linux_cert_management.md » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: docs/linux_building_debug_gtk.md
diff --git a/docs/linux_building_debug_gtk.md b/docs/linux_building_debug_gtk.md
index 75cdf93670c5f83d0303aaf2c6d889914d7b2d5c..dea311ef8695ee9888ed79fbc411c60692c49e80 100644
--- a/docs/linux_building_debug_gtk.md
+++ b/docs/linux_building_debug_gtk.md
@@ -1,64 +1,65 @@
-# Introduction
+# Linux — Building and Debugging GTK
Sometimes installing the debug packages for gtk and glib isn't quite enough.
(For instance, if the artifacts from -O2 are driving you bonkers in gdb, you
might want to rebuild with -O0.)
-Here's how to build from source and use your local version without installing it.
+Here's how to build from source and use your local version without installing
+it.
+
+[TOC]
## 32-bit systems
On Ubuntu, to download and build glib and gtk suitable for debugging:
-1. If you don't have a gpg key yet, generate one with gpg --gen-key.
-
-2. Create file ~/.devscripts containing DEBSIGN\_KEYID=yourkey, e.g.
-DEBSIGN\_KEYID=CC91A262
-(See http://www.debian.org/doc/maint-guide/ch-build.en.html
-
-3. If you're on a 32 bit system, do:
-```
-#!/bin/sh
-set -x
-set -e
-# Workaround for "E: Build-dependencies for glib2.0 could not be satisfied"
-# See also https://bugs.launchpad.net/ubuntu/+source/apt/+bug/245068
-sudo apt-get install libgamin-dev
-sudo apt-get build-dep glib2.0 gtk+2.0
-rm -rf ~/mylibs
-mkdir ~/mylibs
-cd ~/mylibs
-apt-get source glib2.0 gtk+2.0
-cd glib2.0*
-DEB_BUILD_OPTIONS="nostrip noopt debug" debuild
-cd ../gtk+2.0*
-DEB_BUILD_OPTIONS="nostrip noopt debug" debuild
-```
-This should take about an hour. If it gets stuck waiting for a zombie,
+1. If you don't have a gpg key yet, generate one with `gpg --gen-key`.
+2. Create file `~/.devscripts` containing `DEBSIGN_KEYID=yourkey`, e.g.
+ `DEBSIGN_KEYID=CC91A262` (See
+ http://www.debian.org/doc/maint-guide/ch-build.en.html)
+3. If you're on a 32 bit system, do:
+
+ ```shell
+ #!/bin/sh
+ set -x
+ set -e
+ # Workaround for "E: Build-dependencies for glib2.0 could not be satisfied"
+ # See also https://bugs.launchpad.net/ubuntu/+source/apt/+bug/245068
+ sudo apt-get install libgamin-dev
+ sudo apt-get build-dep glib2.0 gtk+2.0
+ rm -rf ~/mylibs
+ mkdir ~/mylibs
+ cd ~/mylibs
+ apt-get source glib2.0 gtk+2.0
+ cd glib2.0*
+ DEB_BUILD_OPTIONS="nostrip noopt debug" debuild
+ cd ../gtk+2.0*
+ DEB_BUILD_OPTIONS="nostrip noopt debug" debuild
+ ```
+
+This should take about an hour. If it gets stuck waiting for a zombie,
you may have to kill its closest parent (the makefile uses subshells,
-and bash seems to get confused). When I did this, it continued successfully.
+and bash seems to get confused). When I did this, it continued successfully.
At the very end, it will prompt you for the passphrase for your gpg key.
Then, to run an app with those libraries, do e.g.
-```
-export LD_LIBRARY_PATH=$HOME/mylibs/gtk+2.0-2.16.1/debian/install/shared/usr/lib:$HOME/mylibs/gtk+2.0-2.20.1/debian/install/shared/usr/lib
-```
+
+ export LD_LIBRARY_PATH=$HOME/mylibs/gtk+2.0-2.16.1/debian/install/shared/usr/lib:$HOME/mylibs/gtk+2.0-2.20.1/debian/install/shared/usr/lib
gdb ignores that variable, so in the debugger, you would have to do something like
-```
-set solib-search-path $HOME/mylibs/gtk+2.0-2.16.1/debian/install/shared/usr/lib:$HOME/mylibs/gtk+2.0-2.20.1/debian/install/shared/usr/lib
-```
+
+ set solib-search-path $HOME/mylibs/gtk+2.0-2.16.1/debian/install/shared/usr/lib:$HOME/mylibs/gtk+2.0-2.20.1/debian/install/shared/usr/lib
See also http://sources.redhat.com/gdb/current/onlinedocs/gdb_17.html
## 64-bit systems
-If you're on a 64 bit systems, you can do the above on a 32
+If you're on a 64 bit system, you can do the above on a 32
bit system, and copy the result. Or try one of the following:
### Building your own GTK
-```
+```shell
apt-get source glib-2.0 gtk+-2.0
export CFLAGS='-m32 -g'
@@ -73,11 +74,12 @@ setarch i386 ./configure --prefix=/work/32 --enable-debug=yes
setarch i386 ./configure --prefix=/work/32 --enable-debug=yes --without-libtiff
```
-
### ia32-libs
+
_Note: Evan tried this and didn't get any debug libs at the end._
Or you could try this instead:
+
```
#!/bin/sh
set -x
@@ -92,19 +94,20 @@ DEB_BUILD_OPTIONS="nostrip noopt debug" debuild
```
By default, this just grabs and unpacks prebuilt libraries; see
-ia32-libs-2.7ubuntu6/fetch-and-build which documents a BUILD
-variable which would force actual building.
-This would take way longer, since it builds dozens of libraries.
-I haven't tried it yet.
+ia32-libs-2.7ubuntu6/fetch-and-build which documents a BUILD variable which
+would force actual building. This would take way longer, since it builds dozens
+of libraries. I haven't tried it yet.
#### Possible Issues
debuild may fail with
+
```
gpg: [stdin]: clearsign failed: secret key not available
debsign: gpg error occurred! Aborting....
```
-if you forget to create ~/.devscripts with the right contents.
-The build may fail with a "FAIL: abicheck.sh" if gold is your system
-linker. Use ld instead.
+if you forget to create `~/.devscripts` with the right contents.
+
+The build may fail with a `FAIL: abicheck.sh` if gold is your system linker. Use
+ld instead.
« no previous file with comments | « docs/linux_build_instructions_prerequisites.md ('k') | docs/linux_cert_management.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698