c-koi/gmic-qt

digikam host build fails in 2.9.3

Closed this issue · 5 comments

/build/gmic/src/gmic-2.9.3/gmic-qt/src/Host/digiKam/gmicqttoolplugin.cpp: In member function ‘void DigikamEditorGmicQtPlugin::GmicQtToolPlugin::slotGmicQt()’:
/build/gmic/src/gmic-2.9.3/gmic-qt/src/Host/digiKam/gmicqttoolplugin.cpp:121:45: error: ‘configuredTranslator’ is not a member of ‘LanguageSelectionWidget’
  121 |     QString lang = LanguageSelectionWidget::configuredTranslator();
      |                                             ^~~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/Editor_GmicQt_Plugin.dir/build.make:1086: CMakeFiles/Editor_GmicQt_Plugin.dir/src/Host/digiKam/gmicqttoolplugin.cpp.o] Error 1

What is your version of Qt ? Here I'm using 5.14.2, and don't have an issue when compiling.
(I get an issue with the digikam host though, but only during the link phase, not sure if it's expected or not).

Using Qt 5.15.1. Not sure how this can work for you, given that the API used here was removed in a73c3ea

I don't know. I've just typed:

$ qmake CONFIG+=debug HOST=digikam
$ make

and it compiles indeed.
I get an error during the link:

/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/Scrt1.o: in function `_start':
(.text+0x24): undefined reference to `main'
/usr/bin/ld: /usr/bin/ld: DWARF error: could not find variable specification at offset 46485
/usr/bin/ld: DWARF error: could not find variable specification at offset 46491
/usr/bin/ld: DWARF error: could not find variable specification at offset 4649d
/usr/bin/ld: DWARF error: could not find variable specification at offset 464a9
/usr/bin/ld: DWARF error: could not find variable specification at offset 464b5
/usr/bin/ld: DWARF error: could not find variable specification at offset 464c1
/usr/bin/ld: DWARF error: could not find variable specification at offset 464cd
/usr/bin/ld: DWARF error: could not find variable specification at offset 464d9
/usr/bin/ld: DWARF error: could not find variable specification at offset 464e5
/usr/bin/ld: DWARF error: could not find variable specification at offset 464f1
/usr/bin/ld: DWARF error: could not find variable specification at offset 46510
/usr/bin/ld: DWARF error: could not find variable specification at offset 4652f
/usr/bin/ld: DWARF error: could not find variable specification at offset 4653c
/usr/bin/ld: DWARF error: could not find variable specification at offset 46549
/usr/bin/ld: DWARF error: could not find variable specification at offset 46556
/usr/bin/ld: DWARF error: could not find variable specification at offset 46562
/usr/bin/ld: DWARF error: could not find variable specification at offset 4656f
.obj/DialogSettings.o: in function `DialogSettings::DialogSettings(QWidget*)':
/home/dtschump/work/src/gmic-qt/src/DialogSettings.cpp:104: undefined reference to `GmicQt::DarkThemeIsDefault'
/usr/bin/ld: .obj/DialogSettings.o: in function `DialogSettings::loadSettings(GmicQt::ApplicationType)':
/home/dtschump/work/src/gmic-qt/src/DialogSettings.cpp:171: undefined reference to `GmicQt::DarkThemeIsDefault'
/usr/bin/ld: /usr/bin/ld: DWARF error: could not find variable specification at offset f5cc
/usr/bin/ld: DWARF error: could not find variable specification at offset f5d8
/usr/bin/ld: DWARF error: could not find variable specification at offset f5e4
/usr/bin/ld: DWARF error: could not find variable specification at offset f5f1
/usr/bin/ld: DWARF error: could not find variable specification at offset f60b
/usr/bin/ld: DWARF error: could not find variable specification at offset f5fe
/usr/bin/ld: DWARF error: could not find variable specification at offset f5b2
/usr/bin/ld: DWARF error: could not find variable specification at offset f5bf
.obj/CroppedImageListProxy.o: in function `CroppedImageListProxy::update(double, double, double, double, GmicQt::InputMode, double)':
/home/dtschump/work/src/gmic-qt/src/CroppedImageListProxy.cpp:60: undefined reference to `gmic_qt_get_cropped_images(cimg_library::CImgList<float>&, cimg_library::CImgList<char>&, double, double, double, double, GmicQt::InputMode)'
/usr/bin/ld: /usr/bin/ld: DWARF error: could not find variable specification at offset 18af2
/usr/bin/ld: DWARF error: could not find variable specification at offset 18afe
/usr/bin/ld: DWARF error: could not find variable specification at offset 18b0a
/usr/bin/ld: DWARF error: could not find variable specification at offset 18b17
/usr/bin/ld: DWARF error: could not find variable specification at offset 18ae5
.obj/CroppedActiveLayerProxy.o: in function `CroppedActiveLayerProxy::update(double, double, double, double)':
/home/dtschump/work/src/gmic-qt/src/CroppedActiveLayerProxy.cpp:69: undefined reference to `gmic_qt_get_cropped_images(cimg_library::CImgList<float>&, cimg_library::CImgList<char>&, double, double, double, double, GmicQt::InputMode)'
/usr/bin/ld: /home/dtschump/work/src/gmic-qt/src/CroppedActiveLayerProxy.cpp:71: undefined reference to `gmic_qt_apply_color_profile(cimg_library::CImg<float>&)'
/usr/bin/ld: .obj/FilterSyncRunner.o: in function `FilterSyncRunner::run()':
/home/dtschump/work/src/gmic-qt/src/FilterSyncRunner.cpp:156: undefined reference to `GmicQt::HostApplicationShortname'
/usr/bin/ld: .obj/FilterThread.o: in function `FilterThread::run()':
/home/dtschump/work/src/gmic-qt/src/FilterThread.cpp:218: undefined reference to `GmicQt::HostApplicationShortname'
/usr/bin/ld: .obj/GmicProcessor.o: in function `GmicProcessor::saveSettings(QSettings&)':
/home/dtschump/work/src/gmic-qt/src/GmicProcessor.cpp:228: undefined reference to `GmicQt::HostApplicationShortname'
/usr/bin/ld: /home/dtschump/work/src/gmic-qt/src/GmicProcessor.cpp:229: undefined reference to `GmicQt::HostApplicationShortname'
/usr/bin/ld: /home/dtschump/work/src/gmic-qt/src/GmicProcessor.cpp:230: undefined reference to `GmicQt::HostApplicationShortname'
/usr/bin/ld: .obj/GmicProcessor.o:/home/dtschump/work/src/gmic-qt/src/GmicProcessor.cpp:231: more undefined references to `GmicQt::HostApplicationShortname' follow
/usr/bin/ld: .obj/GmicProcessor.o: in function `GmicProcessor::onPreviewThreadFinished()':
/home/dtschump/work/src/gmic-qt/src/GmicProcessor.cpp:271: undefined reference to `gmic_qt_apply_color_profile(cimg_library::CImg<float>&)'
/usr/bin/ld: .obj/GmicProcessor.o: in function `GmicProcessor::onApplyThreadFinished()':
/home/dtschump/work/src/gmic-qt/src/GmicProcessor.cpp:301: undefined reference to `GmicQt::HostApplicationName'
/usr/bin/ld: /home/dtschump/work/src/gmic-qt/src/GmicProcessor.cpp:307: undefined reference to `gmic_qt_output_images(cimg_library::CImgList<float>&, cimg_library::CImgList<char> const&, GmicQt::OutputMode, char const*)'
/usr/bin/ld: /home/dtschump/work/src/gmic-qt/src/GmicProcessor.cpp:309: undefined reference to `gmic_qt_output_images(cimg_library::CImgList<float>&, cimg_library::CImgList<char> const&, GmicQt::OutputMode, char const*)'
/usr/bin/ld: .obj/GmicProcessor.o: in function `GmicProcessor::manageSynchonousRunner(FilterSyncRunner&)':
/home/dtschump/work/src/gmic-qt/src/GmicProcessor.cpp:399: undefined reference to `gmic_qt_apply_color_profile(cimg_library::CImg<float>&)'
/usr/bin/ld: .obj/HeadlessProcessor.o: in function `HeadlessProcessor::HeadlessProcessor(QObject*)':
/home/dtschump/work/src/gmic-qt/src/HeadlessProcessor.cpp:75: undefined reference to `GmicQt::HostApplicationShortname'
/usr/bin/ld: /home/dtschump/work/src/gmic-qt/src/HeadlessProcessor.cpp:76: undefined reference to `GmicQt::HostApplicationShortname'
/usr/bin/ld: /home/dtschump/work/src/gmic-qt/src/HeadlessProcessor.cpp:77: undefined reference to `GmicQt::HostApplicationShortname'
/usr/bin/ld: /home/dtschump/work/src/gmic-qt/src/HeadlessProcessor.cpp:79: undefined reference to `GmicQt::HostApplicationShortname'
/usr/bin/ld: /home/dtschump/work/src/gmic-qt/src/HeadlessProcessor.cpp:80: undefined reference to `GmicQt::HostApplicationShortname'
/usr/bin/ld: .obj/HeadlessProcessor.o:/home/dtschump/work/src/gmic-qt/src/HeadlessProcessor.cpp:86: more undefined references to `GmicQt::HostApplicationShortname' follow
/usr/bin/ld: .obj/HeadlessProcessor.o: in function `HeadlessProcessor::startProcessing()':
/home/dtschump/work/src/gmic-qt/src/HeadlessProcessor.cpp:110: undefined reference to `gmic_qt_get_cropped_images(cimg_library::CImgList<float>&, cimg_library::CImgList<char>&, double, double, double, double, GmicQt::InputMode)'
/usr/bin/ld: /home/dtschump/work/src/gmic-qt/src/HeadlessProcessor.cpp:112: undefined reference to `gmic_qt_show_message(char const*)'
/usr/bin/ld: .obj/HeadlessProcessor.o: in function `HeadlessProcessor::onProcessingFinished()':
/home/dtschump/work/src/gmic-qt/src/HeadlessProcessor.cpp:179: undefined reference to `GmicQt::HostApplicationShortname'
/usr/bin/ld: /home/dtschump/work/src/gmic-qt/src/HeadlessProcessor.cpp:181: undefined reference to `GmicQt::HostApplicationShortname'
/usr/bin/ld: /home/dtschump/work/src/gmic-qt/src/HeadlessProcessor.cpp:182: undefined reference to `GmicQt::HostApplicationShortname'
/usr/bin/ld: /home/dtschump/work/src/gmic-qt/src/HeadlessProcessor.cpp:191: undefined reference to `gmic_qt_output_images(cimg_library::CImgList<float>&, cimg_library::CImgList<char> const&, GmicQt::OutputMode, char const*)'
/usr/bin/ld: /usr/bin/ld: DWARF error: could not find variable specification at offset 1528f
/usr/bin/ld: DWARF error: could not find variable specification at offset 1529b
/usr/bin/ld: DWARF error: could not find variable specification at offset 152a7
.obj/LayersExtentProxy.o: in function `LayersExtentProxy::getExtent(GmicQt::InputMode, int&, int&)':
/home/dtschump/work/src/gmic-qt/src/LayersExtentProxy.cpp:44: undefined reference to `gmic_qt_get_layers_extent(int*, int*, GmicQt::InputMode)'
/usr/bin/ld: /usr/bin/ld: DWARF error: could not find variable specification at offset 4c5c3
.obj/MainWindow.o: in function `MainWindow::onStartupFiltersUpdateFinished(int)':
/home/dtschump/work/src/gmic-qt/src/MainWindow.cpp:367: undefined reference to `GmicQt::HostApplicationName'
/usr/bin/ld: .obj/Utils.o: in function `GmicQt::pluginFullName()':
/home/dtschump/work/src/gmic-qt/src/Utils.cpp:97: undefined reference to `GmicQt::HostApplicationName'
/usr/bin/ld: /home/dtschump/work/src/gmic-qt/src/Utils.cpp:97: undefined reference to `GmicQt::HostApplicationName'
/usr/bin/ld: .obj/Utils.o: in function `GmicQt::pluginCodeName()':
/home/dtschump/work/src/gmic-qt/src/Utils.cpp:109: undefined reference to `GmicQt::HostApplicationName'
/usr/bin/ld: /home/dtschump/work/src/gmic-qt/src/Utils.cpp:109: undefined reference to `GmicQt::HostApplicationShortname'
/usr/bin/ld: /usr/bin/ld: DWARF error: could not find variable specification at offset 4e2be
.obj/PreviewWidget.o: in function `PreviewWidget::updateErrorImage()':
/home/dtschump/work/src/gmic-qt/src/Widgets/PreviewWidget.cpp:218: undefined reference to `GmicQt::HostApplicationShortname'
collect2: error: ld returned 1 exit status
make: *** [Makefile:494: gmic_qt] Error 1

but that seems unrelated to your error.

We don't really manage the G'MIC-Qt build for digikam btw, maybe the digikam developer could tell us what happens here.

I don't know. I've just typed:

$ qmake CONFIG+=debug HOST=digikam
$ make

I think that your problem is that digikam is not supported for qmake build, only for cmake, so you're actually building the generic version. At least I don't see any reference to digikam in the pro file.

Ah, that must be it 👍