Commits on Nov 20, 2025
Save my place,
Commits on Nov 18, 2025
Update to May 17th upstream commit.
Update to May 14th upstream commit.
Update to May 12th upstream commit.
Update to May 11th upstream commit.
Update to May 10th upstream commit.
Update to May 2nd upstream commit.
Update to May 1st upstream commit.
Update to April 28th upstream commit.
Update to April 27th upstream commit.
Update to April 7th upstream commit.
Update to March 17th upstream commit.
Update to March 7th upstream commit.
Update to March 4th upstream commit.
Update to Feb 26th upstream commit.
I once wrote in a blog post:
The error told us that it couldn't find the directory for the includes, so perhaps we need to be more explicit or modify the src/CMakeLists.txt file in work/flameshot. After no progress with plenty of effort, I decided to patch a file and this got the build process going a bit farther forward but still quit with errors.
root@ichigo:/home/tigersharke/flameshot-dev # cat files/patch-src_CMakeLists.txt
--- src/CMakeLists.txt.orig 2025-11-21 21:00:13 UTC
+++ src/CMakeLists.txt
@@ -226,7 +226,7 @@ target_link_libraries(
Qt${QT_VERSION_MAJOR}::Svg
Qt${QT_VERSION_MAJOR}::Network
Qt${QT_VERSION_MAJOR}::Widgets
- QtColorWidgets
+ /usr/local/include/QtColorWidgets
)
if (UNIX)
target_link_libraries(
I succeeded to get cmake to finally find the QtColorWidgets but now it seems like it still isn't what is expected because some things are different or missing.
slations/Internationalization_zh_HK.qm && cd /home/tigersharke/flameshot-dev/work/.build/src && /usr/local/bin/cmake -E copy /home/tigersharke/flameshot-dev/work/.build/src/Internationalization_zh_TW.qm /home/tigersharke/flameshot-dev/work/.build/src/translations/Internationalization_zh_TW.qm ld: error: undefined symbol: color_widgets::ColorWheel::ColorWheel(QWidget*) >>> referenced by colorpickereditor.cpp >>> src/CMakeFiles/flameshot.dir/config/colorpickereditor.cpp.o:(ColorPickerEditor::ColorPickerEditor(QWidget*)) >>> referenced by sidepanelwidget.cpp >>> src/CMakeFiles/flameshot.dir/widgets/panel/sidepanelwidget.cpp.o:(SidePanelWidget::SidePanelWidget(QPixmap*, QWidget*)) >>> referenced by uicoloreditor.cpp >>> src/CMakeFiles/flameshot.dir/config/uicoloreditor.cpp.o:(UIcolorEditor::initColorWheel()) ld: error: undefined symbol: color_widgets::ColorWheel::setColor(QColor) >>> referenced by colorpickereditor.cpp >>> src/CMakeFiles/flameshot.dir/config/colorpickereditor.cpp.o:(ColorPickerEditor::ColorPickerEditor(QWidget*)) >>> referenced by sidepanelwidget.cpp >>> src/CMakeFiles/flameshot.dir/widgets/panel/sidepanelwidget.cpp.o:(SidePanelWidget::SidePanelWidget(QPixmap*, QWidget*)) >>> referenced by sidepanelwidget.cpp >>> src/CMakeFiles/flameshot.dir/widgets/panel/sidepanelwidget.cpp.o:(SidePanelWidget::onColorChanged(QColor const&)) >>> referenced 4 more times ld: error: undefined symbol: color_widgets::ColorWheel::colorSelected(QColor) >>> referenced by colorpickereditor.cpp >>> src/CMakeFiles/flameshot.dir/config/colorpickereditor.cpp.o:(ColorPickerEditor::ColorPickerEditor(QWidget*)) >>> referenced by sidepanelwidget.cpp >>> src/CMakeFiles/flameshot.dir/widgets/panel/sidepanelwidget.cpp.o:(SidePanelWidget::SidePanelWidget(QPixmap*, QWidget*)) >>> referenced by uicoloreditor.cpp >>> src/CMakeFiles/flameshot.dir/config/uicoloreditor.cpp.o:(UIcolorEditor::initColorWheel()) ld: error: undefined symbol: color_widgets::ColorWheel::staticMetaObject >>> referenced by colorpickereditor.cpp >>> src/CMakeFiles/flameshot.dir/config/colorpickereditor.cpp.o:(ColorPickerEditor::ColorPickerEditor(QWidget*)) >>> referenced by sidepanelwidget.cpp >>> src/CMakeFiles/flameshot.dir/widgets/panel/sidepanelwidget.cpp.o:(SidePanelWidget::SidePanelWidget(QPixmap*, QWidget*)) >>> referenced by uicoloreditor.cpp >>> src/CMakeFiles/flameshot.dir/config/uicoloreditor.cpp.o:(UIcolorEditor::initColorWheel()) ld: error: undefined symbol: color_widgets::ColorWheel::colorChanged(QColor) >>> referenced by uicoloreditor.cpp >>> src/CMakeFiles/flameshot.dir/config/uicoloreditor.cpp.o:(UIcolorEditor::initColorWheel()) c++: error: linker command failed with exit code 1 (use -v to see invocation) ninja: build stopped: subcommand failed. ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** Error code 1 Stop. make: stopped making "install" in /home/tigersharke/flameshot-dev
I should not have needed to patch the file to convince cmake to find QtColorWidgets but even this was not entirely successful. Something seems strange with this project. Does it use Qt5 or Qt6 and does a mish mosh of the two affect how everything fits together? How do I manipulate all of this to make a nice smooth build? Since I am making only limited progress and possibly making a few missteps that may be temporary improvements, I'll try another method.
...
Now to the present, quite a while later, though not like I didn't frequently look at the git repos since then somewhat longingly for closure.
This whole process was set aside, put on hold. I couldn't at the time figure it out. I am not sure if something in the
The error output above was due to my patch file that added an include directory instead of a library, but now it is corrected.
root@ichigo:/home/tigersharke/GitRepos/flameshot-dev # cat files/patch-src_CMakeLists.txt
--- src/CMakeLists.txt.orig 2025-11-21 21:00:13 UTC
+++ src/CMakeLists.txt
@@ -226,7 +226,7 @@ target_link_libraries(
Qt${QT_VERSION_MAJOR}::Svg
Qt${QT_VERSION_MAJOR}::Network
Qt${QT_VERSION_MAJOR}::Widgets
- QtColorWidgets
+ /usr/local/lib/libQtColorWidgets-Qt52.so
)
if (UNIX)
target_link_libraries(
When I am searching for dependencies, I can go to
root@ichigo:/home/tigersharke/GitRepos/flameshot-dev # pkg info x11-toolkits/color-widgets-qt5
color-widgets-qt5-2.2.0
Name : color-widgets-qt5
Version : 2.2.0
Installed on : Sun Apr 12 20:03:27 2026 CDT
Origin : x11-toolkits/color-widgets-qt5
Architecture : FreeBSD:15:amd64
Prefix : /usr/local
Categories : x11-toolkits
Licenses : LGPL3
Maintainer : yuri@FreeBSD.org
WWW : https://gitlab.com/mattia.basaglia/Qt-Color-Widgets
Comment : Qt (C++) widgets to manage color inputs
Shared Libs required:
libQt5Core.so.5
libQt5Gui.so.5
libQt5Widgets.so.5
libc++.so.1
libc.so.7
libcxxrt.so.1
libgcc_s.so.1
libm.so.5
Shared Libs provided:
libQtColorWidgets-Qt52.so.2
Annotations :
FreeBSD_version: 1500507
Flat size : 585KiB
Description :
Qt-Color-Widgets is a color dialog that is more user-friendly than the default
QColorDialog and several other color-related widgets.
The provided widgets are:
* ColorWheel, An analog widget used to select a color
* ColorPreview, A simple widget that displays a color
* GradientSlider, A slider that has a gradient background
* HueSlider, A variant of GradientSlider that has a rainbow background
* ColorSelector, A ColorPreview that shows a ColorDialog when clicked
* ColorDialog, A dialog that uses the above widgets to provide a better user
experience than QColorDialog
* ColorListWidget, A widget to edit a list of colors
* Swatch, A widget to display a color palette
* ColorPaletteWidget, A widget to use and manage a list of palettes
* Color2DSlider, An analog widget used to select 2 color components
* ColorLineEdit, A widget to manipulate a string representing a color
* HarmonyColorWheel, A ColorWheel which allows defining multiple colors,
separated by hue
* GradientListModel, A QAbstractListModel used to list gradients (useful for
comboboxes, list views and the like)
Things for qt are somewhat of a mixed bag, some libraries go to expected directories or those that are more obvious, others not so much.
/usr/local/lib/qt5/libQt5Gui.so /usr/local/lib/qt6/libQt6DesignerComponents.so /usr/local/lib/libkdsingleapplication-qt6.so
If I look in each of those library directories I can find whether there is any other library for libQtColorWidgets.
root@ichigo:/home/tigersharke/GitRepos/flameshot-dev # ls /usr/local/lib/libQtColorWidgets-Qt52.so.2 libQtColorWidgets-Qt52.so.2.2.0* libQtColorWidgets-Qt52.so.2@
What baffled me for a long time after everything sucessfully built, was that I couldn't do
USES= cmakeqmake qt:5 qt:6 desktop-file-utils gl
When I removed qmake from that line, the pkg-plist was generated as expected. I updated my repo for this to keep my successful build but now that I cured the pkg-plist issue, I can make another update for the Makefile and add the pkg-plist file it needs as well. Definitely this whole belated success and that last nit finally cured are reasons to celebrate
If you're updating an official port or one mainly for yourself that you provide to the public also, or creating a new port based on something in an upstream git repo, it may take time to figure it out. Maybe you need a break when frustration gets to an unbearable level, but be sure to return sometime later and see if you can see what was wrong that was clouded by emotion. Maybe upstream will have changed its code enough that now those same problems no longer apply, or perhaps mechanisms for porting in FreeBSD may have been improved.
There are plenty of sources for information, and ways to find it.
I have discovered that although it built perfectly and created all the files, something is wrong because taking a screenshot fails to save a png that is a real png. I am looking into things, expecting that somewhere a dependency may be wrong or some other odd issue related to how I convinced flameshot to build.