novomesk / qt-jpegxl-image-plugin

Qt plug-in to allow Qt and KDE based applications to read/write JXL images.
GNU General Public License v3.0
91 stars 8 forks source link

Compilation fails #13

Closed seadra closed 3 years ago

seadra commented 3 years ago

Using the AUR package on Arch Linux, compilation fails with the following error

==> Starting build()...
Info: creating stash file /home/seadra/.cache/yay/qt-jpegxl-image-plugin-git/src/qt-jpegxl-image-plugin/.qmake.stash
g++ -c -pipe -D_FORTIFY_SOURCE=2 -march=native -mtune=native -O2 -pipe -fno-plt -std=c++1z -Wall -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -Wno-format-overflow -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -D_REENTRANT -fPIC -DQT_NO_LINKED_LIST -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_GUI_LIB -DQT_CORE_LIB -I. -I/usr/include/qt -I/usr/include/qt/QtGui -I/usr/include/qt/QtCore -I.moc -I/usr/lib/qt/mkspecs/linux-g++ -o .obj/qjpegxlhandler.o src/qjpegxlhandler.cpp
src/qjpegxlhandler.cpp: In member function ‘virtual bool QJpegXLHandler::write(const QImage&)’:
src/qjpegxlhandler.cpp:454:18: error: ‘JxlEncoderSetICCProfile’ was not declared in this scope; did you mean ‘JxlDecoderGetICCProfileSize’?
  454 |         status = JxlEncoderSetICCProfile(encoder, (const uint8_t *)iccprofile.constData(), iccprofile.size());
      |                  ^~~~~~~~~~~~~~~~~~~~~~~
      |                  JxlDecoderGetICCProfileSize
make: *** [Makefile:954: .obj/qjpegxlhandler.o] Error 1
Failed to build libqjpegxl.so
==> ERROR: A failure occurred in build().
    Aborting...
error making: qt-jpegxl-image-plugin-git

libjpeg-xl 0.3.7-1 is installed from AUR as well.

novomesk commented 3 years ago

This is expected. libjxl has to be newer snapshot from git.

novomesk commented 3 years ago

AUR now has libjxl 0.5

I think it should work now.