[LLVMdev] Can't build clang 3.4.2

Justin Bogner mail at justinbogner.com
Mon Aug 4 15:42:54 PDT 2014


"Rodney M. Bates" <rodney_bates at lcwb.coop> writes:
> On 08/03/2014 05:30 PM, Justin Bogner wrote:
>> "Rodney M. Bates" <rodney_bates at lcwb.coop> writes:
>>> I can build llvm 3.4.2 fine, using instructions in GettingStarted.html,
>>> and making assumptions to account for my using tar files instead of svn.
>>> Although I had downloaded and extracted both llvm-3.4.2.src.tar.gz and
>>> cfe-3.4.2.src.tar.gz, giving directories llvm-3.4.2.src and cfe-3.4.2.src,
>>> clang apparently did not get built.  The only files with names starting
>>> with "clang" anywhere inside my llvm directory are Ascii text, C source,
>>> or directories.
>>>
>>> If I run ../cfe-3.4.2.src/make, (in my "build" directory, as
>>> suggested), I see:
>>>
>>> Makefile:42: ../../Makefile.common: No such file or directory
>>> make: *** No rule to make target `../../Makefile.common'.  Stop.
>>>
>>> There is no file by this name anywhere inside cfe-3.4.2.src, nor is there
>>> one named configure either.  Merging the files in llvm-3.4.2.src and
>>> cfe-3.4.2.src
>>> is obviously wrong, since they contain various same-named but
>>> different files.
>>>
>>> GettingStarted.html, get_started.html, the llvm FAQ, two README.txt
>>> and one INSTALL.txt
>>> have not helped me.
>>
>> The build system wants the clang directory to be nested inside the llvm
>> directory (under tools). I think the SVN instructions make this fairly
>> clear, since they tell you where to cd before checking out clang, but I
>> guess it's not obvious how that translates to source releases.
>>
>> Given your llvm directory, you need clang to be found under
>> <llvm-dir>/tools/clang, so you can either extract cfe-3.4.2.src in
>> tools/ and rename it to clang, or make a symlink to the cfe directory
>> beside the llvm one (ie, tools/clang -> ../../../cfe-3.4.2.src)
>>
>> Hope that helps!
>>
>
> Thanks, that got me going.
>
> Rereading the directions in the light of this, do I correctly infer that
> I should also move extracted directory compiler-rt-3.4 inside of
> llvm-3.4.2.src/llvm/projects and rename it compiler-rt, and likewise
> move test-suite-3.4 to the same place and rename it test-suite?

Yep, you've got it.

> At least part of what confused me about the needed directory structure
> was that there was a cfe-3.4.2.src/tools/clang (I tried running make
> in there too), but llvm-3.2.4.src/tools contains no clang.

That seems a little odd. There is a tools/ directory in the cfe sources,
but it should have things like libclang/, clang-format/, and driver/ - I
wouldn't expect llvm/tools/clang/tools/clang to exist.



More information about the llvm-dev mailing list