Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build on Jetson Orin Nano, failed with /usr/lib/x86_64-linux-gnu #12109

Closed
lida2003 opened this issue Nov 19, 2024 · 11 comments
Closed

Build on Jetson Orin Nano, failed with /usr/lib/x86_64-linux-gnu #12109

lida2003 opened this issue Nov 19, 2024 · 11 comments

Comments

@lida2003
Copy link

Why there is /usr/lib/x86_64-linux-gnu in the config? I'm stucked here.


Expected Behavior

Sucessfully build

Current Behavior

There is no QT 6.6.3 avaliable, just 6.7.0 6.7.1 6.7.2 6.7.3 6.8.0

Steps to Reproduce:

Just followed guide

System Information

When posting bug reports, include the following information

  • Jetson Orin Nano
  • QGC Version: latest version on git hub
  • QGC build: self-built from source
  • Flight Controller: No
  • Autopilot (with version): No

Detailed Description

Why there is /usr/lib/x86_64-linux-gnu in the config?
It should be /usr/lib/aarch64-linux-gnu, I never provide x86_64 info. Any idea with the build script?

Log Files and Screenshots

qgroundcontrol$ cmake -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=aarch64 -DCMAKE_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu -DQt6_DIR=/opt/Qt/6.7.3/gcc_arm64/lib/cmake/Qt6/ -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug
-- QGC_GIT_BRANCH="master"
-- QGC_GIT_HASH="1b8f5037a"
-- QGC_APP_VERSION_STR="latest-60-g1b8f5037a"
-- QGC_APP_VERSION="v4.3.0"
-- QGC_APP_DATE="2023-11-20T18:46:48-08:00"
-- QGC_APP_VERSION_VALID="0"
-- QGC_APP_VERSION="4.3.0" ; QGC_APP_VERSION_MAJOR="4" ; QGC_APP_VERSION_MINOR="3" ; QGC_APP_VERSION_PATCH="0"
-- Using CCache
-- Could NOT find GeographicLib (missing: GeographicLib_LIBRARY_DIRS GeographicLib_LIBRARIES GeographicLib_INCLUDE_DIRS) (Required is at least version "2.3")
-- Checking for module 'GeographicLib>=2.3'
--   No package 'GeographicLib' found
-- Building GeographicLib
-- Joystick_targets="Joystick_resources_2;Joystickplugin_init"
-- Could NOT find SDL2: Found unsuitable version "2.0.10", but required is at least "2.30.0" (found /usr/lib/aarch64-linux-gnu/libSDL2.so)
-- Checking for module 'sdl2>=2.30.0'
--   Requested 'sdl2 >= 2.30.0' but version of sdl2 is 2.0.10
-- Building JoystickSDL
CMake Deprecation Warning at build/_deps/sdl-src/CMakeLists.txt:8 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


CMake Deprecation Warning at build/_deps/sdl-src/CMakeLists.txt:3245 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


--
-- SDL2 was configured with the following options:
--
-- Platform: Linux-5.10.216-tegra
-- 64-bit:   TRUE
-- Compiler: /usr/bin/cc
-- Revision: SDL-release-2.30.7-0-g9519b991
--
-- Subsystems:
--   Atomic:    ON
--   Audio:     OFF
--   Video:     OFF
--   Render:    OFF
--   Events:    ON
--   Joystick:  ON
--   Haptic:    ON
--   Hidapi:    ON
--   Power:     ON
--   Threads:   ON
--   Timers:    OFF
--   File:      OFF
--   Loadso:    ON
--   CPUinfo:   ON
--   Filesystem:        OFF
--   Sensor:    OFF
--   Locale:    OFF
--   Misc:      OFF
--
-- Options:
--   SDL2_DISABLE_INSTALL        (Wanted: ON): OFF
--   SDL2_DISABLE_SDL2MAIN       (Wanted: ON): OFF
--   SDL2_DISABLE_UNINSTALL      (Wanted: ON): OFF
--   SDL_3DNOW                   (Wanted: OFF): OFF
--   SDL_ALSA                    (Wanted: ON): OFF
--   SDL_ALSA_SHARED             (Wanted: ON): OFF
--   SDL_ALTIVEC                 (Wanted: ON): OFF
--   SDL_ARMNEON                 (Wanted: OFF): OFF
--   SDL_ARMSIMD                 (Wanted: OFF): OFF
--   SDL_ARTS                    (Wanted: ON): OFF
--   SDL_ARTS_SHARED             (Wanted: ON): OFF
--   SDL_ASAN                    (Wanted: OFF): OFF
--   SDL_ASSEMBLY                (Wanted: ON): ON
--   SDL_ASSERTIONS              (Wanted: auto): auto
--   SDL_BACKGROUNDING_SIGNAL    (Wanted: OFF): OFF
--   SDL_CCACHE                  (Wanted: ON): ON
--   SDL_CLOCK_GETTIME           (Wanted: ON): ON
--   SDL_COCOA                   (Wanted: OFF): OFF
--   SDL_DBUS                    (Wanted: OFF): OFF
--   SDL_DIRECTFB                (Wanted: OFF): OFF
--   SDL_DIRECTFB_SHARED         (Wanted: OFF): OFF
--   SDL_DIRECTX                 (Wanted: OFF): OFF
--   SDL_DISKAUDIO               (Wanted: ON): OFF
--   SDL_DUMMYAUDIO              (Wanted: ON): OFF
--   SDL_DUMMYVIDEO              (Wanted: ON): OFF
--   SDL_ESD                     (Wanted: ON): OFF
--   SDL_ESD_SHARED              (Wanted: ON): OFF
--   SDL_FOREGROUNDING_SIGNAL    (Wanted: OFF): OFF
--   SDL_FUSIONSOUND             (Wanted: OFF): OFF
--   SDL_FUSIONSOUND_SHARED      (Wanted: OFF): OFF
--   SDL_GCC_ATOMICS             (Wanted: ON): ON
--   SDL_HIDAPI                  (Wanted: ON): ON
--   SDL_HIDAPI_JOYSTICK         (Wanted: ON): ON
--   SDL_HIDAPI_LIBUSB           (Wanted: OFF): OFF
--   SDL_IBUS                    (Wanted: OFF): OFF
--   SDL_INSTALL_TESTS           (Wanted: OFF): OFF
--   SDL_JACK                    (Wanted: ON): OFF
--   SDL_JACK_SHARED             (Wanted: ON): OFF
--   SDL_KMSDRM                  (Wanted: ON): OFF
--   SDL_KMSDRM_SHARED           (Wanted: ON): OFF
--   SDL_LASX                    (Wanted: OFF): OFF
--   SDL_LIBC                    (Wanted: ON): ON
--   SDL_LIBICONV                (Wanted: OFF): OFF
--   SDL_LIBSAMPLERATE           (Wanted: ON): OFF
--   SDL_LIBSAMPLERATE_SHARED    (Wanted: ON): OFF
--   SDL_LIBUDEV                 (Wanted: ON): OFF
--   SDL_LSX                     (Wanted: OFF): OFF
--   SDL_METAL                   (Wanted: OFF): OFF
--   SDL_MMX                     (Wanted: OFF): OFF
--   SDL_NAS                     (Wanted: ON): OFF
--   SDL_NAS_SHARED              (Wanted: ON): OFF
--   SDL_OFFSCREEN               (Wanted: ON): OFF
--   SDL_OPENGL                  (Wanted: ON): OFF
--   SDL_OPENGLES                (Wanted: ON): OFF
--   SDL_OSS                     (Wanted: ON): OFF
--   SDL_PIPEWIRE                (Wanted: ON): OFF
--   SDL_PIPEWIRE_SHARED         (Wanted: ON): OFF
--   SDL_PTHREADS                (Wanted: ON): ON
--   SDL_PTHREADS_SEM            (Wanted: ON): ON
--   SDL_PULSEAUDIO              (Wanted: ON): OFF
--   SDL_PULSEAUDIO_SHARED       (Wanted: ON): OFF
--   SDL_RENDER_D3D              (Wanted: OFF): OFF
--   SDL_RENDER_METAL            (Wanted: OFF): OFF
--   SDL_RPATH                   (Wanted: ON): OFF
--   SDL_RPI                     (Wanted: ON): OFF
--   SDL_SNDIO                   (Wanted: ON): OFF
--   SDL_SNDIO_SHARED            (Wanted: ON): OFF
--   SDL_SSE                     (Wanted: OFF): OFF
--   SDL_SSE2                    (Wanted: OFF): OFF
--   SDL_SSE3                    (Wanted: OFF): OFF
--   SDL_SSEMATH                 (Wanted: OFF): OFF
--   SDL_STATIC_PIC              (Wanted: ON): ON
--   SDL_SYSTEM_ICONV            (Wanted: ON): ON
--   SDL_TESTS                   (Wanted: OFF): OFF
--   SDL_VENDOR_INFO             (Wanted: ): OFF
--   SDL_VIRTUAL_JOYSTICK        (Wanted: ON): ON
--   SDL_VIVANTE                 (Wanted: ON): OFF
--   SDL_VULKAN                  (Wanted: ON): OFF
--   SDL_WASAPI                  (Wanted: OFF): OFF
--   SDL_WAYLAND                 (Wanted: ON): OFF
--   SDL_WAYLAND_LIBDECOR        (Wanted: ON): OFF
--   SDL_WAYLAND_LIBDECOR_SHARED (Wanted: ON): OFF
--   SDL_WAYLAND_QT_TOUCH        (Wanted: ON): OFF
--   SDL_WAYLAND_SHARED          (Wanted: ON): OFF
--   SDL_X11                     (Wanted: ON): OFF
--   SDL_X11_SHARED              (Wanted: ON): OFF
--   SDL_X11_XCURSOR             (Wanted: ON): OFF
--   SDL_X11_XDBE                (Wanted: ON): OFF
--   SDL_X11_XFIXES              (Wanted: ON): OFF
--   SDL_X11_XINPUT              (Wanted: ON): OFF
--   SDL_X11_XRANDR              (Wanted: ON): OFF
--   SDL_X11_XSCRNSAVER          (Wanted: ON): OFF
--   SDL_X11_XSHAPE              (Wanted: ON): OFF
--   SDL_XINPUT                  (Wanted: OFF): OFF
--
--  CMAKE_C_FLAGS_DEBUG:   -g
--  CMAKE_CXX_FLAGS_DEBUG: -g
--
--  CFLAGS:         -idirafter "/home/daniel/Work/qgroundcontrol/build/_deps/sdl-src/src/video/khronos" -DHAVE_LINUX_VERSION_H
--  EXTRA_CFLAGS:   -Wall -Wundef -fno-strict-aliasing -Wdeclaration-after-statement -fvisibility=hidden -Wshadow -Wno-unused-local-typedefs -fdiagnostics-color=always -D_REENTRANT
--  EXTRA_LDFLAGS: -pthread -Wl,--no-undefined
--  EXTRA_LIBS:    m;dl
--
--  Build Shared Library: OFF
--  Build Static Library: ON
--  Build Static Library with Position Independent Code: ON
--
-- If something was not detected, although the libraries
-- were installed, then make sure you have set the
-- CFLAGS and LDFLAGS environment variables correctly.
--
-- Not enabling format target (clang-format not found)
-- Could NOT find ZLIB: Found unsuitable version "1.2.11", but required is at least "1.3" (found /usr/lib/aarch64-linux-gnu/libz.a, )
-- Checking for module 'ZLIB>=1.3'
--   No package 'ZLIB' found
-- Could NOT find Shapelib (missing: Shapelib_INCLUDE_DIR Shapelib_LIBRARY) (Required is at least version "1.6.0")
-- Building Shapelib
-- CMake version = 3.31.0
-- CMAKE_SYSTEM_NAME = Linux
-- CMAKE_INSTALL_LIBDIR lib
-- UTMSP: Dummy is Initialized
-- QGC_ENABLE_GST_VIDEOSTREAMING="ON"
-- GSTREAMER_PREFIX="/usr"
-- GSTREAMER_LIB_PATH="/usr/lib/x86_64-linux-gnu"
-- Checking for module 'gobject-2.0'
--   Found gobject-2.0, version 2.64.6
-- PKG_CONFIG_PATH /usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/x86_64-linux-gnu/gstreamer-1.0/pkgconfig:/usr/lib/aarch64-linux-gnu/pkgconfig
-- PKG_CONFIG_LIBDIR
-- PKG_CONFIG_EXECUTABLE="/usr/bin/pkg-config" ; PKG_CONFIG_ARGN=""
-- GStreamer_VERSION="1.16.3"
-- GST_VERSION_MAJOR="1" ; GST_VERSION_MINOR="16" ; GST_VERSION_PATCH="3"
-- GST_PLUGINS_VERSION="1.16.3"
-- Checking for module 'gstreamer-gl-prototypes-1.0'
--   No package 'gstreamer-gl-prototypes-1.0' found
-- Checking for module 'gstreamer-gl-wayland-1.0'
--   No package 'gstreamer-gl-wayland-1.0' found
-- Checking for module 'gstreamer-gl-x11-1.0'
--   No package 'gstreamer-gl-x11-1.0' found
-- Checking for module 'gstreamer-photography-1.0'
--   No package 'gstreamer-photography-1.0' found
-- Checking for module 'gstreamer-va-1.0'
--   No package 'gstreamer-va-1.0' found
-- GSTREAMER_PLUGIN_PATH="/usr/lib/x86_64-linux-gnu/gstreamer-1.0"
-- plugin="gstcoreelements"
-- plugin="gstisomp4"
-- plugin="gstlibav"
-- plugin="gstmatroska"
-- plugin="gstmpegtsdemux"
-- plugin="gstopengl"
-- plugin="gstplayback"
-- plugin="gstrtp"
-- plugin="gstrtpmanager"
-- plugin="gstrtsp"
-- plugin="gstsdpelem"
-- plugin="gsttcp"
-- plugin="gstudp"
-- plugin="gstvideoparsersbad"
-- plugin="gstx264"
-- plugin="gstapp"
-- plugin="gstvaapi"
-- QGC_GST_QT6_PLUGIN_PATH="/home/daniel/Work/qgroundcontrol/src/VideoManager/VideoReceiver/GStreamer/gstqml6gl/qt6"
-- QGC_ENABLE_QT_VIDEOSTREAMING="OFF"
-- Viewer3D is Initialized
-- Install prefix:            /home/daniel/Work/qgroundcontrol/build/AppDir/usr
-- ------------------------------------------------------------------
-- CMake Generator:           Ninja
-- CMAKE_BUILD_TYPE:          Debug
-- Compiler info:             GNU (/usr/bin/c++) ; version: 9.4.0
-- CMAKE_CXX_STANDARD:        17
--  --- Compiler flags ---
-- General:
-- Extra:
-- Debug:                     -g
-- Release:                   -O3 -DNDEBUG
-- RelWithDebInfo:            -O2 -g -DNDEBUG
-- MinSizeRel:                -Os -DNDEBUG
--  --- Linker flags ---
-- General:
-- Debug:
-- Release:
-- RelWithDebInfo:
-- MinSizeRel:
--
-- CMake Version:             3.31.0
-- CMake Prefix:
-- CMake Host System Name:    Linux
-- CMake Host System Version: 5.10.216-tegra
-- CMake System Name:         Linux
-- CMake System Version:      5.10.216-tegra
-- CMake Source Dir:          /home/daniel/Work/qgroundcontrol
-- CMake Toolchain File:
-- App Name:                  QGroundControl
-- Org Name:                  QGroundControl.org
-- App Domain:                org.qgroundcontrol
-- App Version:               latest-60-g1b8f5037a
-- Stable Build:              NO
-- Building Tests:            NO
-- Debug QML:                 NO
-- No Serial Links:           NO
-- Disable APM MAVLink:       NO
-- Build Dependencies:        NO
qmldir file not found at "/home/daniel/Work/qgroundcontrol/build/qml/QGroundControl"
-- Configuring done (16.1s)
CMake Error in src/VideoManager/VideoReceiver/GStreamer/gstqml6gl/CMakeLists.txt:
  Imported target "GStreamer::GStreamer" includes non-existent path

    "/usr/lib/x86_64-linux-gnu/glib-2.0/include"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.



CMake Error in src/VideoManager/VideoReceiver/GStreamer/gstqml6gl/CMakeLists.txt:
  Imported target "GStreamer::GStreamer" includes non-existent path

    "/usr/lib/x86_64-linux-gnu/glib-2.0/include"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.



-- Generating done (2.7s)
CMake Generate step failed.  Build files cannot be regenerated correctly.
@HTRamsey
Copy link
Collaborator

The build system isn't adapted for embedded linux at the moment

@lida2003
Copy link
Author

lida2003 commented Nov 20, 2024

@HTRamsey Oh, really? I just got my jetson working. If the above issue is fixed, then it's perfectly amazing.

Hope someone can help!

Screenshot from 2024-11-20 08-33-54

@HTRamsey
Copy link
Collaborator

In the mean time you can probably disable video and it should work

@lida2003
Copy link
Author

@HTRamsey I'll check if the video is OK or NOT.

BTW, Is there any embedded hardware avaliable for QGC?

@lida2003
Copy link
Author

lida2003 commented Nov 20, 2024

@HTRamsey

I checked rtp video(It has NVIDIA support), but it didn't work. Does it has something to do with subsystem as below configured?

And how to enable it? Get those SDL* options on?

-- Subsystems:
--   Atomic:    ON
--   Audio:     OFF
--   Video:     OFF
--   Render:    OFF
--   Events:    ON
--   Joystick:  ON
--   Haptic:    ON
--   Hidapi:    ON
--   Power:     ON
--   Threads:   ON
--   Timers:    OFF
--   File:      OFF
--   Loadso:    ON
--   CPUinfo:   ON
--   Filesystem:        OFF
--   Sensor:    OFF
--   Locale:    OFF
--   Misc:      OFF

图片

@lida2003
Copy link
Author

lida2003 commented Nov 20, 2024

@HTRamsey Now I got all kind of warning message removed.

But there is still no video, is there anyway can help to debug the issue?

  • here is the log
 ./build/QGroundControl
qgc.qgcapplication: Settings location "/home/daniel/.config/QGroundControl.org/QGroundControl Daily.ini" Is writable?: true
Filter rules "*Log.debug=false\nqgc.*.debug=false\nGStreamerAPILog.debug=true\nqt.qml.connections=false"
PX4ParameterMetaDataLog: Invalid max value, name: "VTQ_TELEM_IDS_1"  type: 5  max: "4294967295"  error: "Value must be within 0 and 2147483647"
PX4ParameterMetaDataLog: Invalid value for bitmask, bit: 31
PX4ParameterMetaDataLog: Invalid max value, name: "VTQ_TELEM_IDS_1"  type: 5  max: "4294967295"  error: "Value must be within 0 and 2147483647"
PX4ParameterMetaDataLog: Invalid value for bitmask, bit: 31
PX4ParameterMetaDataLog: Invalid max value, name: "VTQ_TELEM_IDS_1"  type: 5  max: "4294967295"  error: "Value must be within 0 and 2147483647"
PX4ParameterMetaDataLog: Invalid value for bitmask, bit: 31
Adding target QHostAddress("127.0.0.1") 51824
VideoReceiverLog: Unable to link video sink
VideoReceiverLog: _addVideoSink() failed
Opening in BLOCKING MODE 
NvMMLiteOpen : Block : BlockType = 279 
NvMMLiteBlockCreate : Block : BlockType = 279 



VideoReceiverLog: Stop called on empty URI
Exiting main
VideoReceiverLog: Stop called on empty URI
  • configure
$ cmake -DQt6_DIR=/opt/Qt/6.7.3/gcc_arm64/lib/cmake/Qt6/ -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug
-- Found Git: /usr/bin/git (found version "2.25.1")
-- QGC_GIT_BRANCH="master"
-- QGC_GIT_HASH="1b8f5037a"
-- QGC_APP_VERSION_STR="latest-60-g1b8f5037a"
-- QGC_APP_VERSION="v4.3.0"
-- QGC_APP_DATE="2023-11-20T18:46:48-08:00"
-- QGC_APP_VERSION_VALID="0"
-- QGC_APP_VERSION="4.3.0" ; QGC_APP_VERSION_MAJOR="4" ; QGC_APP_VERSION_MINOR="3" ; QGC_APP_VERSION_PATCH="0"
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using CCache
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
-- Performing Test HAVE_STDATOMIC
-- Performing Test HAVE_STDATOMIC - Success
-- Found WrapAtomic: TRUE
-- Found OpenGL: /usr/lib/aarch64-linux-gnu/libOpenGL.so
-- Found WrapOpenGL: TRUE
-- Found XKB: /usr/lib/aarch64-linux-gnu/libxkbcommon.so (found suitable version "0.10.0", minimum required is "0.5.0")
-- Found WrapVulkanHeaders: /usr/include
-- Found Wayland_Client: /usr/lib/aarch64-linux-gnu/libwayland-client.so (found version "1.18.0")
-- Found Wayland_Server: /usr/lib/aarch64-linux-gnu/libwayland-server.so (found version "1.18.0")
-- Found Wayland_Cursor: /usr/lib/aarch64-linux-gnu/libwayland-cursor.so (found version "1.18.0")
-- Found Wayland_Egl: /usr/lib/aarch64-linux-gnu/libwayland-egl.so (found version "18.1.0")
-- Found Wayland: /usr/lib/aarch64-linux-gnu/libwayland-client.so;/usr/lib/aarch64-linux-gnu/libwayland-server.so;/usr/lib/aarch64-linux-gnu/libwayland-cursor.so;/usr/lib/aarch64-linux-gnu/libwayland-egl.so (found suitable version "1.18.0", minimum required is "1.15")
-- Found WaylandScanner: /usr/bin/wayland-scanner
-- Found LibExiv2: /usr/local/lib/libexiv2.so (found suitable version "0.28.3", minimum required is "0.28.2")
-- Checking for module 'speech-dispatcher'
--   Found speech-dispatcher, version 0.9.1
-- Performing Test HAVE_FLITE
-- Performing Test HAVE_FLITE - Success
-- Found Flite: /usr/lib/aarch64-linux-gnu/libflite.so
-- Found GeographicLib: /usr/local/lib (Required is at least version "2.3")
-- Found GeographicLib
-- GeographicLib_LIBRARIES="/usr/local/lib/libGeographicLib.so" ; GeographicLib_INCLUDE_DIRS="/usr/local/include" ; GeographicLib_LIBRARY_DIRS="/usr/local/lib"
-- Joystick_targets="Joystick_resources_2;Joystickplugin_init"
-- Found SDL2: /usr/local/lib/libSDL2.so (found suitable version "2.30.9", minimum required is "2.30.0")
-- Found SDL2main: /usr/local/lib/libSDL2main.a (found version "2.30.9")
-- Found JoystickSDL 2.30.9
-- Not enabling format target (clang-format not found)
-- Found ZLIB: /usr/local/lib/libz.a (found suitable version "1.3.1", minimum required is "1.3")
-- Found ZLIB 1.3.1
-- Found Shapelib: /usr/local/include (found suitable version "1.6.1", minimum required is "1.6.0")
-- Found Shapelib 1.6.1
-- UTMSP: Dummy is Initialized
-- QGC_ENABLE_GST_VIDEOSTREAMING="ON"
-- GSTREAMER_PREFIX="/usr"
-- GSTREAMER_LIB_PATH="/usr/lib/x86_64-linux-gnu"
-- Found GLIB2: /usr/lib/aarch64-linux-gnu/libglib-2.0.so
-- Checking for module 'gobject-2.0'
--   Found gobject-2.0, version 2.64.6
-- PKG_CONFIG_PATH /usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/x86_64-linux-gnu/gstreamer-1.0/pkgconfig:
-- PKG_CONFIG_LIBDIR
-- PKG_CONFIG_EXECUTABLE="/usr/bin/pkg-config" ; PKG_CONFIG_ARGN=""
-- Checking for module 'gstreamer-1.0'
--   Found gstreamer-1.0, version 1.16.3
-- GStreamer_VERSION="1.16.3"
-- GST_VERSION_MAJOR="1" ; GST_VERSION_MINOR="16" ; GST_VERSION_PATCH="3"
-- GST_PLUGINS_VERSION="1.16.3"
-- Checking for module 'gstreamer-1.0'
--   Found gstreamer-1.0, version 1.16.3
-- Checking for module 'gstreamer-base-1.0'
--   Found gstreamer-base-1.0, version 1.16.3
-- Checking for module 'gstreamer-video-1.0'
--   Found gstreamer-video-1.0, version 1.16.3
-- Checking for module 'gstreamer-gl-1.0'
--   Found gstreamer-gl-1.0, version 1.16.3
-- Checking for module 'gstreamer-allocators-1.0'
--   Found gstreamer-allocators-1.0, version 1.16.3
-- Checking for module 'libdrm'
--   Found libdrm, version 2.4.107
-- Checking for module 'gstreamer-app-1.0'
--   Found gstreamer-app-1.0, version 1.16.3
-- Checking for module 'gstreamer-audio-1.0'
--   Found gstreamer-audio-1.0, version 1.16.3
-- Checking for module 'gstreamer-codecparsers-1.0'
--   Found gstreamer-codecparsers-1.0, version 1.16.3
-- Checking for module 'gstreamer-controller-1.0'
--   Found gstreamer-controller-1.0, version 1.16.3
-- Checking for module 'gstreamer-fft-1.0'
--   Found gstreamer-fft-1.0, version 1.16.3
-- Checking for module 'gstreamer-gl-prototypes-1.0'
--   No package 'gstreamer-gl-prototypes-1.0' found
-- Checking for module 'gstreamer-gl-wayland-1.0'
--   No package 'gstreamer-gl-wayland-1.0' found
-- Checking for module 'gstreamer-gl-x11-1.0'
--   No package 'gstreamer-gl-x11-1.0' found
-- Checking for module 'gstreamer-mpegts-1.0'
--   Found gstreamer-mpegts-1.0, version 1.16.3
-- Checking for module 'gstreamer-net-1.0'
--   Found gstreamer-net-1.0, version 1.16.3
-- Checking for module 'gstreamer-pbutils-1.0'
--   Found gstreamer-pbutils-1.0, version 1.16.3
-- Checking for module 'gstreamer-photography-1.0'
--   No package 'gstreamer-photography-1.0' found
-- Checking for module 'gstreamer-riff-1.0'
--   Found gstreamer-riff-1.0, version 1.16.3
-- Checking for module 'gstreamer-rtp-1.0'
--   Found gstreamer-rtp-1.0, version 1.16.3
-- Checking for module 'gstreamer-sdp-1.0'
--   Found gstreamer-sdp-1.0, version 1.16.3
-- Checking for module 'gstreamer-rtsp-1.0'
--   Found gstreamer-rtsp-1.0, version 1.16.3
-- Checking for module 'gstreamer-tag-1.0'
--   Found gstreamer-tag-1.0, version 1.16.3
-- Checking for module 'gstreamer-va-1.0'
--   No package 'gstreamer-va-1.0' found
-- Found GStreamer: TRUE  found components: Allocators App Audio Codecparsers Controller Fft Mpegts Net Pbutils Riff Rtp Rtsp Sdp Tag missing components: GlEGL GlPrototypes GlWayland GlX11 Photography Va
-- GSTREAMER_PLUGIN_PATH="/usr/lib/x86_64-linux-gnu/gstreamer-1.0"
-- plugin="gstcoreelements"
-- plugin="gstisomp4"
-- plugin="gstlibav"
-- plugin="gstmatroska"
-- plugin="gstopengl"
-- plugin="gstplayback"
-- plugin="gstrtp"
-- plugin="gstrtpmanager"
-- plugin="gstrtsp"
-- plugin="gsttcp"
-- plugin="gstudp"
-- plugin="gstx264"
-- plugin="gstapp"
-- plugin="gstvaapi"
-- QGC_GST_QT6_PLUGIN_PATH="/home/daniel/Work/qgroundcontrol/src/VideoManager/VideoReceiver/GStreamer/gstqml6gl/qt6"
-- QGC_ENABLE_QT_VIDEOSTREAMING="OFF"
-- Viewer3D is Initialized
-- Install prefix:            /home/daniel/Work/qgroundcontrol/build/AppDir/usr
-- ------------------------------------------------------------------
-- CMake Generator:           Ninja
-- CMAKE_BUILD_TYPE:          Debug
-- Compiler info:             GNU (/usr/bin/c++) ; version: 9.4.0
-- CMAKE_CXX_STANDARD:        17
--  --- Compiler flags ---
-- General:
-- Extra:
-- Debug:                     -g
-- Release:                   -O3 -DNDEBUG
-- RelWithDebInfo:            -O2 -g -DNDEBUG
-- MinSizeRel:                -Os -DNDEBUG
--  --- Linker flags ---
-- General:
-- Debug:
-- Release:
-- RelWithDebInfo:
-- MinSizeRel:
--
-- CMake Version:             3.31.0
-- CMake Prefix:
-- CMake Host System Name:    Linux
-- CMake Host System Version: 5.10.216-tegra
-- CMake System Name:         Linux
-- CMake System Version:      5.10.216-tegra
-- CMake Source Dir:          /home/daniel/Work/qgroundcontrol
-- CMake Toolchain File:
-- App Name:                  QGroundControl
-- Org Name:                  QGroundControl.org
-- App Domain:                org.qgroundcontrol
-- App Version:               latest-60-g1b8f5037a
-- Stable Build:              NO
-- Building Tests:            YES
-- Debug QML:                 NO
-- No Serial Links:           NO
-- Disable APM MAVLink:       NO
-- Build Dependencies:        NO
qmldir file not found at "/home/daniel/Work/qgroundcontrol/build/qml/QGroundControl"
-- Configuring done (38.2s)
-- Generating done (2.8s)
-- Build files have been written to: /home/daniel/Work/qgroundcontrol/build

@lida2003
Copy link
Author

lida2003 commented Nov 25, 2024

Please let me know if you have any idea or findings.

I got below error when launch QGC. The video feed is H264, it works find on jetson video-viewer and other local network pc.

So the video source is OK.

$ ./build/QGroundControl
qgc.qgcapplication: Settings location "/home/daniel/.config/QGroundControl.org/QGroundControl Daily.ini" Is writable?: true
Filter rules "*Log.debug=false\nqgc.*.debug=false\nGStreamerAPILog.debug=true\nqt.qml.connections=false"
PX4ParameterMetaDataLog: Invalid max value, name: "VTQ_TELEM_IDS_1"  type: 5  max: "4294967295"  error: "Value must be within 0 and 2147483647"
PX4ParameterMetaDataLog: Invalid value for bitmask, bit: 31
PX4ParameterMetaDataLog: Invalid max value, name: "VTQ_TELEM_IDS_1"  type: 5  max: "4294967295"  error: "Value must be within 0 and 2147483647"
PX4ParameterMetaDataLog: Invalid value for bitmask, bit: 31
PX4ParameterMetaDataLog: Invalid max value, name: "VTQ_TELEM_IDS_1"  type: 5  max: "4294967295"  error: "Value must be within 0 and 2147483647"
PX4ParameterMetaDataLog: Invalid value for bitmask, bit: 31
VideoReceiverLog: GStreamer error: Your GStreamer installation is missing a plug-in.
Adding target QHostAddress("127.0.0.1") 52824
VideoReceiverLog: GStreamer error: Your GStreamer installation is missing a plug-in.
VideoReceiverLog: GStreamer error: Your GStreamer installation is missing a plug-in.
VideoReceiverLog: GStreamer error: Your GStreamer installation is missing a plug-in.
VideoReceiverLog: GStreamer error: Your GStreamer installation is missing a plug-in.
VideoReceiverLog: GStreamer error: Your GStreamer installation is missing a plug-in.
VideoReceiverLog: GStreamer error: Your GStreamer installation is missing a plug-in.
VideoReceiverLog: GStreamer error: Your GStreamer installation is missing a plug-in.
^CVideoReceiverLog: Stop called on empty URI
Exiting main
VideoReceiverLog: Stop called on empty URI
  • And those video/audio plugin seems fine on jetson: such as gstreamer1.0-libav /gstreamer1.0-plugins-bad / gstreamer1.0-plugins-good etc. Please help to check if I missed some critical component.
$ aptitude search gstreamer1.0-
p   gstreamer1.0-adapter-pulseeffects                                           - GStreamer adapter plugin
i   gstreamer1.0-alsa                                                           - GStreamer plugin for ALSA
v   gstreamer1.0-audiosink                                                      -
v   gstreamer1.0-audiosource                                                    -
p   gstreamer1.0-autogain-pulseeffects                                          - GStreamer autogain plugin
i A gstreamer1.0-clutter-3.0                                                    - Clutter PLugin for GStreamer 1.0
p   gstreamer1.0-convolver-pulseeffects                                         - GStreamer convolver plugin
p   gstreamer1.0-crystalizer-pulseeffects                                       - GStreamer crystalizer plugin
p   gstreamer1.0-doc                                                            - GStreamer core documentation and manuals
p   gstreamer1.0-espeak                                                         - GStreamer plugin for eSpeak speech synthesis
i   gstreamer1.0-gl                                                             - GStreamer plugins for GL
i A gstreamer1.0-gtk3                                                           - GStreamer plugin for GTK+3
i   gstreamer1.0-libav                                                          - ffmpeg plugin for GStreamer
p   gstreamer1.0-libav-dbg                                                      - ffmpeg plugin for GStreamer (debug symbols)
p   gstreamer1.0-nice                                                           - ICE library (GStreamer plugin)
p   gstreamer1.0-omx-bellagio-config                                            - OpenMax plugins for GStreamer
p   gstreamer1.0-omx-generic                                                    - OpenMax plugins for GStreamer
p   gstreamer1.0-omx-generic-config                                             - OpenMax plugins for GStreamer
p   gstreamer1.0-opencv                                                         - GStreamer OpenCV plugins
i A gstreamer1.0-packagekit                                                     - GStreamer plugin to install codecs using PackageKit
p   gstreamer1.0-pipewire                                                       - GStreamer 1.0 plugin for the PipeWire multimedia server
i   gstreamer1.0-plugins-bad                                                    - GStreamer plugins from the "bad" set
p   gstreamer1.0-plugins-bad-dbg                                                - GStreamer plugins from the "bad" set (debug symbols)
p   gstreamer1.0-plugins-bad-doc                                                - GStreamer documentation for plugins from the "bad" set
v   gstreamer1.0-plugins-bad-faad                                               -
v   gstreamer1.0-plugins-bad-videoparsers                                       -
i   gstreamer1.0-plugins-base                                                   - GStreamer plugins from the "base" set
i A gstreamer1.0-plugins-base-apps                                              - GStreamer helper programs from the "base" set
p   gstreamer1.0-plugins-base-dbg                                               - GStreamer plugins from the "base" set
p   gstreamer1.0-plugins-base-doc                                               - GStreamer documentation for plugins from the "base" set
i   gstreamer1.0-plugins-good                                                   - GStreamer plugins from the "good" set
p   gstreamer1.0-plugins-good-dbg                                               - GStreamer plugins from the "good" set
p   gstreamer1.0-plugins-good-doc                                               - GStreamer documentation for plugins from the "good" set
i   gstreamer1.0-plugins-rtp                                                    - GStreamer elements from the "rtp" set
i   gstreamer1.0-plugins-ugly                                                   - GStreamer plugins from the "ugly" set
v   gstreamer1.0-plugins-ugly-amr                                               -
p   gstreamer1.0-plugins-ugly-dbg                                               - GStreamer plugins from the "ugly" set (debug symbols)
p   gstreamer1.0-plugins-ugly-doc                                               - GStreamer documentation for plugins from the "ugly" set
p   gstreamer1.0-pocketsphinx                                                   - Speech recognition tool - GStreamer plugin
i A gstreamer1.0-pulseaudio                                                     - GStreamer plugin for PulseAudio
p   gstreamer1.0-python3-dbg-plugin-loader                                      - GStreamer Loader for Python Plugin (Python 3, debug extensions)
p   gstreamer1.0-python3-plugin-loader                                          - GStreamer Loader for Python Plugin (Python 3)
p   gstreamer1.0-qt5                                                            - GStreamer plugin for Qt5
i   gstreamer1.0-rtsp                                                           - RTSP plugin for GStreamer
p   gstreamer1.0-rtsp-dbg                                                       - RTSP plugin for GStreamer
i   gstreamer1.0-tools                                                          - Tools for use with GStreamer
i   gstreamer1.0-vaapi                                                          - VA-API plugins for GStreamer
p   gstreamer1.0-vaapi-doc                                                      - GStreamer VA-API documentation and manuals
v   gstreamer1.0-videosink                                                      -
v   gstreamer1.0-videosource                                                    -
v   gstreamer1.0-visualization                                                  -
i   gstreamer1.0-x                                                              - GStreamer plugins for X11 and Pango
i   libgstreamer1.0-0                                                           - Core GStreamer libraries and elements
i   libgstreamer1.0-0-dbg                                                       - Core GStreamer libraries and elements
i   libgstreamer1.0-dev                                                         - GStreamer core development files
  • libav is installed
$ aptitude search libav
i   gstreamer1.0-libav                                      - ffmpeg plugin for GStreamer
p   gstreamer1.0-libav-dbg                                  - ffmpeg plugin for GStreamer (debug symbols)
p   libavahi-client-dev                                     - Development files for the Avahi client library
i A libavahi-client3                                        - Avahi client library
i A libavahi-common-data                                    - Avahi common data files
p   libavahi-common-dev                                     - Development files for the Avahi common library
i A libavahi-common3                                        - Avahi common library
p   libavahi-compat-libdnssd-dev                            - Development headers for the Avahi Apple Bonjour compatibility libr
p   libavahi-compat-libdnssd1                               - Avahi Apple Bonjour compatibility library
p   libavahi-core-dev                                       - Development files for Avahi's embeddable mDNS/DNS-SD library
i A libavahi-core7                                          - Avahi's embeddable mDNS/DNS-SD library
p   libavahi-glib-dev                                       - Development headers for the Avahi GLib integration library
i A libavahi-glib1                                          - Avahi GLib integration library
p   libavahi-gobject-dev                                    - Development headers for the Avahi GObject library
p   libavahi-gobject0                                       - Avahi GObject library
i A libavahi-ui-gtk3-0                                      - Avahi GTK+ User interface library for GTK3
p   libavahi-ui-gtk3-dev                                    - Development headers for the Avahi GTK+ User interface library
p   libavalon-framework-java                                - Common framework for Java server applications
p   libavalon-framework-java-doc                            - Common framework for Java server applications (API)
i A libavc1394-0                                            - control IEEE 1394 audio/video devices
p   libavc1394-dev                                          - control IEEE 1394 audio/video devices (development files)
p   libavc1394-tools                                        - control IEEE 1394 audio/video devices (utilities)
p   libavcall1                                              - foreign function call libraries - calling C functions with variabl
i   libavcodec-dev                                          - FFmpeg library with de/encoders for audio/video codecs - developme
p   libavcodec-extra                                        - FFmpeg library with extra codecs (metapackage)
p   libavcodec-extra58                                      - FFmpeg library with additional de/encoders for audio/video codecs
i   libavcodec58                                            - FFmpeg library with de/encoders for audio/video codecs - runtime f
p   libavdevice-dev                                         - FFmpeg library for handling input and output devices - development
p   libavdevice58                                           - FFmpeg library for handling input and output devices - runtime fil
p   libavfilter-dev                                         - FFmpeg library containing media filters - development files
p   libavfilter-extra                                       - FFmpeg library with extra filters (metapackage)
p   libavfilter-extra7                                      - FFmpeg library with extra media filters - runtime files
i A libavfilter7                                            - FFmpeg library containing media filters - runtime files
i   libavformat-dev                                         - FFmpeg library with (de)muxers for multimedia containers - develop
i   libavformat58                                           - FFmpeg library with (de)muxers for multimedia containers - runtime
p   libavifile-0.7-bin                                      - toolkit for libavifile
p   libavifile-0.7-common                                   - toolkit for libavifile
p   libavifile-0.7-dev                                      - development header files for libavifile
p   libavifile-0.7c2                                        - shared libraries for AVI read/writing
p   libavis-dev                                             - high-performance publish/subscribe event router (C client library)
p   libavis0                                                - high-performance publish/subscribe event router (C client library)
p   libavkys-dev                                            - full featured webcam capture application - dev
p   libavkys8                                               - full featured webcam capture application - library
p   libavl-dev                                              - AVL tree manipulation library - development
p   libavl1                                                 - AVL tree manipulation library - runtime
p   libavogadro-dev                                         - Molecular Graphics and Modelling System (development files)
p   libavogadro-doc                                         - Molecular Graphics and Modelling System (lib documentation)
p   libavogadro2-1                                          - Molecular Graphics and Modelling System (library)
p   libavresample-dev                                       - FFmpeg compatibility library for resampling - development files
p   libavresample4                                          - FFmpeg compatibility library for resampling - runtime files
p   libavro-compiler-java                                   - Apache Avro compiler for Java
p   libavro-dev                                             - Apache Avro C library headers (avro-c)
p   libavro-java                                            - Apache Avro data serialization system
p   libavro-maven-plugin-java                               - Apache Avro Maven plugin
p   libavro23                                               - Apache Avro C shared library (avro-c)
i A libavutil-dev                                           - FFmpeg library with functions for simplifying programming - develo
i   libavutil56                                             - FFmpeg library with functions for simplifying programming - runtim
  • ffmpeg is ok
$ aptitude search ffmpeg
p   baresip-ffmpeg                                          - portable and modular SIP user-agent - FFmpeg codecs and formats
p   chromium-codecs-ffmpeg                                  - Transitional package - chromium-codecs-ffmpeg -> chromium-ffmpeg s
i A chromium-codecs-ffmpeg-extra                            - Transitional package - chromium-codecs-ffmpeg-extra -> chromium-ff
p   cmus-plugin-ffmpeg                                      - lightweight ncurses audio player (FFmpeg plugin)
i   ffmpeg                                                  - Tools for transcoding, streaming and playing of multimedia files
p   ffmpeg-doc                                              - Documentation of the FFmpeg multimedia framework
p   ffmpeg2theora                                           - Theora video encoder using ffmpeg
p   ffmpegfs                                                - Fuse Multi Media Filesystem
p   ffmpegthumbnailer                                       - fast and lightweight video thumbnailer
p   ffmpegthumbnailer-dbg                                   - debugging information for ffmpegthumbnailer
p   ffmpegthumbs                                            - video thumbnail generator using ffmpeg
p   gmerlin-encoders-ffmpeg                                 - ffmpeg encoders for Gmerlin
p   libffmpeg-nvenc-dev                                     - FFmpeg headers for interfacing with NVIDIA's codec APIs
p   libffmpeg-ocaml                                         - OCaml interface for FFmpeg -- runtime files
v   libffmpeg-ocaml-aoje0                                   -
p   libffmpeg-ocaml-dev                                     - OCaml interface for FFmpeg -- development files
v   libffmpeg-ocaml-dev-aoje0                               -
p   libffmpegthumbnailer-dev                                - development files for ffmpegthumbnailer
p   libffmpegthumbnailer4v5                                 - shared library for ffmpegthumbnailer
p   libspa-ffmpeg                                           - libraries for the PipeWire multimedia server - ffmpeg plugins
p   libxine2-ffmpeg                                         - MPEG-related plugins for libxine2
p   moc-ffmpeg-plugin                                       - ncurses based console audio player - ffmpeg plugin

@lida2003
Copy link
Author

Made a little bit of progress: #10638

$ ./build/QGroundControl --logging:VideoAllLog,GStreamerLog,GStreamerAPILog
qgc.qgcapplication: Settings location "/home/daniel/.config/QGroundControl.org/QGroundControl Daily.ini" Is writable?: true
Filter rules "*Log.debug=false\nqgc.*.debug=false\nVideoAllLog.debug=true\nGStreamerLog.debug=true\nGStreamerAPILog.debug=true\nVideoManagerLog.debug=true\nVideoReceiverLog.debug=true\nGStreamerLog.debug=true\nGStreamerAPILog.debug=true\nqt.qml.connections=false"
PX4ParameterMetaDataLog: Invalid max value, name: "VTQ_TELEM_IDS_1"  type: 5  max: "4294967295"  error: "Value must be within 0 and 2147483647"
PX4ParameterMetaDataLog: Invalid value for bitmask, bit: 31
VideoReceiverLog: Starting "udp265://0.0.0.0:5600" , buffer -1
VideoReceiverLog: Started "udp265://0.0.0.0:5600"
PX4ParameterMetaDataLog: Invalid max value, name: "VTQ_TELEM_IDS_1"  type: 5  max: "4294967295"  error: "Value must be within 0 and 2147483647"
PX4ParameterMetaDataLog: Invalid value for bitmask, bit: 31
PX4ParameterMetaDataLog: Invalid max value, name: "VTQ_TELEM_IDS_1"  type: 5  max: "4294967295"  error: "Value must be within 0 and 2147483647"
PX4ParameterMetaDataLog: Invalid value for bitmask, bit: 31
VideoReceiverLog: Streaming started "udp265://0.0.0.0:5600"
Adding target QHostAddress("127.0.0.1") 52824
VideoReceiverLog: Starting decoding "udp265://0.0.0.0:5600"
VideoReceiverLog: Decoding started "udp265://0.0.0.0:5600"
VideoReceiverLog: _onNewDecoderPad "udp265://0.0.0.0:5600"
VideoReceiverLog: Unable to link video sink
VideoReceiverLog: _addVideoSink() failed
Opening in BLOCKING MODE
NvMMLiteOpen : Block : BlockType = 279
NvMMLiteBlockCreate : Block : BlockType = 279

@lida2003
Copy link
Author

@Sheliahovskyi
Copy link

I have the same build issue with Gstreamer on the latest master branch on linux FEDORA40.
CMAKE Log:
[cmake] CMake Error in src/VideoManager/VideoReceiver/GStreamer/gstqml6gl/CMakeLists.txt:
[cmake] Imported target "GStreamer::GStreamer" includes non-existent path
[cmake]
[cmake] "/usr/lib/x86_64-linux-gnu/glib-2.0/include"

@HTRamsey
Copy link
Collaborator

@Sheliahovskyi I don't use Fedora, so maybe the paths are different

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants