| |
| Building Firefox-2.0.0.12 from source, for testing Helgrind |
| ----------------------------------------------------------- |
| |
| wget |
| ftp://ftp.mozilla.org/pub/firefox/releases/2.0.0.12/source/firefox-2.0.0.12-source.tar.bz2 |
| |
| bzip2 -dc firefox-2.0.0.12-source.tar.bz2 | tar xvf - |
| |
| mv mozilla firefox-2.0.0.12 |
| |
| mkdir InstFirefox20012 |
| export XYZZYFOOBAR=`pwd`/InstFirefox20012 |
| |
| cd firefox-2.0.0.12 |
| |
| ./configure --prefix=$XYZZYFOOBAR --enable-application=browser \ |
| --enable-optimize="-O -g" |
| |
| make -j 2 |
| make install |
| |
| cd ../InstFirefox20012 |
| |
| MOZ_NO_REMOTE=1 NO_EM_RESTART=1 \ |
| LD_LIBRARY_PATH=`pwd`/lib/firefox-2.0.0.12:\ |
| `pwd`/lib/firefox-2.0.0.12/components:\ |
| `pwd`/lib/firefox-2.0.0.12/plugins \ |
| /home/sewardj/VgTRUNK/hgdev/Inst/bin/valgrind --tool=helgrind \ |
| --trace-children=no -v ./lib/firefox-2.0.0.12/firefox-bin |
| |
| # start and then quit firefox a couple of times before measuring |
| # it, analysing results, etc. This is because (I think) the new |
| # build is probably a different version from whatever you used |
| # before and so on the first run, the new build wants to mess with |
| # ~/.mozilla (or something) and that makes it take much longer than |
| # subsequent runs. |
| |
| # Patch the recycling allocator thusly (is this still necessary) ? |
| |
| |
| $ diff -U3 ./xpcom/ds/nsRecyclingAllocator.cpp-ORIG ./xpcom/ds/nsRecyclingAllocator.cpp |
| --- ./xpcom/ds/nsRecyclingAllocator.cpp-ORIG 2008-03-14 19:09:17.000000000 +0100 |
| +++ ./xpcom/ds/nsRecyclingAllocator.cpp 2008-03-14 19:39:34.000000000 +0100 |
| @@ -156,7 +156,7 @@ |
| mLock = nsnull; |
| } |
| } |
| - |
| +#include "/home/sewardj/VgTRUNK/hgde2/Inst/include/valgrind/helgrind.h" |
| // Allocation and free routines |
| void* |
| nsRecyclingAllocator::Malloc(PRSize bytes, PRBool zeroit) |
| @@ -169,7 +169,7 @@ |
| if (freeBlock) |
| { |
| void *data = DATA(freeBlock); |
| - |
| +if (bytes > 0) VALGRIND_HG_CLEAN_MEMORY(data,bytes); |
| if (zeroit) |
| memset(data, 0, bytes); |
| return data; |
| |
| |
| |
| Building OpenOffice 2.4/3.0 from source |
| --------------------------------------- |
| |
| svn co svn://svn.gnome.org/svn/ooo-build/trunk ooo-build |
| |
| cd ooo-build |
| |
| export ARCH_FLAGS="-g -O" |
| export DOWNLOADCACHE=~/DOWNLOADS/OOo |
| |
| #export ARCH_FLAGS="-g -O -fno-inline -fno-inline-functions" |
| # very slow, and not helpful |
| |
| ./autogen.sh --with-distro=SUSE-11.0 |
| --disable-gstreamer --disable-mono |
| |
| # --with-max-jobs=2 --with-num-cpus=2 sounds good on paper, but often |
| # cause the build to fail |
| # --with-alloc=system is used by default |
| |
| ./download |
| |
| make |
| |
| # make now runs the 'inner' configure (of OOo proper) and |
| # invariably fails. To fix, install 987,654,321 packages you never |
| # heard of before, that OOo absolutely needs, and go back to the |
| # autogen step. You probably need to do this ten times or more. |
| # |
| # configure: error: \genbrk\ not found in $PATH, install the icu |
| # development tool \genbrk"" |
| # |
| # means you have to install packages: icu libicu-devel |
| |
| # eventually you might get through the inner configure. After |
| # a couple of hours of flat out computation on both cores of |
| # a fast Core 2, the build might complete successfully. |
| |
| # in the likely event of even all that not working, go on to #go-oo |
| # at irc.freenode.org and ask questions |
| |
| # eventually ... |
| |
| ./bin/ooinstall ~/OOoBuild/Inst01 |
| cd ~/OOoBuild/Inst01 |
| valgrind -v ./program/soffice.bin |
| |
| |
| # Hacking OOo |
| |
| # Use two shells, (C)ompile and (R)un. In (C): |
| # |
| cd build/ooh680-m12 |
| . ./LinuxX86Env.Set.sh (or ". ./LinuxX86-64Env.Set.sh") |
| ./solenv/bin/linkoo ~/OOoBuild/Inst01 |
| # |
| # This replaces all the .so's in the install tree with symlinks |
| # back into the build tree, so you can then re-run without |
| # having to endlessly reinstall. It also creates 'ooenv' in |
| # ~/OOoBuild/Inst01/program, which needs to be sourced |
| # once before running. |
| # |
| # So having changed something in OOo, eg in svx/, do: |
| # |
| (cd svx && build) |
| # |
| # Meanwhile in the (R)un shell: |
| source ooenv # just once! |
| # appears to complain aobut "ulimit -c", but OK nevertheless |
| |
| valgrind [args] ./soffice.bin |
| |
| |
| ## More notes, 2 May 08 |
| export DOWNLOADCACHE=~/DOWNLOADS/OOo to cache downloaded tarballs |
| ##export CONFIGURE_FLAGS=--disable-mediawiki is needed for dev300-m10 |
| ##or not -- causes the build to fail later. Don't use this. |
| |
| |
| # These are packages I had to install on a fairly vanilla OpenSUSE |
| # 10.3 in order to get a build working |
| |
| perl-Archive-Zip-1.20 |
| cups-devel-1.2.12 |
| libjpeg-devel-6.2.0 |
| libxslt-devel |
| libgcrypt-devel |
| liggpg-error-devel |
| libxml2-devel |
| readline-devel |
| python-devel |
| blt |
| python-tk |
| libcurl-devel |
| libidn-devel |
| boost-devel |
| unixODBC-devel |
| mozilla-xulrunner181-devel |
| mozilla-nspr-devel |
| mozilla-nss-devel |
| mozilla-xulrunner181 |
| neon-devel |
| gnome-vfs2-devel |
| avahi-devel |
| dbus-1-devel |
| dbus-1-glib |
| gconf2-devel |
| hal-devel |
| indent |
| libblkid-devel |
| libbonobo-devel |
| libcom_err-devel |
| libext2fs-devel |
| libidl-devel |
| libusb-devel |
| libuuid-devel |
| orbit2-devel |
| popt-devel |
| qt3-devel |
| liblcms-devel |
| libmnt-devel |
| |
| export QTDIR=/usr/lib/qt3 |
| |
| kdebase3-devel |
| (tons of stuff) |
| |