title: Can't compile and link programs with clang
body: <p>I recently compiled Clang 2.9 (from <a href="http://llvm.org/releases/download.html#2.9" rel="nofollow">here</a>) on an Ubuntu system. I'm having trouble compiling and linking a simple program. Does anyone know how to fix this? Here's the output I see:</p>
  
  <pre><code>a@ubuntu:~/Desktop$ clang add.c
  /usr/bin/ld: 1: Syntax error: word unexpected (expecting ")")
  clang: error: linker command failed with exit code 2 (use -v to see invocation)
  </code></pre>
  
  <p><strong>uname -a output</strong></p>
  
  <pre><code>Linux ubuntu 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 i686 i686 i386 GNU/Linux 
  </code></pre>
  
  <p><strong>gcc -v output:</strong></p>
  
  <pre><code>Using built-in specs.
  
  COLLECT_GCC=gcc
  
  COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/lto-wrapper
  
  Target: i686-linux-gnu
  
  Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4 --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/i386-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
  
  Thread model: posix
  
  gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4)
  </code></pre>
  
  <p><strong>clang verbose ouput</strong></p>
  
  <pre><code>clang version 2.9 (tags/RELEASE_29/final)
  
  Target: i386-pc-linux-gnu
  
  Thread model: posix
  
  "/usr/local/bin/clang" -cc1 -triple i386-pc-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -main-file-name add.c -mrelocation-model static -mdisable-fp-elim -masm-verbose -mconstructor-aliases -target-cpu pentium4 -target-linker-version 2.21.0.20110327 -momit-leaf-frame-pointer -v -resource-dir /usr/local/bin/../lib/clang/2.9 -ferror-limit 19 -fmessage-length 138 -fgnu-runtime -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/cc-JJruTv.o -x c add.c
  
  clang -cc1 version 2.9 based upon llvm 2.9 hosted on i386-pc-linux-gnu
  
  #include "..." search starts here:
  
  #include &lt;...&gt; search starts here:
  
   /usr/local/include
  
   /usr/local/bin/../lib/clang/2.9/include
  
   /usr/include
  
  End of search list.
  
   "/usr/bin/ld" --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o a.out crt1.o crti.o crtbegin.o -L -L/../../.. /tmp/cc-JJruTv.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed crtend.o crtn.o
  
  /usr/bin/ld: 1: Syntax error: word unexpected (expecting ")")
  
  clang: error: linker command failed with exit code 2 (use -v to see invocation)
  </code></pre>