dji-sdk / Guidance-SDK

The official Guidance SDK package for Windows, Ubuntu and XU3.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add aarch64/arm64 shared libs

pquimby opened this issue · comments

Please build shared libraries for 64b ARM platforms. This will add to the range of mobile computers that can be used with the onboard SDK and increase the computational resources available to users.

You may try to use so/XU3/ibDJI_guidance.so. It works for Raspberry PI 3 Model B.

I think XU3 is Armv7 and boards come after that, like the C2, is Armv8 and the library provided is not compatible.

@pquimby Would you please provide the exact compiler? We can try building the library with specified compiler.

Hi Tangketan,

Thanks for the reply. The compiler I'm using on the Odroid C2 is as follow:

odroid@odroid64:$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/5/lto-wrapper
Target: aarch64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
5.4.0-6ubuntu1
16.04.1'
--with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs
--enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-5 --enable-shared --enable-linker-build-id
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--with-default-libstdcxx-abi=new --enable-gnu-unique-object
--disable-libquadmath --enable-plugin --with-system-zlib
--disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-arm64/jre --enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-arm64
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-arm64
--with-arch-directory=aarch64
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-multiarch
--enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release
--build=aarch64-linux-gnu --host=aarch64-linux-gnu
--target=aarch64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.1)

Which I think is aarch64-linux-gnu-gcc. Please email me back if you need
more information.

Regrads,
Jack

On Mon, Aug 8, 2016 at 11:09 PM, tangketan notifications@github.com wrote:

@pquimby https://github.com/pquimby Would you please provide the exact
compiler? We can try building the library with specified compiler.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
#14 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEo481xNPBHAIFXoUPmL9bkdh8IeMg9kks5qd-9UgaJpZM4IED5E
.

Xiang He, Ph.D. Student
Department of Mechanical Engineering
University of Utah
1495 E. 100 S.
Salt Lake City, Utah 84112
Design, Automation, Robotics & Control (DARC) Lab:
www.kam.k.leang.com/academics
University of Utah Robotics Center (UURC): http://robotics.coe.utah.edu

I just update a so file compiled on 64-bit TX1. Yet the Ubuntu is 14.04. See if you can use that so file.

64-bit TX1 not work on snapgrogen410c

Running command: "cmake /home/linaro/catkin_ws/src -DCATKIN_DEVEL_PREFIX=/home/linaro/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/linaro/catkin_ws/install -G Unix Makefiles" in "/home/linaro/catkin_ws/build"

-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- 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
-- 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
-- Using CATKIN_DEVEL_PREFIX: /home/linaro/catkin_ws/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/kinetic
-- This workspace overlays: /opt/ros/kinetic
-- Found PythonInterp: /usr/bin/python (found version "2.7.9")
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/linaro/catkin_ws/build/test_results
-- Looking for include file pthread.h
-- Looking for include file 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
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.7.4
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~ traversing 1 packages in topological order:
-- ~~ - guidance
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'guidance'
-- ==> add_subdirectory(Guidance-SDK-ROS)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/linaro/catkin_ws/build

Running command: "make -j4 -l4" in "/home/linaro/catkin_ws/build"

Scanning dependencies of target guidanceNodeCalibration
Scanning dependencies of target guidanceNode
Scanning dependencies of target guidanceNodeTest
[ 20%] [ 40%] [ 60%] [ 80%] Building CXX object Guidance-SDK-ROS/CMakeFiles/guidanceNodeCalibration.dir/src/GuidanceNodeCalibration.cpp.o
Building CXX object Guidance-SDK-ROS/CMakeFiles/guidanceNode.dir/src/GuidanceNode.cpp.o
Building CXX object Guidance-SDK-ROS/CMakeFiles/guidanceNodeCalibration.dir/src/DJI_utility.cpp.o
Building CXX object Guidance-SDK-ROS/CMakeFiles/guidanceNodeTest.dir/src/GuidanceNodeTest.cpp.o
[100%] Building CXX object Guidance-SDK-ROS/CMakeFiles/guidanceNode.dir/src/DJI_utility.cpp.o
c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-4.9/README.Bugs for instructions.
Guidance-SDK-ROS/CMakeFiles/guidanceNodeTest.dir/build.make:54: recipe for target 'Guidance-SDK-ROS/CMakeFiles/guidanceNodeTest.dir/src/GuidanceNodeTest.cpp.o' failed
make[2]: *** [Guidance-SDK-ROS/CMakeFiles/guidanceNodeTest.dir/src/GuidanceNodeTest.cpp.o] Error 4
CMakeFiles/Makefile2:562: recipe for target 'Guidance-SDK-ROS/CMakeFiles/guidanceNodeTest.dir/all' failed
make[1]: *** [Guidance-SDK-ROS/CMakeFiles/guidanceNodeTest.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Linking CXX executable /home/linaro/catkin_ws/devel/lib/guidance/guidanceNode
/usr/bin/ld: skipping incompatible /home/linaro/catkin_ws/src/Guidance-SDK-ROS/lib/TK1/libDJI_guidance.so when searching for -lDJI_guidance
//usr/local/lib/libDJI_guidance.so: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
Guidance-SDK-ROS/CMakeFiles/guidanceNode.dir/build.make:172: recipe for target '/home/linaro/catkin_ws/devel/lib/guidance/guidanceNode' failed
make[2]: *** [/home/linaro/catkin_ws/devel/lib/guidance/guidanceNode] Error 1
CMakeFiles/Makefile2:492: recipe for target 'Guidance-SDK-ROS/CMakeFiles/guidanceNode.dir/all' failed
make[1]: *** [Guidance-SDK-ROS/CMakeFiles/guidanceNode.dir/all] Error 2
Linking CXX executable /home/linaro/catkin_ws/devel/lib/guidance/guidanceNodeCalibration
/usr/bin/ld: skipping incompatible /home/linaro/catkin_ws/src/Guidance-SDK-ROS/lib/TK1/libDJI_guidance.so when searching for -lDJI_guidance
//usr/local/lib/libDJI_guidance.so: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
Guidance-SDK-ROS/CMakeFiles/guidanceNodeCalibration.dir/build.make:172: recipe for target '/home/linaro/catkin_ws/devel/lib/guidance/guidanceNodeCalibration' failed
make[2]: *** [/home/linaro/catkin_ws/devel/lib/guidance/guidanceNodeCalibration] Error 1
CMakeFiles/Makefile2:527: recipe for target 'Guidance-SDK-ROS/CMakeFiles/guidanceNodeCalibration.dir/all' failed
make[1]: *** [Guidance-SDK-ROS/CMakeFiles/guidanceNodeCalibration.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j4 -l4" failed

c++: internal compiler error: Killed (program cc1plus)

it seems there is no enough memory left.
Could you try make -j1 ?

On Thu, Oct 20, 2016 at 4:45 PM, top1944 notifications@github.com wrote:

Running command: "cmake /home/linaro/catkin_ws/src
-DCATKIN_DEVEL_PREFIX=/home/linaro/catkin_ws/devel
-DCMAKE_INSTALL_PREFIX=/home/linaro/catkin_ws/install -G Unix Makefiles"
in "/home/linaro/catkin_ws/build"

-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- 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
-- 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
-- Using CATKIN_DEVEL_PREFIX: /home/linaro/catkin_ws/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/kinetic
-- This workspace overlays: /opt/ros/kinetic
-- Found PythonInterp: /usr/bin/python (found version "2.7.9")
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/linaro/catkin_ws/build/
test_results
-- Looking for include file pthread.h
-- Looking for include file 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

-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.7.4
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~ traversing 1 packages in topological order:
-- ~~ - guidance
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'guidance'
-- ==> add_subdirectory(Guidance-SDK-ROS)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/linaro/catkin_ws/build

Running command: "make -j4 -l4" in "/home/linaro/catkin_ws/build"

Scanning dependencies of target guidanceNodeCalibration
Scanning dependencies of target guidanceNode
Scanning dependencies of target guidanceNodeTest
[ 20%] [ 40%] [ 60%] [ 80%] Building CXX object
Guidance-SDK-ROS/CMakeFiles/guidanceNodeCalibration.dir/
src/GuidanceNodeCalibration.cpp.o
Building CXX object Guidance-SDK-ROS/CMakeFiles/guidanceNode.dir/src/
GuidanceNode.cpp.o
Building CXX object Guidance-SDK-ROS/CMakeFiles/
guidanceNodeCalibration.dir/src/DJI_utility.cpp.o
Building CXX object Guidance-SDK-ROS/CMakeFiles/guidanceNodeTest.dir/src/
GuidanceNodeTest.cpp.o
[100%] Building CXX object Guidance-SDK-ROS/CMakeFiles/
guidanceNode.dir/src/DJI_utility.cpp.o
c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-4.9/README.Bugs for instructions.
Guidance-SDK-ROS/CMakeFiles/guidanceNodeTest.dir/build.make:54: recipe
for target 'Guidance-SDK-ROS/CMakeFiles/guidanceNodeTest.dir/src/GuidanceNodeTest.cpp.o'
failed
make[2]: *** [Guidance-SDK-ROS/CMakeFiles/guidanceNodeTest.dir/src/GuidanceNodeTest.cpp.o]
Error 4
CMakeFiles/Makefile2:562: recipe for target 'Guidance-SDK-ROS/CMakeFiles/guidanceNodeTest.dir/all'
failed
make[1]: *** [Guidance-SDK-ROS/CMakeFiles/guidanceNodeTest.dir/all] Error
2
make[1]: *** Waiting for unfinished jobs....
Linking CXX executable /home/linaro/catkin_ws/devel/
lib/guidance/guidanceNode
/usr/bin/ld: skipping incompatible /home/linaro/catkin_ws/src/
Guidance-SDK-ROS/lib/TK1/libDJI_guidance.so when searching for
-lDJI_guidance
//usr/local/lib/libDJI_guidance.so: file not recognized: File format not
recognized
collect2: error: ld returned 1 exit status
Guidance-SDK-ROS/CMakeFiles/guidanceNode.dir/build.make:172: recipe for
target '/home/linaro/catkin_ws/devel/lib/guidance/guidanceNode' failed
make[2]: *** [/home/linaro/catkin_ws/devel/lib/guidance/guidanceNode]
Error 1
CMakeFiles/Makefile2:492: recipe for target 'Guidance-SDK-ROS/CMakeFiles/guidanceNode.dir/all'
failed
make[1]: *** [Guidance-SDK-ROS/CMakeFiles/guidanceNode.dir/all] Error 2
Linking CXX executable /home/linaro/catkin_ws/devel/lib/guidance/
guidanceNodeCalibration
/usr/bin/ld: skipping incompatible /home/linaro/catkin_ws/src/
Guidance-SDK-ROS/lib/TK1/libDJI_guidance.so when searching for
-lDJI_guidance
//usr/local/lib/libDJI_guidance.so: file not recognized: File format not
recognized
collect2: error: ld returned 1 exit status
Guidance-SDK-ROS/CMakeFiles/guidanceNodeCalibration.dir/build.make:172:
recipe for target '/home/linaro/catkin_ws/devel/lib/guidance/guidanceNodeCalibration'
failed
make[2]: *** [/home/linaro/catkin_ws/devel/lib/guidance/guidanceNodeCalibration]
Error 1
CMakeFiles/Makefile2:527: recipe for target 'Guidance-SDK-ROS/CMakeFiles/
guidanceNodeCalibration.dir/all' failed
make[1]: *** [Guidance-SDK-ROS/CMakeFiles/guidanceNodeCalibration.dir/all]
Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j4 -l4" failed


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#14 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACo3iRdAp3vTK9bN5HO8aZDXjo3JgOeCks5q1ypEgaJpZM4IED5E
.

Can a shared library be built for 64b ARM platforms, specifically the NVidia TX1 with Ubuntu 16.04? I tried the TX1, arm, and xu3 ones available but it did not work. Thanks!

The so library file under so/tx1/ is not working on nvidia tx1, ubuntu 64.

commented

@tangketan Hello,
I'm also interested to run the SDK on a 64bits Jetson TX2.
Would it be possible to build and add the so library for aarch64 TX2 ?
That would be great !

What's the point of Open Sourcing something which you don't really support! Could you please update the libraries?

any updates of the libdji_guidance.so library file for Jetson Tx2 arm architecture. please let me know,

Thanks

@lanyusea Can you please recompile and upload the new libdji_guidance.so?

commented

Any update on this topic ?
Thanks!

Dose any of you find the compatible library for the Jetson TX2?
Thanks!

commented

Dose any of you find the compatible library for the Jetson TX2?
Thanks!