This fixes it:
0diff --git i/depends/toolchain.cmake.in w/depends/toolchain.cmake.in
1index a38cb6135b..6dbb13dd69 100644
2--- i/depends/toolchain.cmake.in
3+++ w/depends/toolchain.cmake.in
4@@ -98,13 +98,13 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND NOT CMAKE_HOST_APPLE)
5 # In turn, the find_library() inspects the well-known locations
6 # on the file system; therefore, a hint is required.
7 set(CMAKE_FRAMEWORK_PATH "@OSX_SDK@/System/Library/Frameworks")
8 endif()
9
10
11-if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
12+if(CMAKE_SYSTEM_NAME MATCHES "^(Linux|FreeBSD)$")
13 # Customize pkg-config behavior for finding dependencies
14 # of the xcb QPA platform plugin:
15 # 1. Restrict search paths to the depends.
16 # 2. Make output suitable for static linking.
17 cmake_path(APPEND CMAKE_CURRENT_LIST_DIR "lib" "pkgconfig" OUTPUT_VARIABLE pkg_config_path)
18 set(ENV{PKG_CONFIG_PATH} ${pkg_config_path})
Result:
0$ LD_LIBRARY_PATH=depends/x86_64-unknown-freebsd14.2/lib ldd ./build/bin/bitcoin-qt
1./build/bin/bitcoin-qt:
2 libfontconfig.so.1 => depends/x86_64-unknown-freebsd14.2/lib/libfontconfig.so.1 (0x2c3cbfac6000)
3 libfreetype.so.6 => depends/x86_64-unknown-freebsd14.2/lib/libfreetype.so.6 (0x2c3cc00a8000)
4 libxkbcommon.so.0 => depends/x86_64-unknown-freebsd14.2/lib/libxkbcommon.so.0 (0x2c3cc3426000)
5 libxkbcommon-x11.so.0 => depends/x86_64-unknown-freebsd14.2/lib/libxkbcommon-x11.so.0 (0x2c3cc3997000)
6 libxcb-xkb.so.1 => depends/x86_64-unknown-freebsd14.2/lib/libxcb-xkb.so.1 (0x2c3cc534f000)
7 libxcb.so.1 => depends/x86_64-unknown-freebsd14.2/lib/libxcb.so.1 (0x2c3cc4733000)
8 libxcb-cursor.so.0 => depends/x86_64-unknown-freebsd14.2/lib/libxcb-cursor.so.0 (0x2c3cc6d96000)
9 libxcb-icccm.so.4 => depends/x86_64-unknown-freebsd14.2/lib/libxcb-icccm.so.4 (0x2c3cc5e98000)
10 libxcb-image.so.0 => depends/x86_64-unknown-freebsd14.2/lib/libxcb-image.so.0 (0x2c3cc8485000)
11 libxcb-keysyms.so.1 => depends/x86_64-unknown-freebsd14.2/lib/libxcb-keysyms.so.1 (0x2c3cc7c0f000)
12 libxcb-randr.so.0 => depends/x86_64-unknown-freebsd14.2/lib/libxcb-randr.so.0 (0x2c3cc854e000)
13 libxcb-render-util.so.0 => depends/x86_64-unknown-freebsd14.2/lib/libxcb-render-util.so.0 (0x2c3cc8d88000)
14 libxcb-shm.so.0 => depends/x86_64-unknown-freebsd14.2/lib/libxcb-shm.so.0 (0x2c3cc9f9a000)
15 libxcb-sync.so.1 => depends/x86_64-unknown-freebsd14.2/lib/libxcb-sync.so.1 (0x2c3cc948c000)
16 libxcb-xfixes.so.0 => depends/x86_64-unknown-freebsd14.2/lib/libxcb-xfixes.so.0 (0x2c3ccaf00000)
17 libxcb-render.so.0 => depends/x86_64-unknown-freebsd14.2/lib/libxcb-render.so.0 (0x2c3ccb8f9000)
18 libxcb-shape.so.0 => depends/x86_64-unknown-freebsd14.2/lib/libxcb-shape.so.0 (0x2c3ccb97e000)
19 libm.so.5 => /lib/libm.so.5 (0x2c3ccc98d000)
20 libthr.so.3 => /lib/libthr.so.3 (0x2c3ccd3a8000)
21 libc++.so.1 => /lib/libc++.so.1 (0x2c3ccf2f9000)
22 libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x2c3ccd7ac000)
23 libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x2c3ccd916000)
24 libc.so.7 => /lib/libc.so.7 (0x2c3cce6a0000)
25 [vdso] (0x2c3cbf491000)
Note that bitcoin-qt
is linked against some dynamic libraries inside depends/
so it will not work if moved to another machine without those libraries. Is this expected?
Here is a diff between a normally built bitcoin-qt
from my dev environment without depends VS the depends one from the “pristine” environment:
0--- /tmp/dev_env_nodepends 2025-06-20 06:47:55.626924000 +0200
1+++ /tmp/depends 2025-06-20 06:48:09.626851000 +0200
2@@ -1,59 +1,23 @@
3-libb2.so.1
4-libbrotlicommon.so.1
5-libbrotlidec.so.1
6-libbz2.so.4
7-libc.so.7
8 libc++.so.1
9-libcrypto.so.30
10+libc.so.7
11 libcxxrt.so.1
12-libdbus-1.so.3
13-libdl.so.1
14-libdouble-conversion.so.3
15-libEGL.so.1
16-libelf.so.2
17-libevent_core-2.1.so.7
18-libevent_extra-2.1.so.7
19-libevent_pthreads-2.1.so.7
20-libevent-2.1.so.7
21-libexecinfo.so.1
22-libexpat.so.1
23 libfontconfig.so.1
24 libfreetype.so.6
25 libgcc_s.so.1
26-libGLdispatch.so.0
27-libglib-2.0.so.0
28-libGLX.so.0
29-libgraphite2.so.3
30-libgthread-2.0.so.0
31-libharfbuzz.so.0
32-libiconv.so.2
33-libicudata.so.76
34-libicui18n.so.76
35-libicuuc.so.76
36-libintl.so.8
37-libkvm.so.7
38 libm.so.5
39-libomp.so
40-libOpenGL.so.0
41-libpcre2-16.so.0
42-libpcre2-8.so.0
43-libpng16.so.16
44-libprocstat.so.1
45-libqrencode.so.4
46-libQt6Core.so.6
47-libQt6DBus.so.6
48-libQt6Gui.so.6
49-libQt6Network.so.6
50-libQt6Widgets.so.6
51-librt.so.1
52-libsqlite3.so.0
53-libssl.so.30
54 libthr.so.3
55-libutil.so.9
56-libX11.so.6
57-libXau.so.6
58+libxcb-cursor.so.0
59+libxcb-icccm.so.4
60+libxcb-image.so.0
61+libxcb-keysyms.so.1
62+libxcb-randr.so.0
63+libxcb-render-util.so.0
64+libxcb-render.so.0
65+libxcb-shape.so.0
66+libxcb-shm.so.0
67+libxcb-sync.so.1
68+libxcb-xfixes.so.0
69+libxcb-xkb.so.1
70 libxcb.so.1
71-libXdmcp.so.6
72+libxkbcommon-x11.so.0
73 libxkbcommon.so.0
74-libz.so.6
75-libzstd.so.1
Then I can start bitcoin-qt
like LD_LIBRARY_PATH=depends... bitcoin-qt
and it lists Qt 6.7.3 in “Help > About Qt”. It works. I can also start bitcoin-qt
without LD_LIBRARY_PATH
in the dev environment where those libraries are installed system wide.