gitahead / gitahead

Understand your Git history!
https://gitahead.com
MIT License
1.83k stars 248 forks source link

build fails on ARM64 Ubuntu Bionic #557

Open JulianGro opened 3 years ago

JulianGro commented 3 years ago

I am trying to build GitAhead on armbian Bionic on my RockPro64 and have hit a roadblock after fiddling around with all the dependencies.

motofckr9k@rockpro64:/media/motofckr9k/TS120GMTS820S/git/gitahead/build/release$ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ../..
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: /usr/bin/git (found version "2.17.1") 
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Checking for module 'libssh2'
--   Found libssh2, version 1.8.0
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Performing Test HAVE_STRUCT_STAT_ST_MTIM
-- Performing Test HAVE_STRUCT_STAT_ST_MTIM - Success
-- Performing Test HAVE_STRUCT_STAT_ST_MTIMESPEC
-- Performing Test HAVE_STRUCT_STAT_ST_MTIMESPEC - Failed
-- Performing Test HAVE_STRUCT_STAT_MTIME_NSEC
-- Performing Test HAVE_STRUCT_STAT_MTIME_NSEC - Failed
-- Performing Test HAVE_STRUCT_STAT_NSEC
-- Performing Test HAVE_STRUCT_STAT_NSEC - Success
-- Performing Test IS_WALL_SUPPORTED
-- Performing Test IS_WALL_SUPPORTED - Success
-- Performing Test IS_WEXTRA_SUPPORTED
-- Performing Test IS_WEXTRA_SUPPORTED - Success
-- Performing Test IS_WDOCUMENTATION_SUPPORTED
-- Performing Test IS_WDOCUMENTATION_SUPPORTED - Failed
-- Performing Test IS_WNO_DOCUMENTATION_DEPRECATED_SYNC_SUPPORTED
-- Performing Test IS_WNO_DOCUMENTATION_DEPRECATED_SYNC_SUPPORTED - Success
-- Performing Test IS_WNO_MISSING_FIELD_INITIALIZERS_SUPPORTED
-- Performing Test IS_WNO_MISSING_FIELD_INITIALIZERS_SUPPORTED - Success
-- Performing Test IS_WSTRICT_ALIASING_SUPPORTED
-- Performing Test IS_WSTRICT_ALIASING_SUPPORTED - Success
-- Performing Test IS_WSTRICT_PROTOTYPES_SUPPORTED
-- Performing Test IS_WSTRICT_PROTOTYPES_SUPPORTED - Success
-- Performing Test IS_WDECLARATION_AFTER_STATEMENT_SUPPORTED
-- Performing Test IS_WDECLARATION_AFTER_STATEMENT_SUPPORTED - Success
-- Performing Test IS_WSHIFT_COUNT_OVERFLOW_SUPPORTED
-- Performing Test IS_WSHIFT_COUNT_OVERFLOW_SUPPORTED - Success
-- Performing Test IS_WUNUSED_CONST_VARIABLE_SUPPORTED
-- Performing Test IS_WUNUSED_CONST_VARIABLE_SUPPORTED - Success
-- Performing Test IS_WUNUSED_FUNCTION_SUPPORTED
-- Performing Test IS_WUNUSED_FUNCTION_SUPPORTED - Success
-- Performing Test IS_WINT_CONVERSION_SUPPORTED
-- Performing Test IS_WINT_CONVERSION_SUPPORTED - Success
-- Performing Test IS_WFORMAT_SUPPORTED
-- Performing Test IS_WFORMAT_SUPPORTED - Success
-- Performing Test IS_WFORMAT_SECURITY_SUPPORTED
-- Performing Test IS_WFORMAT_SECURITY_SUPPORTED - Success
You have called ADD_LIBRARY for library git2internal without any source files. This typically indicates a problem with your CMakeLists.txt file
-- Performing Test IS_WMISSING_DECLARATIONS_SUPPORTED
-- Performing Test IS_WMISSING_DECLARATIONS_SUPPORTED - Success
-- Looking for futimens
-- Looking for futimens - found
-- Checking prototype qsort_r for HAVE_QSORT_R_BSD - False
-- Checking prototype qsort_r for HAVE_QSORT_R_GNU - True
-- Looking for qsort_s
-- Looking for qsort_s - not found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - found
-- Found OpenSSL: /media/motofckr9k/TS120GMTS820S/git/gitahead/dep/openssl/openssl/libcrypto.so (found version "1.1.1a") 
-- Found PCRE: /usr/lib/aarch64-linux-gnu/libpcre.so  
-- Looking for regcomp_l
-- Looking for regcomp_l - not found
-- http-parser version 2 was not found or disabled; using bundled 3rd-party sources.
-- Performing Test IS_WIMPLICIT_FALLTHROUGH_1_SUPPORTED
-- Performing Test IS_WIMPLICIT_FALLTHROUGH_1_SUPPORTED - Success
-- Found ZLIB: /usr/lib/aarch64-linux-gnu/libz.so (found version "1.2.11") 
-- Looking for libssh2_userauth_publickey_frommemory in ssh2
-- Looking for libssh2_userauth_publickey_frommemory in ssh2 - found
-- Performing Test IS_WNO_IMPLICIT_FALLTHROUGH_SUPPORTED
-- Performing Test IS_WNO_IMPLICIT_FALLTHROUGH_SUPPORTED - Success
-- Checking for module 'heimdal-gssapi'
--   No package 'heimdal-gssapi' found
-- Could NOT find GSSAPI (missing: GSSAPI_LIBRARIES GSSAPI_INCLUDE_DIR) 
-- Enabled features:
 * nanoseconds, whether to use sub-second file mtimes and ctimes
 * tracing, tracing support
 * threadsafe, threadsafe support
 * HTTPS, using OpenSSL
 * SHA, using CollisionDetection
 * regex, using system PCRE
 * http-parser, http-parser support (bundled)
 * zlib, using system zlib
 * SSH, SSH transport support
 * ntlmclient, NTLM authentication support for Unix

-- Disabled features:
 * debugpool, debug pool allocator
 * SPNEGO, SPNEGO authentication support
 * iconv, iconv encoding conversion support

-- Checking for module 'libcmark'
--   Found libcmark, version 0.28.3
-- Checking for module 'libsecret-1'
--   Found libsecret-1, version 0.18.6
-- Checking for module 'gnome-keyring-1'
--   Found gnome-keyring-1, version 3.12.0
CMake Error at pack/CMakeLists.txt:33 (get_target_property):
  get_target_property() called with non-existent target "Qt5::QJpegPlugin".

CMake Error at pack/CMakeLists.txt:34 (get_filename_component):
  get_filename_component called with incorrect number of arguments

CMake Error at pack/CMakeLists.txt:35 (get_filename_component):
  get_filename_component called with incorrect number of arguments

CMake Error at pack/CMakeLists.txt:36 (get_filename_component):
  get_filename_component called with incorrect number of arguments

CMake Error at pack/CMakeLists.txt:33 (get_target_property):
  get_target_property() called with non-existent target
  "Qt5::QXcbIntegrationPlugin".

CMake Error at pack/CMakeLists.txt:34 (get_filename_component):
  get_filename_component called with incorrect number of arguments

CMake Error at pack/CMakeLists.txt:35 (get_filename_component):
  get_filename_component called with incorrect number of arguments

CMake Error at pack/CMakeLists.txt:36 (get_filename_component):
  get_filename_component called with incorrect number of arguments

CMake Error at pack/CMakeLists.txt:33 (get_target_property):
  get_target_property() called with non-existent target
  "Qt5::QComposePlatformInputContextPlugin".

CMake Error at pack/CMakeLists.txt:34 (get_filename_component):
  get_filename_component called with incorrect number of arguments

CMake Error at pack/CMakeLists.txt:35 (get_filename_component):
  get_filename_component called with incorrect number of arguments

CMake Error at pack/CMakeLists.txt:36 (get_filename_component):
  get_filename_component called with incorrect number of arguments

-- Configuring incomplete, errors occurred!
See also "/media/motofckr9k/TS120GMTS820S/git/gitahead/build/release/CMakeFiles/CMakeOutput.log".
See also "/media/motofckr9k/TS120GMTS820S/git/gitahead/build/release/CMakeFiles/CMakeError.log".
motofckr9k@rockpro64:/media/motofckr9k/TS120GMTS820S/git/gitahead/build/release$ 
stefanknotzer commented 3 years ago

I have the same issue on x86_64 (openSUSE). My solution (gitahead/pack/CMakeLists.txt): pack Comment line 33 - 36 (#).

Remark: I have all Qt librarys (runtime, development) installed on my system.

hackhaslam commented 3 years ago

I just checked in a change to make Qt plugin targets optional. It looks like some Linux distros don't include all of the same targets as the binary download from qt.io. I imagine that JPEG loading will still work even if that target isn't found. Let me know if this fixes the issue for you.

stefanknotzer commented 3 years ago

Nice! Works for me on Windows 10 and openSUSE Linux.