Using ccc with an absolute path

Hi,

I tried to compile the parrot virtual machine
(http://www.parrotcode.org/) with llvm-gcc, but utils/ccc always aborts
with 'OSError: [Errno 2] No such file or directory'

perl Configure.pl --verbose \
--cc=/home/moritz/tmp/llvm/tools/clang/utils/ccc
Parrot Version 0.7.0 Configure 2.0
...
inter::progs - Determine what C compiler and linker to use...
ccflags: -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -pipe
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
/home/moritz/tmp/llvm/tools/clang/utils/ccc -D_REENTRANT -D_GNU_SOURCE
-DDEBIAN -pipe -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I./include -c test_3685.c
test_3685.c
clang -emit-llvm-bc -x c -o test_3685.o test_3685.c -D_REENTRANT
-D_GNU_SOURCE -DDEBIAN -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I./include
Traceback (most recent call last):
  File "/home/moritz/tmp/llvm/tools/clang/utils/ccc", line 304, in <module>
    main(sys.argv[1:])
  File "/home/moritz/tmp/llvm/tools/clang/utils/ccc", line 287, in main
    compile(args, native, save_temps)
  File "/home/moritz/tmp/llvm/tools/clang/utils/ccc", line 109, in compile
    run(command + args)
  File "/home/moritz/tmp/llvm/tools/clang/utils/ccc", line 65, in run
    code = subprocess.call(args)
  File "/usr/lib/python2.5/subprocess.py", line 444, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.5/subprocess.py", line 594, in __init__
    errread, errwrite)
  File "/usr/lib/python2.5/subprocess.py", line 1149, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
Compilation failed with '/home/moritz/tmp/llvm/tools/clang/utils/ccc'

I manually tried to compile the file (test_3685.c) by going to
the llvm dir and then running tools/clang/utils/ccc $file (and I tried
it from tools/clang as well) and always got the same error. This feels
like some stupid path problem, which I can't seem to figure out; any ideas?

I built llvm+clang as described on
http://clang.llvm.org/get_started.html in the section "Building clang
while building llvm", revision is r55495, on Debian GNU/Linux i386 (32 bit)

Any ideas how I can get ccc to work for me?

Cheers,
Moritz

It looks to me like clang is not in your path. If this is the problem we should
consider changing ccc to diagnose this.

  • Daniel

Hi Moritz,

Daniel Dunbar wrote:

It looks to me like clang is not in your path. If this is the problem we
should
consider changing ccc to diagnose this.

That was exactly it, thanks. It seems I implicitly assumed that ccc
would search binaries relative to its path, but then again that wouldn't
make sense for the installed program.

As for the diagnose it would already help if it told me which file can't
be found.

Cheers,
Moritz