[LLVMdev] Can't build clang 3.4.2

Rodney M. Bates rodney_bates at lcwb.coop
Mon Aug 4 18:15:24 PDT 2014



On 08/04/2014 05:42 PM, Justin Bogner wrote:
> "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.
>

Well, it's not there in my directories now, nor is it in a freshly untarred
copy of cfe-3.4.2.src  I tried a lot of things in my incorrect directory structure
before getting it right from your advice.

-- 
Rodney Bates
rodney.m.bates at acm.org



More information about the llvm-dev mailing list