https://bugs.kde.org/show_bug.cgi?id=382703
Bug ID: 382703 Summary: Compile error with cmake 3.9 Product: digikam Version: 5.6.0 Platform: Other OS: Linux Status: UNCONFIRMED Severity: normal Priority: NOR Component: general Assignee: [hidden email] Reporter: [hidden email] Target Milestone: --- Compiling 5.6.0 release with cmake 3.7.2 is successful, but fails with cmake 3.9: [ 98%] Linking CXX shared library libdigikamdatabase.so ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagemodel.cpp.o: In function `Digikam::ImageModel::ImageModel(QObject*)': imagemodel.cpp:(.text+0x3e): undefined reference to `vtable for Digikam::ImageModel' imagemodel.cpp:(.text+0x4c): undefined reference to `vtable for Digikam::ImageModel' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagemodel.cpp.o: In function `Digikam::ImageModel::~ImageModel()': imagemodel.cpp:(.text+0x1a0): undefined reference to `vtable for Digikam::ImageModel' imagemodel.cpp:(.text+0x1ae): undefined reference to `vtable for Digikam::ImageModel' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagemodel.cpp.o: In function `Digikam::ImageModel::addImageInfosSynchronously(QList<Digikam::ImageInfo> const&, QList<QVariant> const&)': imagemodel.cpp:(.text+0x19db): undefined reference to `Digikam::ImageModel::processAdded(QList<Digikam::ImageInfo> const&, QList<QVariant> const&)' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagemodel.cpp.o: In function `Digikam::ImageModel::appendInfos(QList<Digikam::ImageInfo> const&, QList<QVariant> const&)': imagemodel.cpp:(.text+0x2656): undefined reference to `Digikam::ImageModel::preprocess(QList<Digikam::ImageInfo> const&, QList<QVariant> const&)' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagemodel.cpp.o: In function `Digikam::ImageModel::cleanSituationChecks()': imagemodel.cpp:(.text+0x2ad1): undefined reference to `Digikam::ImageModel::readyForIncrementalRefresh()' imagemodel.cpp:(.text+0x2ae1): undefined reference to `Digikam::ImageModel::allRefreshingFinished()' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagemodel.cpp.o: In function `Digikam::ImageModel::publiciseInfos(QList<Digikam::ImageInfo> const&, QList<QVariant> const&)': imagemodel.cpp:(.text+0x2b9a): undefined reference to `Digikam::ImageModel::imageInfosAboutToBeAdded(QList<Digikam::ImageInfo> const&)' imagemodel.cpp:(.text+0x2d15): undefined reference to `Digikam::ImageModel::imageInfosAdded(QList<Digikam::ImageInfo> const&)' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagemodel.cpp.o: In function `Digikam::ImageModel::requestIncrementalRefresh()': imagemodel.cpp:(.text+0x2d7a): undefined reference to `Digikam::ImageModel::readyForIncrementalRefresh()' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagemodel.cpp.o: In function `Digikam::ImageModel::removeRowPairs(QList<QPair<int, int> > const&)': imagemodel.cpp:(.text+0x36f7): undefined reference to `Digikam::ImageModel::imageInfosAboutToBeRemoved(QList<Digikam::ImageInfo> const&)' imagemodel.cpp:(.text+0x399d): undefined reference to `Digikam::ImageModel::imageInfosRemoved(QList<Digikam::ImageInfo> const&)' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagemodel.cpp.o: In function `Digikam::ImageModel::slotImageChange(Digikam::ImageChangeset const&)': imagemodel.cpp:(.text+0x4a7a): undefined reference to `Digikam::ImageModel::imageChange(Digikam::ImageChangeset const&, QItemSelection const&)' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagemodel.cpp.o: In function `Digikam::ImageModel::slotImageTagChange(Digikam::ImageTagChangeset const&)': imagemodel.cpp:(.text+0x4c5d): undefined reference to `Digikam::ImageModel::imageTagChange(Digikam::ImageTagChangeset const&, QItemSelection const&)' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagemodel.cpp.o: In function `QtPrivate::MetaObjectForType<Digikam::ImageModel*, void>::value()': imagemodel.cpp:(.text._ZN9QtPrivate17MetaObjectForTypeIPN7Digikam10ImageModelEvE5valueEv[_ZN9QtPrivate17MetaObjectForTypeIPN7Digikam10ImageModelEvE5valueEv]+0xf): undefined reference to `Digikam::ImageModel::staticMetaObject' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagemodel.cpp.o: In function `Digikam::ImageModel* qobject_cast<Digikam::ImageModel*>(QObject*)': imagemodel.cpp:(.text._Z12qobject_castIPN7Digikam10ImageModelEET_P7QObject[_Z12qobject_castIPN7Digikam10ImageModelEET_P7QObject]+0x19): undefined reference to `Digikam::ImageModel::staticMetaObject' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagefiltermodel.cpp.o: In function `Digikam::ImageSortFilterModel::ImageSortFilterModel(QObject*)': imagefiltermodel.cpp:(.text+0x26): undefined reference to `vtable for Digikam::ImageSortFilterModel' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagefiltermodel.cpp.o: In function `Digikam::ImageFilterModel::ImageFilterModel(QObject*)': imagefiltermodel.cpp:(.text+0xb90): undefined reference to `vtable for Digikam::ImageFilterModel' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagefiltermodel.cpp.o: In function `Digikam::ImageFilterModel::ImageFilterModel(Digikam::ImageFilterModel::ImageFilterModelPrivate&, QObject*)': imagefiltermodel.cpp:(.text+0xc40): undefined reference to `vtable for Digikam::ImageFilterModel' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagefiltermodel.cpp.o: In function `Digikam::ImageFilterModel::~ImageFilterModel()': imagefiltermodel.cpp:(.text+0xca6): undefined reference to `vtable for Digikam::ImageFilterModel' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagefiltermodel.cpp.o: In function `Digikam::ImageFilterModel::setImageFilterSettings(Digikam::ImageFilterSettings const&)': imagefiltermodel.cpp:(.text+0x19a6): undefined reference to `Digikam::ImageFilterModel::filterSettingsChanged(Digikam::ImageFilterSettings const&)' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagefiltermodel.cpp.o: In function `Digikam::ImageFilterModel::slotRowsInserted(QModelIndex const&, int, int)': imagefiltermodel.cpp:(.text+0x227d): undefined reference to `Digikam::ImageFilterModel::imageInfosAdded(QList<Digikam::ImageInfo> const&)' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagefiltermodel.cpp.o: In function `Digikam::ImageFilterModel::slotRowsAboutToBeRemoved(QModelIndex const&, int, int)': imagefiltermodel.cpp:(.text+0x2385): undefined reference to `Digikam::ImageFilterModel::imageInfosAboutToBeRemoved(QList<Digikam::ImageInfo> const&)' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagefiltermodel.cpp.o: In function `Digikam::ImageFilterModelPreparer::process(Digikam::ImageFilterModelTodoPackage)': imagefiltermodel.cpp:(.text+0x252b): undefined reference to `Digikam::ImageFilterModelWorker::discarded(Digikam::ImageFilterModelTodoPackage const&)' imagefiltermodel.cpp:(.text+0x266b): undefined reference to `Digikam::ImageFilterModelWorker::discarded(Digikam::ImageFilterModelTodoPackage const&)' imagefiltermodel.cpp:(.text+0x27df): undefined reference to `Digikam::ImageFilterModelWorker::processed(Digikam::ImageFilterModelTodoPackage const&)' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagefiltermodel.cpp.o: In function `Digikam::ImageFilterModelFilterer::process(Digikam::ImageFilterModelTodoPackage)': imagefiltermodel.cpp:(.text+0x28cf): undefined reference to `Digikam::ImageFilterModelWorker::discarded(Digikam::ImageFilterModelTodoPackage const&)' imagefiltermodel.cpp:(.text+0x2dfb): undefined reference to `Digikam::ImageFilterModelWorker::processed(Digikam::ImageFilterModelTodoPackage const&)' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagefiltermodel.cpp.o: In function `Digikam::NoDuplicatesImageFilterModel::NoDuplicatesImageFilterModel(QObject*)': imagefiltermodel.cpp:(.text+0x3ee8): undefined reference to `vtable for Digikam::NoDuplicatesImageFilterModel' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagefiltermodel.cpp.o: In function `Digikam::ImageSortFilterModel::~ImageSortFilterModel()': imagefiltermodel.cpp:(.text._ZN7Digikam20ImageSortFilterModelD2Ev[_ZN7Digikam20ImageSortFilterModelD5Ev]+0x13): undefined reference to `vtable for Digikam::ImageSortFilterModel' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagefiltermodel.cpp.o: In function `QtPrivate::MetaObjectForType<Digikam::ImageFilterModel*, void>::value()': imagefiltermodel.cpp:(.text._ZN9QtPrivate17MetaObjectForTypeIPN7Digikam16ImageFilterModelEvE5valueEv[_ZN9QtPrivate17MetaObjectForTypeIPN7Digikam16ImageFilterModelEvE5valueEv]+0xf): undefined reference to `Digikam::ImageFilterModel::staticMetaObject' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagefiltermodelpriv.cpp.o: In function `Digikam::ImageFilterModel::ImageFilterModelPrivate::ImageFilterModelPrivate()': imagefiltermodelpriv.cpp:(.text+0x29): undefined reference to `vtable for Digikam::ImageFilterModel::ImageFilterModelPrivate' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagefiltermodelpriv.cpp.o: In function `Digikam::ImageFilterModel::ImageFilterModelPrivate::~ImageFilterModelPrivate()': imagefiltermodelpriv.cpp:(.text+0x2d0): undefined reference to `vtable for Digikam::ImageFilterModel::ImageFilterModelPrivate' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagefiltermodelpriv.cpp.o: In function `Digikam::ImageFilterModel::ImageFilterModelPrivate::infosToProcess(QList<Digikam::ImageInfo> const&, QList<QVariant> const&, bool)': imagefiltermodelpriv.cpp:(.text+0xca6): undefined reference to `Digikam::ImageFilterModel::ImageFilterModelPrivate::packageToPrepare(Digikam::ImageFilterModelTodoPackage const&)' imagefiltermodelpriv.cpp:(.text+0xcf7): undefined reference to `Digikam::ImageFilterModel::ImageFilterModelPrivate::packageToFilter(Digikam::ImageFilterModelTodoPackage const&)' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagefiltermodelpriv.cpp.o: In function `Digikam::ImageFilterModel::ImageFilterModelPrivate::packageFinished(Digikam::ImageFilterModelTodoPackage const&)': imagefiltermodelpriv.cpp:(.text+0xea4): undefined reference to `Digikam::ImageFilterModel::ImageFilterModelPrivate::reAddImageInfos(QList<Digikam::ImageInfo> const&, QList<QVariant> const&)' imagefiltermodelpriv.cpp:(.text+0xee0): undefined reference to `Digikam::ImageFilterModel::ImageFilterModelPrivate::reAddingFinished()' imagefiltermodelpriv.cpp:(.text+0xf94): undefined reference to `Digikam::ImageFilterModel::filterMatches(bool)' imagefiltermodelpriv.cpp:(.text+0xfb6): undefined reference to `Digikam::ImageFilterModel::filterMatchesForText(bool)' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagefiltermodelpriv.cpp.o: In function `Digikam::ImageFilterModel::ImageFilterModelPrivate::packageDiscarded(Digikam::ImageFilterModelTodoPackage const&)': imagefiltermodelpriv.cpp:(.text+0x10a0): undefined reference to `Digikam::ImageFilterModel::ImageFilterModelPrivate::packageToPrepare(Digikam::ImageFilterModelTodoPackage const&)' imagefiltermodelpriv.cpp:(.text+0x10f9): undefined reference to `Digikam::ImageFilterModel::ImageFilterModelPrivate::packageToFilter(Digikam::ImageFilterModelTodoPackage const&)' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagefiltermodelpriv.cpp.o: In function `Digikam::ImageFilterModelPreparer::ImageFilterModelPreparer(Digikam::ImageFilterModel::ImageFilterModelPrivate*)': imagefiltermodelpriv.cpp:(.text._ZN7Digikam24ImageFilterModelPreparerC2EPNS_16ImageFilterModel23ImageFilterModelPrivateE[_ZN7Digikam24ImageFilterModelPreparerC5EPNS_16ImageFilterModel23ImageFilterModelPrivateE]+0x26): undefined reference to `vtable for Digikam::ImageFilterModelPreparer' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagefiltermodelpriv.cpp.o: In function `Digikam::ImageFilterModelFilterer::ImageFilterModelFilterer(Digikam::ImageFilterModel::ImageFilterModelPrivate*)': imagefiltermodelpriv.cpp:(.text._ZN7Digikam24ImageFilterModelFiltererC2EPNS_16ImageFilterModel23ImageFilterModelPrivateE[_ZN7Digikam24ImageFilterModelFiltererC5EPNS_16ImageFilterModel23ImageFilterModelPrivateE]+0x26): undefined reference to `vtable for Digikam::ImageFilterModelFilterer' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagefiltermodelthreads.cpp.o: In function `Digikam::ImageFilterModelWorker::ImageFilterModelWorker(Digikam::ImageFilterModel::ImageFilterModelPrivate*)': imagefiltermodelthreads.cpp:(.text+0x23): undefined reference to `vtable for Digikam::ImageFilterModelWorker' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagelistmodel.cpp.o: In function `Digikam::ImageListModel::ImageListModel(QObject*)': imagelistmodel.cpp:(.text+0x2a): undefined reference to `vtable for Digikam::ImageListModel' imagelistmodel.cpp:(.text+0x38): undefined reference to `vtable for Digikam::ImageListModel' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagelistmodel.cpp.o: In function `Digikam::ImageListModel::~ImageListModel()': imagelistmodel.cpp:(.text+0xeb): undefined reference to `vtable for Digikam::ImageListModel' imagelistmodel.cpp:(.text+0xf9): undefined reference to `vtable for Digikam::ImageListModel' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagethumbnailmodel.cpp.o: In function `Digikam::ImageThumbnailModel::ImageThumbnailModel(QObject*)': imagethumbnailmodel.cpp:(.text+0x2a): undefined reference to `vtable for Digikam::ImageThumbnailModel' imagethumbnailmodel.cpp:(.text+0x38): undefined reference to `vtable for Digikam::ImageThumbnailModel' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagethumbnailmodel.cpp.o: In function `Digikam::ImageThumbnailModel::~ImageThumbnailModel()': imagethumbnailmodel.cpp:(.text+0xd2): undefined reference to `vtable for Digikam::ImageThumbnailModel' imagethumbnailmodel.cpp:(.text+0xe0): undefined reference to `vtable for Digikam::ImageThumbnailModel' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imagethumbnailmodel.cpp.o: In function `Digikam::ImageThumbnailModel::slotThumbnailLoaded(Digikam::LoadingDescription const&, QPixmap const&)': imagethumbnailmodel.cpp:(.text+0x108b): undefined reference to `Digikam::ImageThumbnailModel::thumbnailFailed(QModelIndex const&, int)' imagethumbnailmodel.cpp:(.text+0x10aa): undefined reference to `Digikam::ImageThumbnailModel::thumbnailAvailable(QModelIndex const&, int)' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imageversionsmodel.cpp.o: In function `Digikam::ImageVersionsModel::ImageVersionsModel(QObject*)': imageversionsmodel.cpp:(.text+0x2a): undefined reference to `vtable for Digikam::ImageVersionsModel' ../models/CMakeFiles/digikamdatabasemodels_src.dir/imageversionsmodel.cpp.o: In function `Digikam::ImageVersionsModel::~ImageVersionsModel()': imageversionsmodel.cpp:(.text+0xbc): undefined reference to `vtable for Digikam::ImageVersionsModel' collect2: error: ld returned 1 exit status make[2]: *** [core/libs/database/CMakeFiles/digikamdatabase.dir/build.make:240: core/libs/database/libdigikamdatabase.so.5.6.0] Error 1 make[1]: *** [CMakeFiles/Makefile2:3064: core/libs/database/CMakeFiles/digikamdatabase.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... -- You are receiving this mail because: You are the assignee for the bug. |
https://bugs.kde.org/show_bug.cgi?id=382703
Adam Stylinski <[hidden email]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[hidden email] --- Comment #1 from Adam Stylinski <[hidden email]> --- I'm seeing similar linking errors errors (missing vtables for Digikam::ImageModel), though it's unclear if it's related to cmake versions. I only have one version of CMake to test. -- You are receiving this mail because: You are the assignee for the bug. |
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=382703
--- Comment #2 from rezso <[hidden email]> --- I tried it: with cmake 3.7.2 the build is successful, with cmake 3.9.0 fails. After downgrading cmake to 3.7.2, I can compile the code without any problems. It seems to me, that cmake 3.9 uses different dependency tracking / linking method than older versions: https://phabricator.kde.org/D6792 -- You are receiving this mail because: You are the assignee for the bug. |
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=382703
--- Comment #3 from Adam Stylinski <[hidden email]> --- Ah, well as another data point I am in fact using CMake 3.9. -- You are receiving this mail because: You are the assignee for the bug. |
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=382703
Rik Mills <[hidden email]> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |CONFIRMED CC| |[hidden email] --- Comment #4 from Rik Mills <[hidden email]> --- My 5.6 rebuild with cmake 3.9 fails in just this way Kubuntu artful development version cmake 3.9 -- You are receiving this mail because: You are the assignee for the bug. |
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=382703
[hidden email] changed: What |Removed |Added ---------------------------------------------------------------------------- Version Fixed In| |5.7.0 Status|CONFIRMED |RESOLVED CC| |[hidden email] Resolution|--- |FIXED Component|general |Portability Latest Commit| |https://cgit.kde.org/digika | |m.git/commit/?id=7e00441c25 | |7e7e9e5dc5ab983fc06046fb72b | |0c5 --- Comment #5 from [hidden email] --- Fixed with current implementation from git/master (next 5.7.0) -- You are receiving this mail because: You are the assignee for the bug. |
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=382703
--- Comment #6 from Rik Mills <[hidden email]> --- (In reply to caulier.gilles from comment #5) > Fixed with current implementation from git/master (next 5.7.0) Can you reference an commit(s) please? For now I will need to apply to 5.6 -- You are receiving this mail because: You are the assignee for the bug. |
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=382703
[hidden email] changed: What |Removed |Added ---------------------------------------------------------------------------- Component|Portability |Bundle-Tarball -- You are receiving this mail because: You are the assignee for the bug. |
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=382703
Simon <[hidden email]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[hidden email] --- Comment #7 from Simon <[hidden email]> --- You can find the commit where it was fixed at the top in the "Latest Commit" field: https://cgit.kde.org/digikam.git/commit/?id=7e00441c257e7e9e5dc5ab983fc06046fb72b0c5 -- You are receiving this mail because: You are the assignee for the bug. |
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=382703
--- Comment #8 from Rik Mills <[hidden email]> --- (In reply to Simon from comment #7) > You can find the commit where it was fixed at the top in the "Latest Commit" > field: > https://cgit.kde.org/digikam.git/commit/ > ?id=7e00441c257e7e9e5dc5ab983fc06046fb72b0c5 I found that. Doesn't seem to apply to the 5.6.0 tarball though. -- You are receiving this mail because: You are the assignee for the bug. |
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=382703
--- Comment #9 from Simon <[hidden email]> --- The patch from that commit applies fine to 5.6.0 here. Did you apply within the core directory? -- You are receiving this mail because: You are the assignee for the bug. |
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=382703
--- Comment #10 from Rik Mills <[hidden email]> --- (In reply to Simon from comment #9) > The patch from that commit applies fine to 5.6.0 here. Did you apply within > the core directory? It seems to. Apologies, I forget the directory layout in the tarball had that extra level. Hopefully this will build. -- You are receiving this mail because: You are the assignee for the bug. |
Free forum by Nabble | Edit this page |