c-koi/gmic-qt

Compile Error

dafrasaga opened this issue · 7 comments

Hi All,
I downloaded last git version of gmic and gmic-qt and typed

git clone https://github.com/dtschump/gmic.git
git clone https://github.com/c-koi/gmic-qt.git
make -C gmic/src CImg.h gmic_stdlib.h
cd gmic-qt

mkdir build
cd build

cmake .. -DGMIC_QT_HOST=gimp -DGMIC_PATH=/root/git/gmic/src/ -DCMAKE_BUILD_TYPE=Release
make -j5

but I had:

`-- Using CMake version: 3.15.2
Building for target host application: gimp
G'MIC path: /root/git/gmic/src/
Found G'MIC repository
Found /root/git/gmic/src//CImg.h
Found /root/git/gmic/src//gmic_stdlib.h
CImg version is [270]
G'MIC version is [270]
-- Found FFTW3
-- FFTW Found Version:
-- Found OpenMP_C: -fopenmp
-- Found OpenMP_CXX: -fopenmp
-- Found OpenMP: TRUE
G'Mic: using OpenMP
Release build
-- The following OPTIONAL packages have been found:

  • CURL
  • OpenMP, A low-level parallel execution library, http://openmp.org/wp/
    Optionally used by gmic-qt
  • X11

-- The following REQUIRED packages have been found:

  • Qt5Core
  • Qt5Gui
  • Qt5Widgets
  • Qt5Network
  • Qt5 (required version >= 5.2.0)
  • Qt5LinguistTools
  • PNG
  • ZLIB
  • FFTW3

-- Configuring done
**CMake Error at CMakeLists.txt:483 (add_executable):
Cannot find source file:

src/FilterParameters/CustomDoubleSpinbox.h**

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
.hpp .hxx .in .txx

-- Generating done
CMake Generate step failed. Build files cannot be regenerated correctly.
`
Can you help me ??

c-koi commented

Fixed by d28db72

Hi c-koi it worked bu now it doesn't compile:

/usr/bin/ld: CMakeFiles/gmic_gimp_qt.dir/src/FilterSelector/FiltersModelReader.cpp.o: in function _GLOBAL__sub_I_FiltersModelReader.cpp':
FiltersModelReader.cpp:(.text.startup+0x2f): undefined reference to fftw_init_threads' /usr/bin/ld: CMakeFiles/gmic_gimp_qt.dir/src/CroppedImageListProxy.cpp.o: in function _GLOBAL__sub_I_CroppedImageListProxy.cpp':
CroppedImageListProxy.cpp:(.text.startup+0x2b): undefined reference to fftw_init_threads' /usr/bin/ld: CMakeFiles/gmic_gimp_qt.dir/src/CroppedActiveLayerProxy.cpp.o: in function _GLOBAL__sub_I_CroppedActiveLayerProxy.cpp':
CroppedActiveLayerProxy.cpp:(.text.startup+0x2b): undefined reference to fftw_init_threads' /usr/bin/ld: CMakeFiles/gmic_gimp_qt.dir/src/FilterSyncRunner.cpp.o: in function _GLOBAL__sub_I_FilterSyncRunner.cpp':
FilterSyncRunner.cpp:(.text.startup+0x2f): undefined reference to fftw_init_threads' /usr/bin/ld: CMakeFiles/gmic_gimp_qt.dir/src/FilterThread.cpp.o: in function _GLOBAL__sub_I_FilterThread.cpp':
FilterThread.cpp:(.text.startup+0x2f): undefined reference to fftw_init_threads' /usr/bin/ld: CMakeFiles/gmic_gimp_qt.dir/src/gmic_qt.cpp.o:gmic_qt.cpp:(.text.startup+0x2f): more undefined references to fftw_init_threads' follow
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/gmic_gimp_qt.dir/build.make:1257: gmic_gimp_qt] Error 1
make[1]: *** [CMakeFiles/Makefile2:77: CMakeFiles/gmic_gimp_qt.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
`
Do you understand what is occurred?

I suspect this is related to a missing -lfftw3_threads that should be added.
This thing is a bit annoying, because not all systems define a separate library for supporting FFTW threads (sometimes, fftw-threads are just a part of the compiled libfftw, as on Windows).

Hi David,
as a simple user as I am do you advice something??
Who would add -lfftw3_threads and where ?

@dafrasaga , don't worry, I think this should be fixed by @c-koi soon.
I had lunch with him today and we talked about this issue :)

c-koi commented

Should be fixed by 9e98ec8

Hi c-koi,
thanks thanks thanks.
It worked!!
It's as in this moments I like FOSS.