Problems with 'make check'

I am getting problems with ‘make check’ on Linux x86.

Several instances of ‘couldn’t execute “-emit-llvm”: no such file or directory’ :-

FAIL: /usr/src/llvm/test/CodeGen/CBackend/2007-01-06-Signless.c
Failed with posix(ENOENT,no such file or directory) at line 1
while running: -emit-llvm -S /usr/src/llvm/test/CodeGen/CBackend/2007-01-06-Signless.c -o - | llvm-as | llc -march=c | grep {(unsigned short}
couldn’t execute “-emit-llvm”: no such file or directory

‘make check’ output attached.

AFAICT there is nothing different in my setup, these tests were working fine before.

Aaron

make_check.out (7.54 KB)

Several instances of 'couldn't execute "-emit-llvm": no such file or directory' :-

   FAIL: /usr/src/llvm/test/CodeGen/CBackend/2007-01-06-Signless.c
   Failed with posix(ENOENT,no such file or directory) at line 1
   while running: -emit-llvm -S /usr/src/llvm/test/CodeGen/CBackend/2007-01-06-Signless.c -o - | llvm-as | llc -march=c | grep {(unsigned short}
   couldn't execute "-emit-llvm": no such file or directory

Looks like it couldn't find llvm-gcc.

-Tanya

Several instances of 'couldn't execute "-emit-llvm": no such file or directory' :-

   FAIL: /usr/src/llvm/test/CodeGen/CBackend/2007-01-06-Signless.c
   Failed with posix(ENOENT,no such file or directory) at line 1
   while running: -emit-llvm -S /usr/src/llvm/test/CodeGen/CBackend/2007-01-06-Signless.c -o - | llvm-as > llc -march=c | grep {(unsigned short}
   couldn't execute "-emit-llvm": no such file or directory

Looks like it couldn't find llvm-gcc.

Its on the path.

Aaron

   FAIL: /usr/src/llvm/test/CodeGen/CBackend/2007-01-06-Signless.c
   Failed with posix(ENOENT,no such file or directory) at line 1
   while running: -emit-llvm -S
/usr/src/llvm/test/CodeGen/CBackend/2007-01-06-Signless.c -o - | llvm-as
> llc -march=c | grep {(unsigned short}
   couldn't execute "-emit-llvm": no such file or directory

Looks like it couldn't find llvm-gcc.

Its on the path.

Is it set in site.exp?

-Tanya

Looks like it couldn't find llvm-gcc.

Its on the path.

Is it set in site.exp?

Thats it, great.

Should I be testing the 2.0 candiate release from CVS or are you releasing .tar.gz's ?

Thanks alot,

Aaron

Is it set in site.exp?

Thats it, great.

Should I be testing the 2.0 candiate release from CVS or are you releasing
.tar.gz's ?

I'll be sending out more instructions tonight, but I'll be sending out tarballs but people can test from the branch too. I need to do some more merging into the branch tonight.

-Tanya

>>> Looks like it couldn't find llvm-gcc.
>>
>> Its on the path.
>
> Is it set in site.exp?

Thats it, great.

Aaron,

Please note that the path is (purposefully) not used to locate test
executables. Many of us have many LLVM environments and using the path
leads to confusion. What the makefile is looking for is the LLVMGCC
variable to be set. It wasn't so when substituted you get a null string
which leads to attempting to execute "-emit-llvm" (the first argument
after the null program name). You can resolve this by using the
--with-llvmgccdir option when configuring llvm.

Reid.

Please note that the path is (purposefully) not used to locate test
executables. Many of us have many LLVM environments and using the path
leads to confusion. What the makefile is looking for is the LLVMGCC
variable to be set. It wasn't so when substituted you get a null string
which leads to attempting to execute "-emit-llvm" (the first argument
after the null program name). You can resolve this by using the
--with-llvmgccdir option when configuring llvm.

Right I will amend my proceedure.

Its odd as it has worked fine uptil now.

Thanks,

Aaron

Hi Reid,

Please note that the path is (purposefully) not used to locate test
executables. Many of us have many LLVM environments and using the path
leads to confusion. What the makefile is looking for is the LLVMGCC
variable to be set. It wasn't so when substituted you get a null
string which leads to attempting to execute "-emit-llvm" (the first
argument after the null program name). You can resolve this by using
the --with-llvmgccdir option when configuring llvm.

Might the makefile have an early target that does the shell

    if test x$LLVMGCC = x; then echo error message >&2; exit 1; fi

in order to trap this common problem.

Cheers,

Ralph.

Ralph,

Hi Reid,

> Please note that the path is (purposefully) not used to locate test
> executables. Many of us have many LLVM environments and using the path
> leads to confusion. What the makefile is looking for is the LLVMGCC
> variable to be set. It wasn't so when substituted you get a null
> string which leads to attempting to execute "-emit-llvm" (the first
> argument after the null program name). You can resolve this by using
> the --with-llvmgccdir option when configuring llvm.

Might the makefile have an early target that does the shell

    if test x$LLVMGCC = x; then echo error message >&2; exit 1; fi

in order to trap this common problem.

When you configure llvm without llvm-gcc, you get a nice big warning
message about it. I'm not sure anything more is needed. The approach you
suggested will print out on every build, which is not so desirable. What
could be done is add this to the "make check" target so that if LLVMGCC
is not set, you get a big warning.

However, I think the correct thing is to avoid any attempt at running
the C/C++/Ada/ObjC tests if llvm-gcc is not present. This can be done
simply by editing the dg.exp files in each of those directories.

Reid.