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

Jakov Smolic via cfe-dev cfe-dev at lists.llvm.org
Fri Jul 10 02:25:02 PDT 2020


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


More information about the cfe-dev mailing list