Bug 294213 - x11-fm/pcmanfm-qt: sidebar and path buttons don't work
Summary: x11-fm/pcmanfm-qt: sidebar and path buttons don't work
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: LXQT Mailing List (Team)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-04-02 19:14 UTC by Kevin Zheng
Modified: 2026-04-08 22:43 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (lxqt)


Attachments
just a reproducer (2.15 KB, application/gzip)
2026-04-05 14:34 UTC, Jesper Schmitz Mouridsen
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin Zheng 2026-04-02 19:14:44 UTC
After updating packages, I'm afraid I'm not sure quite when, the sidebar (in lists, not directory tree mode) and path buttons have stopped working.

I am running pkg-latest on FreeBSD 15 amd64.

pcmanfm-qt-2.3.0_1
libfm-qt6-2.3.1

Starting pcmanfm-qt from the command line, I see error messages like:

$ pcmanfm-qt
isPrimaryInstance
qt.core.qobject.connect: QObject::connect(Fm::SidePane, PCManFM::MainWindow): signal not found
qt.core.qobject.connect: QObject::connect(Fm::SidePane, PCManFM::MainWindow): signal not found

Which seem to explain why the buttons don't work, but not why.

I built pcmanfm-qt from source with system libfm-qt and also run into the same issue. pcmanfm-gtk3 does not have this issue.

Is anyone else having a similar issue?
Comment 1 Kevin Zheng 2026-04-02 19:51:56 UTC
By inspecting the files generated in .build/pcmanfm/pcmanfm-qt_autogen/, I am suspecting that CMAKE_AUTOMOC is not working correctly for either libfm-qt or pcmanfm-qt.
Comment 2 Jesper Schmitz Mouridsen freebsd_committer freebsd_triage 2026-04-03 18:58:03 UTC
(In reply to Kevin Zheng from comment #1)
the moc works as it should, it is (in)visibility flags that breaks the signals
tested by removing the following line from work/libfm-qt-2.3.1/CMakeLists.txt:
include(LXQtCompilerSettings NO_POLICY_SCOPE) 

I did not test on linux if it is a toolchain or qt6 issue local to FreeBSD..
Comment 3 Kevin Zheng 2026-04-03 19:31:43 UTC
Thanks for taking a look and investigating. This fix works for me. I wonder what happened, but in the meantime, would this be okay for a local patch for ports to get the pcmanfm-qt working again?
Comment 4 Jesper Schmitz Mouridsen freebsd_committer freebsd_triage 2026-04-05 14:02:43 UTC
(In reply to Kevin Zheng from comment #3)
When a consumer of a lib with a qt signal is build against qt6-base-6.10.2 it fails. qt6-base-6.10.1 works. I had a working pcmanfm-qt in pkg cache and noted the git hash. I will trim down my reproducer to post here soon..
Comment 5 Jesper Schmitz Mouridsen freebsd_committer freebsd_triage 2026-04-05 14:34:01 UTC
Created attachment 269387 [details]
just a reproducer
Comment 6 Jesper Schmitz Mouridsen freebsd_committer freebsd_triage 2026-04-05 18:02:57 UTC
FWIW --- a/devel/qt6-base/Makefile
+++ b/devel/qt6-base/Makefile
@@ -51,10 +51,10 @@ CMAKE_ARGS= -DOPENSSL_ROOT_DIR="${OPENSSLBASE}"
 CMAKE_ON=      CMAKE_DISABLE_FIND_PACKAGE_LTTngUST \
                QT_AVOID_CMAKE_ARCHIVING_API \
                QT_FIND_ALL_PACKAGES_ALWAYS \
-               QT_FEATURE_openssl_linked
+               QT_FEATURE_openssl_linked \
+               QT_FEATURE_reduce_relocations
 CMAKE_OFF=     QT_FEATURE_eglfs \
                QT_FEATURE_gssapi \
-               QT_FEATURE_reduce_relocations
so QT_FEATURE_reduce_relocations does something that fixes this issue after a rebuild of pcmanfm-qt it was introdced as of here #https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292376#c10
Comment 7 Jesper Schmitz Mouridsen freebsd_committer freebsd_triage 2026-04-05 20:25:33 UTC
(In reply to Jesper Schmitz Mouridsen from comment #6)
apparently WITH_DEBUG might be the difference.. not the visibility..
Comment 8 Jesper Schmitz Mouridsen freebsd_committer freebsd_triage 2026-04-06 08:08:13 UTC
(In reply to Jesper Schmitz Mouridsen from comment #7)
That comment was meant for obs-studio on https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292376
Comment 9 Jesper Schmitz Mouridsen freebsd_committer freebsd_triage 2026-04-07 19:43:40 UTC
I think the better solution is to edit /usr/local/share/cmake/lxqt2-build-tools/modules/LXQtCompilerSettings.cmake to if (CMAKE_COMPILER_IS_GNUCXX OR LXQT_COMPILER_IS_CLANGCXX)
    # Assume Xcode Clang is always used with Apple ld64
    if (${CMAKE_CXX_COMPILER_ID} STREQUAL AppleClang)
        set(NO_UNDEFINED_FLAGS "-Wl,-undefined,error")
        # -Bsymbolic* make sense for ELF only
        set(SYMBOLIC_FLAGS "")
    else()
        set(NO_UNDEFINED_FLAGS "-Wl,--no-undefined")
        # -Bsymbolic-functions: replace dynamic symbols used internally in
        #                       shared libs with direct addresses.
[1]>>>>>   #set(SYMBOLIC_FLAGS "-Wl,-Bsymbolic-functions") [1]
            set(SYMBOLIC_FLAGS "")
    endif()
to not set -Bsymbolic-functions. I do not yet know exactly how  QT_FEATURE_reduce_relocations OFF requires this, an explanation is welcome :-)



[1] https://github.com/lxqt/lxqt-build-tools/blob/1708c068b3e03f06215c0e2a9423e0a9d7cf6589/cmake/modules/LXQtCompilerSettings.cmake#L167

But i.g a patch for lxqt2-build-tools and a portrevision bump of its users is in its place?
Comment 10 bsduck 2026-04-08 22:43:47 UTC
Hello,

I had the same problem and can confirm that rebuilding x11/libfm-qt6 (not x11-fm/pcmanfm-qt itself) after editing LXQtCompilerSettings.cmake according to your instructions solved it.

The problem is also present in quarterly branch 2026Q2, don't forget to push the fix there too.

Thanks!