Created attachment 889475 [details] build log hi, testing plasma 6 on a laptop, using gentoo repository unmasked using kde overlay keywords from /var/db/repos/kde/Documentation/package.accept_keywords/kde-frameworks-6.0.keywords /var/db/repos/kde/Documentation/package.accept_keywords/kde-plasma-6.0.keywords /var/db/repos/kde/Documentation/package.accept_keywords/kde-gear-24.02.keywords added -kf6compat /etc/portage/profile/use.mask kf6compat to global use I can't get past kde-plasma/plasma-workspace-6.0.3
Created attachment 889476 [details] emerge --info
I had done an emerge -pvuND @ world prior attempting to test plasma6. I had plasma 5 emerge @world fail when trying to emerge plasma-workspace. emerge -pvq =kde-plasma/plasma-workspace-6.0.3::gentoo [ebuild NS ] kde-plasma/plasma-workspace-6.0.3 [5.27.11] USE="calendar fontconfig (policykit) semantic-desktop wallpaper-metadata -appstream -debug -geolocation -gps -handbook -screencast* -systemd% -telemetry -test" [blocks B ] kde-plasma/plasma-workspace:5 ("kde-plasma/plasma-workspace:5" is soft blocking kde-plasma/plasma-workspace-6.0.3) [blocks B ] kde-plasma/libkworkspace:5 ("kde-plasma/libkworkspace:5" is soft blocking kde-plasma/plasma-workspace-6.0.3) * Error: The above package list contains packages which cannot be * installed at the same time on the same system. (kde-plasma/plasma-workspace-5.27.11:5/5::gentoo, installed) pulled in by >=kde-plasma/plasma-workspace-5.27.11:5 required by (kde-plasma/plasma-meta-5.27.11:5/5::gentoo, installed) USE="bluetooth browser-integration crash-handler crypt cups desktop-portal display-manager elogind grub gtk kwallet legacy-systray networkmanager pulseaudio sddm smart wallpapers -accessibility -colord -discover (-firewall) -flatpak -handbook -plymouth -sdk -systemd -thunderbolt" ABI_X86="(64)" >=kde-plasma/plasma-workspace-5.27.11:5 required by (kde-plasma/plasma-browser-integration-5.27.11:5/5::gentoo, installed) USE="-debug" ABI_X86="(64)" >=kde-plasma/plasma-workspace-5.27.11:5[screencast?] (>=kde-plasma/plasma-workspace-5.27.11:5[screencast]) required by (kde-plasma/plasma-desktop-5.27.11:5/5::gentoo, installed) USE="kaccounts screencast semantic-desktop -debug -handbook -ibus -scim -test" ABI_X86="(64)" (kde-plasma/plasma-workspace-6.0.3:6/6::gentoo, ebuild scheduled for merge) pulled in by kde-plasma/plasma-workspace required by (virtual/notification-daemon-0:0/0::gentoo, installed) USE="kde -gnome" ABI_X86="(64)" =kde-plasma/plasma-workspace-6.0.3::gentoo (kde-plasma/libkworkspace-5.27.11:5/5::gentoo, installed) pulled in by >=kde-plasma/libkworkspace-5.27.11:5 required by (kde-plasma/khotkeys-5.27.11:5/5::gentoo, installed) USE="-debug -handbook" ABI_X86="(64)" >=kde-plasma/libkworkspace-5.27.11:5 required by (kde-plasma/plasma-desktop-5.27.11:5/5::gentoo, installed) USE="kaccounts screencast semantic-desktop -debug -handbook -ibus -scim -test" ABI_X86="(64)" >=kde-plasma/libkworkspace-5.27.11:5 required by (kde-plasma/powerdevil-5.27.11:5/5::gentoo, installed) USE="brightness-control wireless -caps -debug -handbook" ABI_X86="(64)" >=kde-plasma/libkworkspace-5.27.11:5 required by (kde-plasma/plasma-workspace-5.27.11:5/5::gentoo, installed) USE="calendar fontconfig (policykit) screencast semantic-desktop wallpaper-metadata -appstream -debug -geolocation -gps -handbook -telemetry -test" ABI_X86="(64)"
I wonder how I can have this; In file included from [01m[K/usr/include/qt6/QtWaylandClient/QWaylandClientExtension:1[m[K, from [01m[K/home/data/portagebuild/portage/kde-plasma/plasma-workspace-6.0.3/work/plasma-workspace-6.0.3/libkworkspace/outputorderwatcher.cpp K/usr ? K/home/ ?
Hint: > 57 | if constexpr (destruct != nullptr) { > | ~~~~~~~~~^~~~~~~~~~
Please don't use options like -fno-delete-null-pointer-checks unless you're comfortable at least starting to debug failures that result (and able to identify they're related). Now, as for the actual issue: this is curious because I wouldn't expect -fno-delete-null-pointer-checks to work like this, but I'm not an expert on how constexpr is evaluated. Arsen?
Many thanks to Andreas Sturmlechner and Sam James I removed the -fno-delete-null-pointer-checks and -mabm so compile fine now. I can not find a valid reason why I did put that here (quite anold set-up). As it's not something I should do.
(In reply to Sam James from comment #5) > Please don't use options like -fno-delete-null-pointer-checks unless you're > comfortable at least starting to debug failures that result (and able to > identify they're related). > > Now, as for the actual issue: this is curious because I wouldn't expect > -fno-delete-null-pointer-checks to work like this, but I'm not an expert on > how constexpr is evaluated. Arsen? hmm, this is odd, that value should be constexpr I think (given that its a template parameter and that it seems to be a function pointer). a preprocessed unit would be nice because I couldn't hand-craft a reproducer
jms, could you run the failing gcc command manually in the build Dir but append -save-temps? Then upload outputorderwatcher.ii
Created attachment 890489 [details] from portagebuild/portage/kde-plasma/plasma-workspace-6.0.3/work/plasma-workspace-6.0.3/libkworkspace
Created attachment 890490 [details] from portagebuild/portage/kde-plasma/plasma-workspace-6.0.3/work/plasma-workspace-6.0.3/libkworkspace
Hi, I changed in make.conf CFLAGS to: CFLAGS="-march=skylake -O2 -pipe -fno-delete-null-pointer-checks -mabm -save-temps" then did emerge -v1 =kde-plasma/plasma-workspace-6.0.3 and uploaded here files outputorderwatcher.cpp outputorderwatcher.h found in portagebuild/portage/kde-plasma/plasma-workspace-6.0.3/work/plasma-workspace-6.0.3/libkworkspace/ Will that do? Otherwise I am afraid you will have to be a bit more specific in your instructions. the only experience I had of gcc was to try compiling a hello world ages ago...
I think the .i may be in portagebuild/portage/kde-plasma/plasma-workspace-6.0.3_build?
Created attachment 890492 [details] outputorderwatcher.cpp.ii found in portagebuild/portage/kde-plasma/plasma-workspace-6.0.3/work/plasma-workspace-6.0.3_build/libkworkspace/CMakeFiles/kworkspace.dir/
thanks. minimal reproducer: template<auto foo = nullptr> void f() { if constexpr (foo != nullptr); } struct some_class { void member(); }; void g() { f<&some_class::member>(); }
seems to be https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100313 (thanks, andrew :-) )