[cfe-dev] Cross-compiling Clang on Gentoo Linux

Neil Nelson via cfe-dev cfe-dev at lists.llvm.org
Fri Jul 10 06:41:33 PDT 2020


Keeping cfe-dev in the loop.

Just emailed clang-tblgen to Jakov Smolic.

Neil Nelson

On 7/10/20 3:25 AM, Jakov Smolic via cfe-dev wrote:
> On Thu, Jul 9, 2020 at 6:42 PM Neil Nelson via cfe-dev
> <cfe-dev at lists.llvm.org> wrote:
>> Just noticed a clang-tblgen after a compile of llvm and clang using the clang-llvm documented method.
>>
>> /home/nnelson/Documents/llvm-project/build/bin/clang-tblgen
>>
>> It is apparently not copied to /usr/bin/local during the install after a local build, but if you have that file, you could manually copy it and it might be found for your purpose.
> Ok, so that is likely the issue here, the fact that this file is not
> copied to the directory.
>
>> If you do not have that file, we may need to come up with a different plan. The first one that comes to mind is to build clang-llvm using the documented method and then do the copy and continue with what you are doing. The second one, in a stretch, might > be to get the file from a download, depending on the hardware you are using. There is a reasonably good chance I could copy the file I have here to you from this x86_64.
> I don't have that file now on my local system now. Copying the file
> should work as I am currently building the image for x86_64 platform,
> but I think the best solution for my use-case would be to patch the
> Gentoo package so that the `tblgen` binary is installed along with
> other clang components. I am building Gentoo-based images for embedded
> devices inside of a dockerized build system and use Gentoo packaging
> to add software to the images, so maybe the simplest solution would be
> to patch the Gentoo package.
> I suspect that there is a CMake option missing from the Gentoo ebuild
> or something else that prevents the `tblgen` binary from being
> installed. I've also inquired about this to the Gentoo upstream but I
> haven't received any input from Gentoo developers yet.
>
> Could you provide me with the steps you performed to install the
> `tblgen` binary, I can compare it then and see if there is something
> missing from the Gentoo package.
>
> Thank you for helping me!
> Regards,
> Jakov Smolic
>
>
>
>> Neil Nelson
>>
>> On 7/9/20 9:48 AM, Jakov Smolic via cfe-dev wrote:
>>
>> On Ubuntu 20.04 I have
>>
>> /usr/bin/llvm-tblgen
>> /usr/bin/llvm-tblgen-10
>> /usr/lib/llvm-10/bin/llvm-tblgen
>> /usr/local/bin/llvm-tblgen
>>
>> Yes, I have those binaries as well. `llvm-tblgen` is, unlike
>> `clang-tblgen`, installed as part of the llvm package in Gentoo. I can
>> successfully cross-compile llvm. Likewise as clang, llvm requires the
>> `tblgen` binary for cross-compiling, but it's not an issue as it is
>> installed along with other llvm components.
>>
>> The first three were installed from the distribution. The last was
>> compiled from the llvm-project at github. I do not have a
>> clang- tblgen.
>>
>> Is your sequence something like this?
>>
>> https://github.com/llvm/llvm-project
>> git clone https://github.com/llvm/llvm-project.git
>> cd llvm-project
>>
>> And then what do you do?
>>
>> I did not perform it directly like that, rather as part of the
>> packaging, but Gentoo, being source-based distribution, downaloads the
>> source and compiles the components from there, and sets some CMake
>> options [1].
>>
>> Regards,
>> Jakov Smolic
>>
>>
>> [1] https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/llvm/llvm-10.0.0.ebuild#n249
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>>
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
> On Thu, Jul 9, 2020 at 6:42 PM Neil Nelson via cfe-dev
> <cfe-dev at lists.llvm.org> wrote:
>> Just noticed a clang-tblgen after a compile of llvm and clang using the clang-llvm documented method.
>>
>> /home/nnelson/Documents/llvm-project/build/bin/clang-tblgen
>>
>> It is apparently not copied to /usr/bin/local during the install after a local build, but if you have that file, you could manually copy it and it might be found for your purpose.
>>
>> If you do not have that file, we may need to come up with a different plan. The first one that comes to mind is to build clang-llvm using the documented method and then do the copy and continue with what you are doing. The second one, in a stretch, might be to get the file from a download, depending on the hardware you are using. There is a reasonably good chance I could copy the file I have here to you from this x86_64.
>>
>> Neil Nelson
>>
>> On 7/9/20 9:48 AM, Jakov Smolic via cfe-dev wrote:
>>
>> On Ubuntu 20.04 I have
>>
>> /usr/bin/llvm-tblgen
>> /usr/bin/llvm-tblgen-10
>> /usr/lib/llvm-10/bin/llvm-tblgen
>> /usr/local/bin/llvm-tblgen
>>
>> Yes, I have those binaries as well. `llvm-tblgen` is, unlike
>> `clang-tblgen`, installed as part of the llvm package in Gentoo. I can
>> successfully cross-compile llvm. Likewise as clang, llvm requires the
>> `tblgen` binary for cross-compiling, but it's not an issue as it is
>> installed along with other llvm components.
>>
>> The first three were installed from the distribution. The last was
>> compiled from the llvm-project at github. I do not have a
>> clang- tblgen.
>>
>> Is your sequence something like this?
>>
>> https://github.com/llvm/llvm-project
>> git clone https://github.com/llvm/llvm-project.git
>> cd llvm-project
>>
>> And then what do you do?
>>
>> I did not perform it directly like that, rather as part of the
>> packaging, but Gentoo, being source-based distribution, downaloads the
>> source and compiles the components from there, and sets some CMake
>> options [1].
>>
>> Regards,
>> Jakov Smolic
>>
>>
>> [1] https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/llvm/llvm-10.0.0.ebuild#n249
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>>
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20200710/e998c7e4/attachment-0001.html>


More information about the cfe-dev mailing list