Valgrind and Ardour

Valgrind seems to have a problem dealing with large executables. See this post on gmane. The problem doesn't cause Valgrind to fail completely, but it prevents Valgrind from reading debug symbol information from large (200+ meg) executables. You should fix Valgrind according to these instructions if you get this message when trying to "Valgrind" ardour.

[PID]
warning: mmap failed on ardour
[PID]
no symbols or debug info loaded

How to fix Valgrind

The fix for Valgrind is simple. You need to use a lower memory address for KICKSTART_BASE. At least in Valgrind 2.4.0 this variable is controlled by the configure script.

valgrind-2.4.0/configure, around row 4000
  case "${host_cpu}" in
     i?86)
        echo "$as_me:$LINENO: result: ok (${host_cpu})" >&5
        echo "${ECHO_T}ok (${host_cpu})" >&6
        VG_ARCH="x86"
        KICKSTART_BASE="0xb0000000"
        ARCH_CORE_AM_CFLAGS***"@PREFERRED_STACK_BOUNDARY@ -DELFSZ32"
        ARCH_TOOL_AM_CFLAGS="@PREFERRED_STACK_BOUNDARY@"
        ARCH_CORE_AM_CCASFLAGS=""
        ;;

KICKSTART_BASE should be set to 0xa0000000 for Valgrind to be able to read the symbols from Ardour.

After you have made this change you should run "./configure [your options]" and "make install". If you had run configure on that source directory before, you should run "make distclean" before running configure.