bitcoin-core / gui

Bitcoin Core GUI staging repository
https://github.com/bitcoin/bitcoin
MIT License
603 stars 262 forks source link

How to compile the GUI on opensuse tumbleweed with cmake? #842

Closed maflcko closed 3 weeks ago

maflcko commented 1 month ago

Looks like this broke after the cmake migration.

Steps to reproduce on a fresh podman run -it --rm 'registry.opensuse.org/opensuse/tumbleweed:latest':

zypper in -y awk qrencode libevent-devel boost-devel sqlite3-devel libqt5-qttools-devel libqt5-qtbase-devel libdb-4_8-devel find bison gcc-c++ libtool make autoconf automake python3 clang llvm lbzip2 patch xz curl wget htop git vim ccache && git clone https://github.com/bitcoin/bitcoin.git --depth=1 ./b-c && cd b-c && cmake -B ./bld -DBUILD_BENCH=ON -DBUILD_FUZZ_BINARY=ON -DWERROR=ON -DBUILD_GUI=ON -DWITH_QRENCODE=OFF -DWITH_CCACHE=ON -DWITH_NATPMP=ON

Output:


Configure summary
=================
Executables:
  bitcoind ............................ ON
  bitcoin-node (multiprocess) ......... OFF
  bitcoin-qt (GUI) .................... ON
  bitcoin-gui (GUI, multiprocess) ..... OFF
  bitcoin-cli ......................... ON
  bitcoin-tx .......................... ON
  bitcoin-util ........................ ON
  bitcoin-wallet ...................... ON
  bitcoin-chainstate (experimental) ... OFF
  libbitcoinkernel (experimental) ..... OFF
Optional features:
  wallet support ...................... ON
   - descriptor wallets (SQLite) ...... ON
   - legacy wallets (Berkeley DB) ..... OFF
  external signer ..................... ON
  port mapping using UPnP ............. OFF
  ZeroMQ .............................. OFF
  USDT tracing ........................ OFF
  QR code (GUI) ....................... OFF
  DBus (GUI, Linux only) .............. ON
Tests:
  test_bitcoin ........................ ON
  test_bitcoin-qt ..................... ON
  bench_bitcoin ....................... ON
  fuzz binary ......................... ON

Cross compiling ....................... FALSE
C++ compiler .......................... GNU 14.2.1, /usr/bin/c++
CMAKE_BUILD_TYPE ...................... RelWithDebInfo
Preprocessor defined macros ........... 
C++ compiler flags .................... -O2 -g -std=c++20 -fPIC -fdebug-prefix-map=/b-c=. -fmacro-prefix-map=/b-c=. -fno-extended-identifiers -fstack-reuse=none -Werror -Wall -Wextra -Wformat -Wformat-security -Wvla -Wredundant-decls -Wdate-time -Wduplicated-branches -Wduplicated-cond -Wlogical-op -Woverloaded-virtual -Wsuggest-override -Wimplicit-fallthrough -Wunreachable-code -Wundef -Wno-unused-parameter -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -Wstack-protector -fstack-protector-all -fcf-protection=full -fstack-clash-protection
Linker flags .......................... -O2 -g -fstack-reuse=none -fstack-protector-all -fcf-protection=full -fstack-clash-protection -Wl,-z,relro -Wl,-z,now -Wl,-z,separate-code -fPIE -pie

NOTE: The summary above may not exactly match the final applied build flags
      if any additional CMAKE_* or environment variables have been modified.
      To see the exact flags applied, build with the --verbose option.

Attempt to harden executables ......... ON
Treat compiler warnings as errors ..... ON
Use ccache for compiling .............. ON

-- Configuring done (50.1s)
CMake Error at src/qt/test/CMakeLists.txt:36 (add_custom_command):
  Error evaluating generator expression:

    $<TARGET_PROPERTY:Qt5::QMinimalIntegrationPlugin,LOCATION_$<UPPER_CASE:$<CONFIG>>>

  Target "Qt5::QMinimalIntegrationPlugin" not found.

CMake Error at src/qt/test/CMakeLists.txt:36 (add_custom_command):
  Error evaluating generator expression:

    $<TARGET_PROPERTY:Qt5::QMinimalIntegrationPlugin,LOCATION_$<UPPER_CASE:$<CONFIG>>>

  Target "Qt5::QMinimalIntegrationPlugin" not found.

CMake Error at src/qt/test/CMakeLists.txt:36 (add_custom_command):
  Error evaluating generator expression:

    $<TARGET_PROPERTY:Qt5::QMinimalIntegrationPlugin,LOCATION_$<UPPER_CASE:$<CONFIG>>>

  Target "Qt5::QMinimalIntegrationPlugin" not found.

-- Generating done (0.9s)
CMake Warning:
  Manually-specified variables were not used by the project:

    WITH_NATPMP

CMake Generate step failed.  Build files cannot be regenerated correctly.
maflcko commented 3 weeks ago

(This worked fine with autotools)

fanquake commented 3 weeks ago

Added to 29.0 milestone as this will either need to be fixed, or documented as no-longer-supported.

fanquake commented 3 weeks ago

-DWITH_QRENCODE=OFF

Is this known to be broken / also didn't work previously?

maflcko commented 3 weeks ago

I never tried libqrencode with autotools on tumbleweed.

fanquake commented 3 weeks ago

Even though the package is available, looks like it didn't work there either.

hebasto commented 3 weeks ago

Even though the package is available, looks like it didn't work there either.

The qrencode-devel package should be installed.