-
Notifications
You must be signed in to change notification settings - Fork 96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Portageq depreciated, causes warnings while building anything #883
Comments
It will be fatal in the next portage release gentoo/portage@76a7c3c |
Yeah, I got my system broken today after a regular upgrade. Portage was upgraded to 3.0.54 and doesn't work anymore! |
how to solve this problem? |
I had to I think I'm gonna try to work around this next week or in a few, as right now I am unable to. 1 Currently mine doesn't have a lot of changes but I wouldn't recommend using it on production systems. |
GentooLTO is practically dead, either stop using it and manage over rides manually or fork GentooLTO to fix uses of portageq in the portage hooks. To actually fix ltoize would either find some non banned way to find out repository paths (I doubt it) or change the way patches are available in the repo. With the second options I think you could a package package which contains the patches and could be installed into a proper location. It just means you would have to start making releases so that it gets updated for people in addition to just syncing the repo. Just spit balling with the later. https://projects.gentoo.org/pms/8/pms.html#x1-157000B I'm personally not invested in GentooLTO as I stopped using it a long time ago and instead having managing package.env and /e/p/patches for all the problem packages. If someone were to fork it Id advocate removing the haphazard filter-flag removal. Some packages actually need it and its breaking stuff for no reason (binutils rebuilds when LTO version changes). |
I just edited the |
Could you somehow share your collection of package.env settings and patches? |
This comment was marked as off-topic.
This comment was marked as off-topic.
Welp, I have |
I actually did the same: just hard-coded the path. I feel it's a dirty and ugly hack but nevertheless my portage works again. |
What path did it return? Can you post the change? |
Path to the |
Check with So the line in my case would be Have fun! |
Another workaround is to change |
Please close https://bugs.gentoo.org/916287, when fixed |
This overlay has been dropped from the gentoo overlays. Which is expected, I guess. |
You can also replace the offending line with this:
Which is a bit more generic than using the absolute path |
portageq seems to be removed soon. Then it would stop working again... |
This seems like a temporary workaround, still hacking on with portageq. |
Where are you getting that |
These are used in ebuild hooks so they are in ebuild scope. |
It's only banned within ebuild scope because it's temporarily overridden via |
No, it's banned because you shouldn't call
|
It's not really relevant nowadays anyway, given for some time now, we've tried to handle this in ::gentoo. See e.g. https://wiki.gentoo.org/wiki/Project:Toolchain/LTO. |
|
The other flags it adds shouldn't really be passed unconditionally at all. |
Well, that's for users to decide. |
Not sure where I've said anything that indicates you can't decide. But going against even GCC's advice on things like |
It's also for users to decide whether they want their system to work properly :). Just because you can use various dubious optimizations doesn't mean you should or that you'll get any support for it. |
My system works properly.
But I want to.
I don't ask anybody for support. |
And yet you're interjecting here when I just responded to someone talking about LTO demands. |
And? |
Thank you for you contribution. It's embraced and valued. Can I send everyone that continues to have issues due to this overlay to you? |
I've done some work to move away from gentooLTO and I thought others might benefit from the details, so here they are: First, modify your CFLAGS to use the relevant flags directly. Next, run this one liner to find the intersection of packages installed on your system, and packages configured by gentooLTO:
On zsh you can use Then, go through each package on a semi-individual basis to see if the workaround is still necessary. Spoiler: The vast majority of them are not. The workarounds in the "Packages which cannot be built with LTO at all", ICE, libtool hack, test failure and undefined symbol categories are easy enough to verify. If it's not clear from the comments, you'll have to go through the issue tracker or use Here are the workarounds I removed (I'm running on an unstable system, so YMMV. Some of these workarounds might still be relevant for stable.):
I was fairly conservative and only removed a workaround if the relevant flag was already being filtered in the corresponding ebuild (or an inherited eclass; cargo.eclass filters out LTO and xorg-3.eclass filters out These are the ones that I could directly verify are still relevant for me:
And these are the ones I kept just in case, or because I didn't want to bother investigating.
BTW: At this point, I have no workarounds from Now, you can remove the As for the patches applied by |
@neeshy Please do file any bugs for issues on bugs.gentoo.org you do hit that remain as well, although it sounds like there won't be many of those. Thanks! |
@neeshy can you explain better how you did it, to remove the overlai-lto?
what does your make.conf look like? |
No, the workarounds that you listed are the ones that I removed. Here's my current
And my CFLAGS
EDIT: Removed some more workarounds. Couldn't reproduce the mesa vulkan segfault with |
@neeshy in case you have an account on https://wiki.gentoo.org would you mind putting your findings there so we could refer people to that? |
@neeshy and LDFLAGS
are they for your specific CPU, or are they good for Intel or amd indifferently? |
I wouldn't really have anything relevant to say on the wiki since this is all very gentooLTO specific. I will create a new issue to increase visibility though. The only flag that's architecture specific is |
@neeshy
PLEASE report this to bugs.gentoo.org, and upstream if applicable. ICEs are serious errors that the Gentoo devs need to know about.
Does the glibc ebuild not already filter this? Glibc generally should filter almost all CFLAGS since it's so sensitive.
I've never had issues with dxvk (or anything) and relro/znow, albeit I use clang.
You don't actually need
I still think these are overzealous, but to each their own. I'd recommend not using Generally, also please report any issues with the more sane CFLAGS ( |
it does but this exists https://github.com/InBetweenNames/gentooLTO/blob/master/sys-config/ltoize/metadata.xml#L16 |
Yes, but nobody should be using that, nor should it have been made in the first place. Flag-o-matic exists for a reason. |
Should be fixed in 21d2ba4 , there doesn't seem to be a clean way to do it. Also, a reminder to please keep conversations on topic. This bug is about portageq, not supported GentooLTO flags. |
OK, done: https://bugs.gentoo.org/916455
Seems like this is a known bug upstream: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100010
Oh, you're right. I wasn't searching for
It's due to mingw's linker not respecting
Very true. Gotta go fast :^) I'll have to revisit these as well. Apologies, I figured this was the best place to post my text wall. As a side note, thank you for maintaining this repo over the years. |
@InBetweenNames, the news item says that
(emphasis mine) I don't have this USE flag set, but any package I try to build fails with an error:
|
Ah yeah, I probably overlooked something. No matter, the error tells you what you need to know. I'll accept a PR to fix it if anyone is interested. |
It seems like there's still some need for a bunch of package.env overrides like @neeshy is posting above, so there's still a purpose to have a thing like gentooLTO around, no? |
I've since gone through even more overrides and determined that most of them aren't needed. Here's my current
|
This removes the workarounds verified by neeshy to be unnecessary. See neeshy's comments reference in the below issue for more context. Refs: InBetweenNames#883 Signed-off-by: Jaremy Hatler <hatler.jaremy@gmail.com>
See gentoo/portage@ab538e7
Used in
gentooLTO/sys-config/ltoize/files/bashrc.d/41-lto-patch.sh
Line 21 in a24c46a
The text was updated successfully, but these errors were encountered: