[LLVMdev] Problems building host tools when cross compiling LLVM

Meador Inge meadori at codesourcery.com
Tue Mar 18 09:55:25 PDT 2014


Hi All,

I recently ran into an issue that was posted several years back on LLVMdev [1].
A brief recap of the problem is that when cross-compiling LLVM itself the
configure/make scripts get confused when creating the needed build host tools.
For example, building and configuring like:

  CC_FOR_BUILD='i686-pc-linux-gnu-gcc' CXX_FOR_BUILD='i686-pc-linux-gnu-g++'
  CXX='i686-mingw32-g++' CC='i686-mingw32-gcc' LD='i686-mingw32-ld' /scratch
  /meadori/llvm-trunk/src/trunk/configure --host=i686-mingw32

  CC_FOR_BUILD='i686-pc-linux-gnu-gcc' CXX_FOR_BUILD='i686-pc-linux-gnu-g++'
  CXX='i686-mingw32-g++' CC='i686-mingw32-gcc' LD='i686-mingw32-ld' make

causes the following build break:

  checking whether the C compiler works... configure: error: cannot run C
  compiled programs.
  If you meant to cross compile, use `--host'.
  See `config.log' for more details.

The 'config.log' shows that i686-mingw32-gcc is being used to create
executables for the build host:

  configure:2185: checking for C compiler default output file name
  configure:2212: i686-mingw32-gcc    conftest.c  >&5
  configure:2215: $? = 0
  configure:2261: result: a.exe
  configure:2266: checking whether the C compiler works
  configure:2276: ./a.exe
  run-detectors: unable to find an interpreter for ./a.exe
  configure:2279: $? = 2

The patch mentioned in [1] does fix the issue.

Is there any particular reason that patch was not applied or shouldn't be?

[1] http://lists.cs.uiuc.edu/pipermail/llvmdev/2010-November/036651.html

-- 
Meador Inge
CodeSourcery / Mentor Embedded



More information about the llvm-dev mailing list