-
Notifications
You must be signed in to change notification settings - Fork 97
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
sys-boot/grub doesn't recognize sys-fs/fuse when built with LTO under GCC 8.2 #139
Comments
Just curious, did you do a full system rebuild with 8.2.0? |
Yes. Ran (had to skip grub and debug that one after everything else got built) |
I actually have not been able to reproduce this. I have |
Just reproduced it again with binutils 2.31.1. I haven't changed my linker from the default, but another difference between your setup and mine might be the use of the full
|
|
Still occurring after fixing my CXXFLAGS to be equal to my CFLAGS and rebuilding the entire system. Updated my |
Thanks for the detailed post! This line sticks out to me:
I've actually never heard of Otherwise, your setup looks great! The next thing I'll try to do is replicate your exact flags here for those two packages and see if I can reproduce the error, if the above approach doesn't work. |
Thanks! I tried what you recommended, without success. I event tried removing everything from my The presence or absence of My
|
Looking further, I found this Gentoo bug reporting the same missing symbol with libfuse.so when built with LTO: https://bugs.gentoo.org/663518 |
And of course, same symbol in libfuse.so at stake in issue #142 |
I'm able to get over the problem in Trading one problem for another. :) Are you using |
One thing with |
I am indeed using
I'm glad this has been reported upstream too. I think the best option for fuse right now is to leave it as no-lto, and once those issues get sorted out we'll bring it back. |
Interestingly, my system does have this:
It seems there is an |
I think your system is also marking My output for the same (with LTO disabled for fuse):
Quite interesting that you're still managing to compile grub. :) |
By all accounts, it shouldn't be working. The only thing I can think of is this:
It seems to be a compatibility thing. And it also seems that Only other thing I can think of is that I'm using binutils 2.31.1. |
We're both on binutils 2.31.1 now. If we go back to my original report, this could very well be a regression in GCC. Compiling the same fuse ebuild with GCC 8.1.0 with LTO seemed to work. |
Indeed. One more tidbit, found at:
Notably, this symbol is completely absent in fuse 3.x. Probably why it's masked. I went ahead and followed the breadcrumbs: These seem to indicate these are in for backwards compatibility. For some reason, under LTO, these are being omitted. Most recent documentation on symver is here: |
Well, I'm glad that's over with. Going to leave the issue open for hopefully more constructive discussion. |
GCC 8.2.0
binutils 2.30-r3
sys-fs/fuse-2.9.7-r1
sys-boot/grub-2.02-r2
mount
USE flag.src_configure
crashes with the following:In that case, grub's config.log mentions the following:
implying that libfuse.so might be linked incorrectly.
Enforcing
*FLAGS-=-flto*
on sys-fs/fuse solves the build issue.The text was updated successfully, but these errors were encountered: