Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 922520 - media-gfx/krita-5.1.5 error: type ‘StrokeFunction’ violates the C++ One Definition Rule [-Werror=odr]
Summary: media-gfx/krita-5.1.5 error: type ‘StrokeFunction’ violates the C++ One Defin...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: lto
  Show dependency tree
 
Reported: 2024-01-20 06:19 UTC by Arniii
Modified: 2024-02-05 20:26 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log.xz (build.log.xz,140.91 KB, application/x-xz)
2024-01-20 06:21 UTC, Arniii
Details
environment (file_922520.txt,150.62 KB, text/plain)
2024-01-20 06:22 UTC, Arniii
Details
make.conf (file_922520.txt,1.89 KB, text/plain)
2024-01-20 06:23 UTC, Arniii
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Arniii 2024-01-20 06:19:18 UTC
FAILED: plugins/tools/tool_transform2/kritatooltransform.so
: && /usr/bin/x86_64-pc-linux-gnu-g++ -fPIC -O3 -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=30720 -flto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -fno-operator-names -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Werror=init-self -Wvla -Wdate-time -Wsuggest-override -Wlogical-op -fdiagnostics-color=always  -fext-numeric-literals -fexceptions  -Wl,--no-undefined -Wl,--enable-new-dtags -Wl,-O1 -Wl,--as-needed -shared  -o plugins/tools/tool_transform2/kritatooltransform.so plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/kritatooltransform_autogen/mocs_compilation.cpp.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/tool_transform.cc.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/tool_transform_args.cc.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/kis_transform_mask_adapter.cpp.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/kis_animated_transform_parameters.cpp.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/kis_tool_transform.cc.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/kis_tool_transform_config_widget.cpp.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/kis_transform_strategy_base.cpp.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/kis_warp_transform_strategy.cpp.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/kis_cage_transform_strategy.cpp.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/kis_simplified_action_policy_strategy.cpp.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/kis_liquify_transform_strategy.cpp.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/kis_liquify_paint_helper.cpp.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/kis_liquify_paintop.cpp.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/kis_liquify_properties.cpp.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/kis_mesh_transform_strategy.cpp.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/kis_free_transform_strategy.cpp.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/kis_free_transform_strategy_gsl_helpers.cpp.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/kis_perspective_transform_strategy.cpp.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/kis_transform_utils.cpp.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/kis_modify_transform_mask_command.cpp.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/strokes/transform_stroke_strategy.cpp.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/strokes/inplace_transform_stroke_strategy.cpp.o plugins/tools/tool_transform2/CMakeFiles/kritatooltransform.dir/qrc_tool_transform.cpp.o  -Wl,-rpath,/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5_build/libs/ui:/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5_build/libs/impex:/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5_build/libs/color:/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5_build/libs/color/colord:/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5_build/libs/brush:/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5_build/libs/image:/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5_build/libs/psdutils:/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5_build/libs/metadata:/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5_build/libs/widgets:/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5_build/libs/flake:/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5_build/libs/pigment:/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5_build/libs/command:/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5_build/libs/resourcewidgets:/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5_build/libs/widgetutils:/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5_build/libs/resources:/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5_build/libs/koplugin:/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5_build/libs/store:/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5_build/libs/global:/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5_build/libs/version:  libs/ui/libkritaui.so.18.0.0  /usr/lib64/libgsl.so  /usr/lib64/libgslcblas.so  /usr/lib64/libQt5Network.so.5.15.11  libs/impex/libkritaimpex.so.18.0.0  libs/color/libkritacolor.so.18.0.0  libs/color/colord/libkritacolord.so.18.0.0  libs/brush/libkritalibbrush.so.18.0.0  libs/image/libkritaimage.so.18.0.0  libs/psdutils/libkritapsdutils.so.18.0.0  libs/metadata/libkritametadata.so.18.0.0  /usr/lib64/libboost_system.so.1.82.0  libs/widgets/libkritawidgets.so.18.0.0  /usr/lib64/libKF5Completion.so.5.113.0  libs/flake/libkritaflake.so.18.0.0  libs/pigment/libkritapigment.so.18.0.0  libs/command/libkritacommand.so.18.0.0  /usr/lib64/libQt5Svg.so.5.15.11  libs/resourcewidgets/libkritaresourcewidgets.so.18.0.0  libs/widgetutils/libkritawidgetutils.so.18.0.0  /usr/lib64/libKF5ItemViews.so.5.113.0  /usr/lib64/libQt5PrintSupport.so.5.15.11  /usr/lib64/libKF5ConfigGui.so.5.113.0  /usr/lib64/libKF5GuiAddons.so.5.113.0  /usr/lib64/libKF5WidgetsAddons.so.5.113.0  libs/resources/libkritaresources.so.18.0.0  /usr/lib64/libQt5Sql.so.5.15.11  libs/koplugin/libkritaplugin.so.18.0.0  /usr/lib64/libKF5CoreAddons.so.5.113.0  libs/store/libkritastore.so.18.0.0  libs/global/libkritaglobal.so.18.0.0  /usr/lib64/libgsl.so  /usr/lib64/libgslcblas.so  /usr/lib64/libKF5I18n.so.5.113.0  libs/version/libkritaversion.so.18.0.0  /usr/lib64/libQt5Widgets.so.5.15.11  /usr/lib64/libQt5Concurrent.so.5.15.11  /usr/lib64/libKF5ConfigCore.so.5.113.0  /usr/lib64/libQt5DBus.so.5.15.11  /usr/lib64/libQt5Xml.so.5.15.11  /usr/lib64/libpng.so  -lz  /usr/lib64/libXi.so  -ldl  /usr/lib64/libQt5X11Extras.so.5.15.11  /usr/lib64/libQt5Gui.so.5.15.11  /usr/lib64/libQt5Core.so.5.15.11  /usr/lib64/libSM.so  /usr/lib64/libICE.so  /usr/lib64/libX11.so  /usr/lib64/libXext.so && :
/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5/plugins/tools/tool_transform2/kis_free_transform_strategy.cpp:26:6: error: type ‘StrokeFunction’ violates the C++ One Definition Rule [-Werror=odr]
   26 | enum StrokeFunction {
      |      ^
/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5/plugins/tools/tool_transform2/kis_perspective_transform_strategy.cpp:27:6: note: an enum with different value name is defined in another translation unit
   27 | enum StrokeFunction {
      |      ^
/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5/plugins/tools/tool_transform2/kis_free_transform_strategy.cpp:27:5: note: name ‘ROTATE’ differs from name ‘DRAG_HANDLE’ defined in another translation unit
   27 |     ROTATE = 0,
      |     ^
/var/tmp/portage/media-gfx/krita-5.1.5/work/krita-5.1.5/plugins/tools/tool_transform2/kis_perspective_transform_strategy.cpp:28:5: note: mismatching definition
   28 |     DRAG_HANDLE = 0,
      |     ^
lto1: some warnings being treated as errors
lto-wrapper: fatal error: /usr/bin/x86_64-pc-linux-gnu-g++ returned 1 exit status
compilation terminated.
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status


Reproducible: Always
Comment 1 Arniii 2024-01-20 06:21:27 UTC
Created attachment 882669 [details]
build.log.xz
Comment 2 Arniii 2024-01-20 06:22:33 UTC
Created attachment 882670 [details]
environment
Comment 3 Arniii 2024-01-20 06:23:12 UTC
Created attachment 882671 [details]
make.conf
Comment 4 Greg Kubaryk 2024-01-20 08:17:07 UTC
This seems like more of an upstream thing?
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-01-20 08:24:37 UTC
It is, but we need to filter LTO in the meantime.
Comment 6 Erik Quaeghebeur 2024-01-30 06:38:56 UTC
I can confirm this issue.
Comment 7 Erik Quaeghebeur 2024-01-30 06:49:25 UTC
Reported upstream: https://bugs.kde.org/show_bug.cgi?id=480520
Comment 8 Larry the Git Cow gentoo-dev 2024-02-05 20:26:44 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=89c10a643b2a5c5de926b94dddbd124d69b492b8

commit 89c10a643b2a5c5de926b94dddbd124d69b492b8
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2024-02-05 20:25:32 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2024-02-05 20:26:18 +0000

    media-gfx/krita: Fix build w/ LTO
    
    Closes: https://bugs.gentoo.org/922520
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 media-gfx/krita/files/krita-5.1.5-lto.patch | 58 +++++++++++++++++++++++++++++
 media-gfx/krita/krita-5.1.5.ebuild          |  1 +
 2 files changed, 59 insertions(+)