Problem running 2.6 test-suite on cygwin

After following all steps from
http://llvm.org/docs/TestingGuide.html#testsuiterun, I've got this:

make[1]: Entering directory
`/cygdrive/c/projects/thesis/llvm-suite-2.6/llvm-2.6/projects/test-suite/SingleSource'
make[2]: Entering directory
`/cygdrive/c/projects/thesis/llvm-suite-2.6/llvm-2.6/projects/test-suite/SingleSource/UnitTests'
make[3]: Entering directory
`/cygdrive/c/projects/thesis/llvm-suite-2.6/llvm-2.6/projects/test-suite/SingleSource/UnitTests/Vector'
make[4]: Entering directory
`/cygdrive/c/projects/thesis/llvm-suite-2.6/llvm-2.6/projects/test-suite/SingleSource/UnitTests/Vector/SSE'
make[4]: *** No rule to make target `Output/sse.expandfft.linked.rbc',
needed by `Output/sse.expandfft.linked.bc'. Stop.
make[4]: Leaving directory
`/cygdrive/c/projects/thesis/llvm-suite-2.6/llvm-2.6/projects/test-suite/SingleSource/UnitTests/Vector/SSE'
make[3]: *** [all] Error 1
make[3]: Leaving directory
`/cygdrive/c/projects/thesis/llvm-suite-2.6/llvm-2.6/projects/test-suite/SingleSource/UnitTests/Vector'
make[2]: *** [all] Error 1
make[2]: Leaving directory
`/cygdrive/c/projects/thesis/llvm-suite-2.6/llvm-2.6/projects/test-suite/SingleSource/UnitTests'
make[1]: *** [UnitTests/.makeall] Error 2
make[1]: Leaving directory
`/cygdrive/c/projects/thesis/llvm-suite-2.6/llvm-2.6/projects/test-suite/SingleSource'
make: *** [SingleSource/.makeall] Error 2

LLVM tools and LLVM-GCC I've built seem to work.
Can it be due to LLVM_SRC_ROOT == LLVM_OBJ_ROOT?

config.log for llvm and test-suite attached.

                Gregory

config-llvm.log (219 KB)

config-test-suite.log (35.7 KB)

LLVM tools and LLVM-GCC I've built seem to work.
Can it be due to LLVM_SRC_ROOT == LLVM_OBJ_ROOT?

No. This is usually due to absence of llvm-gcc. You need reconfigure
llvm once again with lvm-gcc path added and make sure it was hooked
properly (look into Makefile.config for paths, etc).

As I mentioned, it looks like llvm-gcc is installed properly. From
Makefile.config:

LLVMGCC := /usr/local/bin/llvm-gcc.exe
LLVMGXX := /usr/local/bin/llvm-g++.exe
LLVMCC1 := /usr/local/libexec/gcc/i686-pc-cygwin/4.2.1/cc1.exe
LLVMCC1PLUS := /usr/local/libexec/gcc/i686-pc-cygwin/4.2.1/cc1plus.exe
LLVMGCC_VERSION := 4.2.1
LLVMGCC_MAJVERS := 4
LLVMGCC_LANGS := c,c++

It looks to me that this:

make[4]: *** No rule to make target `Output/sse.expandfft.linked.rbc',
needed by `Output/sse.expandfft.linked.bc'. Stop.

means that make is trying to build this (from Makefile.programs):

# Given an unoptimized bytecode file that is a simple linkage of all
# the program's bytecode files, optimize the program using the
# standard compilation optimizations.
$(PROGRAMS_TO_TEST:%=Output/%.linked.bc): \
Output/%.linked.bc: Output/%.linked.rbc $(LOPT)
        $(VERB) $(RM) -f $(CURDIR)/$@.info
        -$(LOPT) -std-compile-opts -info-output-file=$(CURDIR)/$@.info
$(STATS) $(EXTRA_LOPT_OPTIONS) $< -o $@ -f

But for some strange reason it can't find this rule (from Makefile.singlesrc):

Output/%.linked.rbc: Output/%.bc
        -cp -f $< $@

What can be a reason for this?

                Gregory

I forgot to add: I have done roughly the following:

1) configure llvm with --enable-optimitzed --enable-targets=x86
2) build llvm with "make tools-only"
3) installed llvm
4) configured llvm-gcc
5) build llvm-gcc
6) installed llvm-gcc

Sidenote: after this step, all of LLVM tools and LLVM-GCC are in the
PATH, and they appear to work: I can compile, link, optimize,
disassemble, etc.

7) re-configured llvm (without --with-llvmgccdir, because llvm-gcc is
in the PATH)
8) build llvm
9) try to "make" the test-suite

Have I missed anything?

LLVM, LLVM-GCC and test-suite are all from 2.6 svn branch.

                Gregory

It looks to me that this:

make[4]: *** No rule to make target `Output/sse.expandfft.linked.rbc',
needed by `Output/sse.expandfft.linked.bc'. Stop.

Well, I have no idea then. makefiles of testsuite are well-known for
such erratic behavior :frowning:

For the record: LLVM trunk starts test-suite, but reports lots of
failures and then (predictably) hangs eating 100% CPU. I'll try a bit
more with cygwin, and in case I'll be unable to make it work I'll
switch to linux.

                Gregory

Are you running the C backend tests? I remember those killed my
workstation because running gcc on the generated C would cause a giant
never-ending staircase of memory usage resulting in swappage and
crashes. I would recommend disabling those tests.

Reid

Hi Gregory,

`/cygdrive/c/projects/thesis/llvm-suite-2.6/llvm-2.6/projects/test-suite/SingleSource/UnitTests/Vector/SSE'
make[4]: *** No rule to make target `Output/sse.expandfft.linked.rbc',

this usually means that you don't have llvm-gcc installed, or, if
you do have it installed, that the configure script did not find
it.

Ciao,

Duncan.

Thanks, but it looks like it was not the case (more info here [1]).

[1] http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-December/027952.html

                Gregory