When not compiling within the top_srcdir, the include-dirs are not set. This fixes it: pcglap12:/usr/src/valgrind-svn # svn diff Makefile.tool-flags.am Index: Makefile.tool-flags.am =================================================================== --- Makefile.tool-flags.am (revision 7351) +++ Makefile.tool-flags.am (working copy) @@ -1,34 +1,34 @@ -add_includes_x86_linux = -I$(top_srcdir)/include \ +add_includes_x86_linux = -I$(top_srcdir) -I$(top_srcdir)/include \ -I@VEX_DIR@/pub \ -DVGA_x86=1 \ -DVGO_linux=1 \ -DVGP_x86_linux=1 -add_includes_amd64_linux = -I$(top_srcdir)/include \ +add_includes_amd64_linux = -I$(top_srcdir) -I$(top_srcdir)/include \ -I@VEX_DIR@/pub \ -DVGA_amd64=1 \ -DVGO_linux=1 \ -DVGP_amd64_linux=1 -add_includes_ppc32_linux = -I$(top_srcdir)/include \ +add_includes_ppc32_linux = -I$(top_srcdir) -I$(top_srcdir)/include \ -I@VEX_DIR@/pub \ -DVGA_ppc32=1 \ -DVGO_linux=1 \ -DVGP_ppc32_linux=1 -add_includes_ppc64_linux = -I$(top_srcdir)/include \ +add_includes_ppc64_linux = -I$(top_srcdir) -I$(top_srcdir)/include \ -I@VEX_DIR@/pub \ -DVGA_ppc64=1 \ -DVGO_linux=1 \ -DVGP_ppc64_linux=1 -add_includes_ppc32_aix5 = -I$(top_srcdir)/include \ +add_includes_ppc32_aix5 = -I$(top_srcdir) -I$(top_srcdir)/include \ -I@VEX_DIR@/pub \ -DVGA_ppc32=1 \ -DVGO_aix5=1 \ -DVGP_ppc32_aix5=1 -add_includes_ppc64_aix5 = -I$(top_srcdir)/include \ +add_includes_ppc64_aix5 = -I$(top_srcdir) -I$(top_srcdir)/include \ -I@VEX_DIR@/pub \ -DVGA_ppc64=1 \ -DVGO_aix5=1 \ With best regards, Rainer
The patch in comment 1 is now out-of-date. Here's the current status of this: - Vex was recently incorporated properly in the build system, ie. it has a Makefile.am file now. This is a good step. - But Vex currently has several files with the same name in different directories, but that confuses automake. I have a hack in the Vex Makefile.am that works around this (it involves copying files around), but it makes VPATH builds a total pain. The plan is to rename the Vex files (bug 197794) once Julian has committed the DCAS branch to the trunk (bug 197793). - After that, getting the regtests working out-of-tree is going to be the hard part. This is important -- as long as the regtests don't work out-of-tree, the developers won't build out-of-tree. And if the developers don't build out-of-tree, then out-of-tree builds are likely to get broken frequently. - If the regtests can be made to work, then the nightly tests can be made to use out-of-tree builds, which will provide regular testing.
*** Bug 162753 has been marked as a duplicate of this bug. ***
*** Bug 198027 has been marked as a duplicate of this bug. ***
*** Bug 198228 has been marked as a duplicate of this bug. ***
*** Bug 117322 has been marked as a duplicate of this bug. ***
The vex renaming and DCAS merging have now been done. Patches to fix this are welcome *if they allow the regtests to work*. Run "make regtest" to run the test suite.
Created attachment 35106 [details] Patch allowing the build to work. This patch allows the build to work again, I can make, make install and run the resulting valgrind. The regtests still need more work which I'm experimenting with now, in the meantime I thought this patch might be useful to someone.
Created attachment 36597 [details] Patch allowing the build and regtests to work Attached is a patch against head (r10880) to allow both VPATH building and the regtests to work. A small number of tests fail in VPATH mode with this patch applied (mostly none/shell*) and it's possible I've not patched all the output filters for distros I don't have a test machine for, that aside VPATH functionality should be the same as normal.
There was a recent change that fixed this. I'll check this patch, but it's probably OK. I don't think that I tested make regtest out-of-source.
If I do this git clone cd valgrind ./autogen.sh mkdir build cd build ../configure make -j 8 && make -j 8 check then it works up to there but make regtest gives errors sh: .../valgrind/build/tests/platform_test: No such file or directory and -- Running tests in memcheck/tests/linux ------------------------------ vg_regtest: `./filter_stderr' not found or not a file (.) /bin/sh: line 3: tests/post_regtest_checks: No such file or directory make: *** [Makefile:1399: regtest] Error 1