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?
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.
(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..
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?
(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..
Created attachment 269387 [details] just a reproducer
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
(In reply to Jesper Schmitz Mouridsen from comment #6) apparently WITH_DEBUG might be the difference.. not the visibility..
(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
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?
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!