dji-sdk / Onboard-SDK

DJI Onboard SDK Official Repository
https://github.com/dji-sdk/Onboard-SDK
Other
901 stars 631 forks source link

Compiling Sample Code issue: "malloc(): invalid size (unsorted)" #822

Open KacperLa opened 2 years ago

KacperLa commented 2 years ago

Hello, I recently downloaded and built the OSDK per the instructions in the documentation, and everything was great. I was able to get my hardware to talk to the M300 without any issues. My next goal was to compile the mission sample by itself so that I can use it as a starting point for my application. I created a CMakeList for the sample by resolving error logs and following advice, I found in several forms, after I "successfully" complied the sample I keep getting the following error when I run the sample.

Read App ID User Configuration read successfully.

[1333303.567]ERRORLOG/1 @ initVehicle, L222: Failed to initialize ACM Linker channel! malloc(): invalid size (unsorted) Aborted

Here is my CMakeList I am not sure it's 100% correct.

cmake_minimum_required(VERSION 2.8)
project(DJI-PILOT)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -pthread -g -O0")

set(ARCH armv8)

set(ONBOARDSDK_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/libraries/Onboard-SDK/osdk-core")

set(CURRENT_CMAKE_MODULE_PATH ${ONBOARDSDK_SOURCE}/cmake-modules)
set(CMAKE_MODULE_PATH ${CURRENT_CMAKE_MODULE_PATH})

#Specify locations for osdk-core headers
include_directories(${ONBOARDSDK_SOURCE}/api/inc)
include_directories(${ONBOARDSDK_SOURCE}/utility/inc)
include_directories(${ONBOARDSDK_SOURCE}/hal/inc)
include_directories(${ONBOARDSDK_SOURCE}/protocol/inc)
include_directories(${ONBOARDSDK_SOURCE}/platform/linux/inc)
include_directories(${ONBOARDSDK_SOURCE}/linker/${ARCH}/inc)
include_directories(${ONBOARDSDK_SOURCE}/../sample/platform/linux/hal)
include_directories(${ONBOARDSDK_SOURCE}/../sample/platform/linux/hal/hotplug)
include_directories(${ONBOARDSDK_SOURCE}/../sample/platform/linux/osal)
include_directories(${ONBOARDSDK_SOURCE}/../sample/core/inc)

#include_directories(include /usr/local/include)
#include_directories(include /usr/local/lib)

#User-code related project files
include_directories(${ADVANCED_SENSING_HEADERS_DIR})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/libraries/Onboard-SDK/sample/platform/linux/common)
FILE(GLOB SOURCE_FILES *.hpp *.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/libraries/Onboard-SDK/sample/platform/linux/common/*
    ${CMAKE_CURRENT_SOURCE_DIR}/libraries/Onboard-SDK/sample/platform/linux/hal/*
    ${CMAKE_CURRENT_SOURCE_DIR}/libraries/Onboard-SDK/sample/platform/linux/osal/*
    )

find_package(LibUSB REQUIRED)
find_package(FFMPEG REQUIRED)

add_executable(${PROJECT_NAME}
    ${SOURCE_FILES}
    main.cpp
    mission_sample.cpp
)

target_link_libraries(${PROJECT_NAME}
    djiosdk-core
    dji-linker
    ${ONBOARDSDK_SOURCE}/linker/${ARCH}/lib/libdji-linker.a
    advanced-sensing
    ${LIBUSB_1_LIBRARIES}
    ${FFMPEG_LIBRARIES}
)

target_include_directories(${PROJECT_NAME} PUBLIC ${LIBUSB_1_INCLUDE_DIRS})
target_include_directories(${PROJECT_NAME} PUBLIC ${FFMPEG_INCLUDE_DIR})
target_include_directories(${PROJECT_NAME} PUBLIC $<BUILD_INTERFACE:${ADVANCED_SENSING_HEADERS_DIR}>)

Any help is greatly appreciated.

Additional info: Linux master 5.9.14-rockchip64 #20.11.3 SMP PREEMPT Fri Dec 11 20:50:18 CET 2020 aarch64 aarch64 aarch64 GNU/Linux

dji-dev commented 2 years ago

Agent comment from DJI SDK in Zendesk ticket #51819:

尊敬的开发者,感谢您联系DJI 大疆创新 由于github不是我们主要的咨询渠道,您的问题可能跟进不及时。我们建议您通过填写表单( https://djisdksupport.zendesk.com/hc/zh-cn/requests/new )向我们反馈问题。或者您也可以在论坛发帖,与其它开发者交流。论坛链接:https://djisdksupport.zendesk.com/hc/zh-cn/community/topics

Dear developer, thank you for contacting DJI. Since github is not our main consultation channel, your questions may not be followed up in time. We recommend that you fill in the form (https://djisdksupport.zendesk.com/hc/en-us/requests/new) to report problems to us. Or you can post in the forum to communicate with other developers. Forum link: https://djisdksupport.zendesk.com/hc/zh-cn/community/topics

°°°