Summary: | ERROR: Rust compiler rustc ....link-arg=-m32...=sse cannot compile programs. | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | andy <hedmoo> |
Component: | Current packages | Assignee: | Gentoo Linux bug wranglers <bug-wranglers> |
Status: | RESOLVED INVALID | ||
Severity: | major | CC: | eschwartz93, gonegrier.duarte, hedmoo |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
meson log
attempted ebuild from IRC |
Description
andy
2024-02-14 16:42:18 UTC
Created attachment 884980 [details]
meson log
(In reply to andy from comment #0) > 1.use my ebuild from my overlay > :https://github.com/hedmo/hedmos-overlay/blob/master/media-libs/mesa/mesa-24. > 0.0.ebuild Is this bug report being reported against your overlay ("Component: Overlays" rather than "Component: Current Packages") or against the ebuild in the official gentoo repos? If the latter, please confirm that it reproduces when *not* using an overlay. i report this because i think this is a bug in rust from gentoos repo and not against my custom ebuild . if i did know a similar ebuild/package in the official gentoo repo i would test that before reporting this issue.gentoo does not provide nak/nvk in media-libs/mesa yet and because of that i cannot test media-lib/mesa::gentoo if you can provide me with a similar ebuild/package from gentoos repo i will test that to of course to confirm it is my ebuild that is failing or an upstream issue. (In reply to andy from comment #3) > i report this because i think this is a bug in rust from gentoos repo and > not against my custom ebuild . if i did know a similar ebuild/package in the > official gentoo repo i would test that before reporting this issue.gentoo > does not provide nak/nvk in media-libs/mesa yet and because of that i cannot > test media-lib/mesa::gentoo if you can provide me with a similar > ebuild/package from gentoos repo i will test that to of course to confirm it > is my ebuild that is failing or an upstream issue. So what you are saying is that this is something (nak/nvk) which has not yet been packaged for Gentoo, and there is no bug in the Gentoo repo. This functionality is complicated to write an ebuild for. That is why it is not yet in the Gentoo repo. It is being worked on. The fact that it is complicated to write an ebuild for does NOT mean that "rust is broken". Created attachment 884993 [details] attempted ebuild from IRC From #gentoo-dev-help on IRC: 2024-01-24 07:03:48 mrduartept I created a ebuild to compile mesa with NVK support, test with upstream code it work (besided failing to link libvulkan-radeon.so but that is unrelated to nouveau). 2024-01-24 07:04:22 mrduartept For some reason rust is not detected to compile the 32bit of mesa, meson.log here: http://0x0.st/HGea.txt 2024-01-24 07:04:53 mrduartept ebuild: http://0x0.st/HGeB.0.ebuild 2024-01-24 08:14:11 ztrawhcse the error here appears to be because an x86-64 rust is being used while specifying an x86-64 clang, but the latter has a link arg of -m32 2024-01-24 08:14:27 ztrawhcse rust itself is producing 64-bit output and trying to link with clang -m32 2024-01-24 08:14:51 mrduartept but why clang will not fallback to 32 bit? 2024-01-24 08:14:52 ztrawhcse you'll need to somehow set up rust in cross compile mode in the cross file 2024-01-24 08:15:20 ztrawhcse probably add rustc = ['rustc', '--target', '...'] or something 2024-01-24 08:15:30 mrduartept I know mesa have a flag for that in meson --cross-file lib32 2024-01-24 08:15:53 ztrawhcse sorry, I don't actually use rust so I'm not familiar with the exact routine here It dosent compile because of the cross/native file. The gentoo ini file dosent have rust args included to allow compile 32 bit support (--target="i686-unknow-gnu”). Even if I use the rust args to set the rust compile to use 32bits libraries it still failing, because the x86_64-pkg-config will use 64 bits libaries instead. To solve this you need to use a no multilib profile. You can use my ebuild to check the behavior: https://github.com/MrDuartePT/mrduarte-ebuilds/blob/master/media-libs/mesa/mesa-24.0.0.ebuild Mesa issue: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10490 I think the one way to fix this is to make gentoo use i686-pkg-config when multilib is use in the 32bit phase. But I don’t know if that is really possible to my knowledge. (In reply to Gonçalo Negrier Duarte from comment #6) > It dosent compile because of the cross/native file. > The gentoo ini file dosent have rust args included to allow compile 32 bit > support (--target="i686-unknow-gnu”). > Even if I use the rust args to set the rust compile to use 32bits libraries > it still failing, because the x86_64-pkg-config will use 64 bits libaries > instead. > To solve this you need to use a no multilib profile. > > You can use my ebuild to check the behavior: > https://github.com/MrDuartePT/mrduarte-ebuilds/blob/master/media-libs/mesa/ > mesa-24.0.0.ebuild > > Mesa issue: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10490 > > I think the one way to fix this is to make gentoo use i686-pkg-config when > multilib is use in the 32bit phase. But I don’t know if that is really > possible to my knowledge. Correct. It does not compile in multilib and i am using steam which will conflict with mesa no multilib .If understand this correct , we need --target="i686-unknow-gnu (rust?), some sort of crossbuild like wine with mingw?. i do not have the knowlage on this matter . (In reply to andy from comment #7) > (In reply to Gonçalo Negrier Duarte from comment #6) > > It dosent compile because of the cross/native file. > > The gentoo ini file dosent have rust args included to allow compile 32 bit > > support (--target="i686-unknow-gnu”). > > Even if I use the rust args to set the rust compile to use 32bits libraries > > it still failing, because the x86_64-pkg-config will use 64 bits libaries > > instead. > > To solve this you need to use a no multilib profile. > > > > You can use my ebuild to check the behavior: > > https://github.com/MrDuartePT/mrduarte-ebuilds/blob/master/media-libs/mesa/ > > mesa-24.0.0.ebuild > > > > Mesa issue: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10490 > > > > I think the one way to fix this is to make gentoo use i686-pkg-config when > > multilib is use in the 32bit phase. But I don’t know if that is really > > possible to my knowledge. > > Correct. It does not compile in multilib and i am using steam which will > conflict with mesa no multilib .If understand this correct , we need > --target="i686-unknow-gnu (rust?), some sort of crossbuild like wine with > mingw?. > i do not have the knowlage on this matter . I have done that but pkg-config seems to ignore it and still use the x86_64-unknown-gnu making the meson check fail. Working ebuild in this PR: https://github.com/gentoo/gentoo/pull/35658 |