<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Feb 5, 2014 at 1:17 AM, Michel Alexandre Salim <span dir="ltr"><<a href="mailto:salimma@fedoraproject.org" target="_blank">salimma@fedoraproject.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA1<br>
<div class="im"><br>
On 02/03/2014 10:31 PM, Dave Johansen wrote:<br>
> On Sun, Feb 2, 2014 at 7:58 PM, Dave Johansen<br>
</div><div><div class="h5">> <<a href="mailto:davejohansen@gmail.com">davejohansen@gmail.com</a> <mailto:<a href="mailto:davejohansen@gmail.com">davejohansen@gmail.com</a>>> wrote:<br>
><br>
> The EL6 build of llvm 3.4 is currently in testing and it was just<br>
> pointed out that there's a potential issue with the build (<br>
> <a href="https://admin.fedoraproject.org/updates/FEDORA-EPEL-2014-0264/llvm-3.4-5.el6" target="_blank">https://admin.fedoraproject.org/updates/FEDORA-EPEL-2014-0264/llvm-3.4-5.el6</a><br>
><br>
><br>
).<br>
><br>
> If you examine the build.log (<br>
> <a href="http://kojipkgs.fedoraproject.org//work/tasks/593/6470593/build.log" target="_blank">http://kojipkgs.fedoraproject.org//work/tasks/593/6470593/build.log</a><br>
><br>
><br>
) It looks like the include path is being included twice and that's<br>
> causing the warning about the invalid host type. Is there<br>
> something wrong with the .spec file? Or is there something I can do<br>
> to fix/prevent this issue?<br>
><br>
> Thanks, Dave<br>
><br>
><br>
> I was able to get a hold of the original submitter of the issue and<br>
> the issue is because of the multiple paths that exist on EL6.<br>
> Here's his explanation and recommended solution:<br>
><br>
>> $ echo /usr/lib/gcc/x86_64*/*/include<br>
>> /usr/lib/gcc/x86_64-redhat-linux/4.4.4/include<br>
> /usr/lib/gcc/x86_64-redhat-linux/4.4.7/include<br>
>><br>
>> EL6 originally had gcc-4.4.4 and gcc-4-4.7 still has the old<br>
>> path<br>
> included for compatibility. Because of the space inbetween<br>
> configure thinks /usr/lib/gcc/x86_64-redhat-linux/4.4.7/include is<br>
> a host type.<br>
>><br>
>> The files in /usr/lib/gcc/x86_64-redhat-linux/4.4.7/include have<br>
> nothing to do with C++. Clang has own versions of these files in<br>
> /usr/lib/clang/3.4/include.<br>
>><br>
>> Therefore it should just be<br>
>> --with-c-include-dirs=%{_includedir},<br>
> which is also the default if you specify nothing.<br>
>><br>
>> C++ headers and runtime libs from gcc are selected by clang at<br>
>> runtime:<br>
>><br>
>> $ clang -v clang version 3.4 (tags/RELEASE_34/final) Target:<br>
>> x86_64-redhat-linux-gnu Thread model: posix Found candidate GCC<br>
>> installation: /usr/lib/gcc/x86_64-redhat-linux/4.4.4 Found<br>
>> candidate GCC installation:<br>
>> /usr/lib/gcc/x86_64-redhat-linux/4.4.7 Selected GCC installation:<br>
>> /usr/lib/gcc/x86_64-redhat-linux/4.4.7<br>
</div></div><div class="im">> So my question is if the same sort of change also needs to be made<br>
> in the Fedora .spec file that the EL6 one is based on.<br>
><br>
</div>On Fedora there is no compatibility symlink; IIRC the<br>
00with-c-include-dirs was added (by myself) because at the time LLVM<br>
and Clang's detection routines were less reliable (there was a list of<br>
GCC versions it knows about, and if the version installed is newer -<br>
as is likely at every Fedora cycle - it breaks, unless the include<br>
directory is manually specified)<br>
<br>
I'm no longer routinely involved in LLVM maintenance, but agree that<br>
it might be worth re-checking the Fedora .spec.<br></blockquote><div><br></div><div>I don't have a machine with rawhide available at the moment, but it sounds like this is worth looking into.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I'll try rebuilding Pure once the LLVM update lands - does Clang now<br>
ship a complete set of C++ headers as well? That was a sticking point<br>
earlier as the headers shipped by GCC in EL6 is too old for newer<br>
versions of LLVM-targeting apps.<br></blockquote></div><br></div><div class="gmail_extra">I'm not familiar with Pure, but apparently the newest version doesn't work with the glibc that's available on EL6 ( see <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1058472">https://bugzilla.redhat.com/show_bug.cgi?id=1058472</a> ), so it's just obsoleted by the llvm 3.4 package for the time being.<br>
<br></div><div class="gmail_extra">libc++ is complete ( <a href="http://libcxx.llvm.org/">http://libcxx.llvm.org/</a> ) and I've been wondering if the EL6 llvm package should ship with them just so the C+11/14 stuff will work, but are there going to be any issues with that?<br>
</div><div class="gmail_extra"><br><br>One other issue is that I had to make the following change to get libffi support working properly in EL6. I'm not sure if the same change is needed on Fedora or not, but I just wanted to throw it out there so that someone with a rawhide machine could see if this same change was need there as well.<br>
<a href="http://pkgs.fedoraproject.org/cgit/llvm.git/commit/?h=el6&id=5b96b3dfff9ec6beaaa7d4fa7ee17a79cd58214c">http://pkgs.fedoraproject.org/cgit/llvm.git/commit/?h=el6&id=5b96b3dfff9ec6beaaa7d4fa7ee17a79cd58214c</a><br>
</div></div>