Build issue with llvm on EL6?
Michel Alexandre Salim
salimma at fedoraproject.org
Wed Feb 5 08:17:05 UTC 2014
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 02/03/2014 10:31 PM, Dave Johansen wrote:
> On Sun, Feb 2, 2014 at 7:58 PM, Dave Johansen
> <davejohansen at gmail.com <mailto:davejohansen at gmail.com>> wrote:
>
> The EL6 build of llvm 3.4 is currently in testing and it was just
> pointed out that there's a potential issue with the build (
> https://admin.fedoraproject.org/updates/FEDORA-EPEL-2014-0264/llvm-3.4-5.el6
>
>
).
>
> If you examine the build.log (
> http://kojipkgs.fedoraproject.org//work/tasks/593/6470593/build.log
>
>
) It looks like the include path is being included twice and that's
> causing the warning about the invalid host type. Is there
> something wrong with the .spec file? Or is there something I can do
> to fix/prevent this issue?
>
> Thanks, Dave
>
>
> I was able to get a hold of the original submitter of the issue and
> the issue is because of the multiple paths that exist on EL6.
> Here's his explanation and recommended solution:
>
>> $ echo /usr/lib/gcc/x86_64*/*/include
>> /usr/lib/gcc/x86_64-redhat-linux/4.4.4/include
> /usr/lib/gcc/x86_64-redhat-linux/4.4.7/include
>>
>> EL6 originally had gcc-4.4.4 and gcc-4-4.7 still has the old
>> path
> included for compatibility. Because of the space inbetween
> configure thinks /usr/lib/gcc/x86_64-redhat-linux/4.4.7/include is
> a host type.
>>
>> The files in /usr/lib/gcc/x86_64-redhat-linux/4.4.7/include have
> nothing to do with C++. Clang has own versions of these files in
> /usr/lib/clang/3.4/include.
>>
>> Therefore it should just be
>> --with-c-include-dirs=%{_includedir},
> which is also the default if you specify nothing.
>>
>> C++ headers and runtime libs from gcc are selected by clang at
>> runtime:
>>
>> $ clang -v clang version 3.4 (tags/RELEASE_34/final) Target:
>> x86_64-redhat-linux-gnu Thread model: posix Found candidate GCC
>> installation: /usr/lib/gcc/x86_64-redhat-linux/4.4.4 Found
>> candidate GCC installation:
>> /usr/lib/gcc/x86_64-redhat-linux/4.4.7 Selected GCC installation:
>> /usr/lib/gcc/x86_64-redhat-linux/4.4.7
> So my question is if the same sort of change also needs to be made
> in the Fedora .spec file that the EL6 one is based on.
>
On Fedora there is no compatibility symlink; IIRC the
00with-c-include-dirs was added (by myself) because at the time LLVM
and Clang's detection routines were less reliable (there was a list of
GCC versions it knows about, and if the version installed is newer -
as is likely at every Fedora cycle - it breaks, unless the include
directory is manually specified)
I'm no longer routinely involved in LLVM maintenance, but agree that
it might be worth re-checking the Fedora .spec.
I'll try rebuilding Pure once the LLVM update lands - does Clang now
ship a complete set of C++ headers as well? That was a sticking point
earlier as the headers shipped by GCC in EL6 is too old for newer
versions of LLVM-targeting apps.
Best regards,
- --
Michel Alexandre Salim
Fedora Project Contributor: http://fedoraproject.org/
Email: salimma at fedoraproject.org | GPG key ID: A36A937A
Jabber: hircus at jabber.ccc.de | IRC: michel-slm at irc.freenode.net
() ascii ribbon campaign - against html e-mail
/\ www.asciiribbon.org - against proprietary attachments
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQEcBAEBAgAGBQJS8fOBAAoJEEr1VKujapN6zxkIAJly8nZFv353aA6LkPOEK5Uh
qiZR0L2p0rfoaGmdw11+r24BGmmBjcZHdTpg+HS4GZxVrENF9dQYeVvVGLse6QJZ
dlJAzL7u9oJZYF4YBr9vsJy9+fP7p0T0miHj12GZG+wqhBn0UItcYimwmlVpEat7
5UWMCWzAZckZPPFqzYbVwDtjkXObMumqY5cXy7uOEeTHa1HIsoiomnL3KeHwEdiF
UHCqCsCDaAuYJy14i9U4JDC0Lt67uV/czVzstrBUN+CP7PfZZkDQvbYbPeCwrjxT
RtosUNBPQQarnoLeDkFSUwlUv0Gxpc8y75dA2ZkzachAbxRlzWmTrRVdcgqt8xw=
=yaSw
-----END PGP SIGNATURE-----
More information about the devel
mailing list