Bug 322289

Summary: kst 2.0.7 with -Dkst_merge_files=1 build is failing with redefined symbols
Product: [Applications] kst Reporter: Orion Poplawski <orion>
Component: packagingAssignee: kst
Status: RESOLVED FIXED    
Severity: normal CC: netterfield
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Orion Poplawski 2013-07-12 18:40:48 UTC
Building kst 2.0.7 on Fedora 19+.  Get:

cd /builddir/build/BUILD/kst-2.0.7/src/libkst && /usr/lib64/ccache/cc  -DBUILD_KSTCORE -DKST_HAV
E_SVN_REVISION_H -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -Dkst2core_EXPORTS -O2 -g -pipe -Wall 
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord
-gcc-switches  -m64 -mtune=generic  -DNDEBUG -fPIC -isystem /usr/include/QtGui -isystem /usr/inc
lude/QtCore -I/builddir/build/BUILD/kst-2.0.7 -I/usr/include/QtDesigner -I/usr/include/QtDeclara
tive -I/usr/include/QtScriptTools -I/usr/include/QtDBus -I/usr/include/QtXml -I/usr/include/QtSq
l -I/usr/include/QtOpenGL -I/usr/include/QtMultimedia -I/usr/include/QtNetwork -I/usr/include/Qt
XmlPatterns -I/usr/include/QtHelp -I/usr/include/QtUiTools -I/usr/include/QtTest -I/usr/include/
QtScript -I/usr/include/QtSvg -I/usr/include/Qt3Support -I/usr/lib64/qt4/mkspecs/default -I/buil
ddir/build/BUILD/kst-2.0.7/src/libkst    -o CMakeFiles/kst2core.dir/psversion.c.o   -c /builddir
/build/BUILD/kst-2.0.7/src/libkst/psversion.c
In file included from /builddir/build/BUILD/kst-2.0.7/src/libkst/merged_const.cpp:508:0:
/builddir/build/BUILD/kst-2.0.7/src/libkst/moc_datasource.cxx:19:48: error: redefinition of 'con
st uint qt_meta_data_Kst__DataSource []'
 static const uint qt_meta_data_Kst__DataSource[] = {
                                                ^
In file included from /builddir/build/BUILD/kst-2.0.7/src/libkst/merged_const.cpp:238:0:
/builddir/build/BUILD/kst-2.0.7/src/libkst/moc_datasource.cxx:19:19: error: 'const uint qt_meta_
data_Kst__DataSource [25]' previously defined here
 static const uint qt_meta_data_Kst__DataSource[] = {
                   ^
....

Looks like moc_datasource.cxx ends up being included twice in merged_const.cpp.  Build succeeds with -Dkst_merge_files=0.

Reproducible: Always
Comment 1 Andrew Crouthamel 2018-11-10 03:18:23 UTC
Dear Bug Submitter,

This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond.

Thank you for helping us make KDE software even better for everyone!
Comment 2 Andrew Crouthamel 2018-11-20 04:08:24 UTC
Dear Bug Submitter,

This is a reminder that this bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? This bug will be moved back to REPORTED Status for manual review later, which may take a while. If you are able to, please lend us a hand.

Thank you for helping us make KDE software even better for everyone!
Comment 3 Netterfield 2018-11-23 13:41:52 UTC
This bug is still a problem, and still needs to be fixed.
Alas, I don't understand CMAKE well enough to tackle it.
Comment 4 Netterfield 2018-11-23 19:37:34 UTC
Git commit c5dddb1cc54d7718ee99c7fe1eeb239ef45e2807 by Barth Netterfield.
Committed on 23/11/2018 at 19:35.
Pushed by netterfield into branch 'master'.

Fix merged build
Fix merged build.
Use merged build in travis build to speed it up.

M  +11   -3    cmake/modules/MergedFilesBuild.cmake
M  +1    -1    cmake/travis-mac.sh
M  +1    -0    cmake/travis.sh
M  +66   -28   devel-docs/BugsAndFeatures
M  +1    -1    src/libkst/vectorfactory.cpp
M  +2    -1    src/libkstapp/mainwindow.cpp
M  +0    -5    src/libkstapp/shortcutdialog.cpp

https://commits.kde.org/kst-plot/c5dddb1cc54d7718ee99c7fe1eeb239ef45e2807