RIVeR-Lab / epos_hardware

Other
12 stars 39 forks source link

Compiling on Nvidia Jetson Tegra X1 #27

Open ndalmedico opened 5 years ago

ndalmedico commented 5 years ago

Hi, I'm trying to compile this package on an Nvidia TX1, but I keep getting the error:

/home/nvidia/catkin_ws/devel/lib/libftd2xx.so: error adding symbols: File in wrong format collect2: error: ld returned 1 exit status epos_hardware/CMakeFiles/epos_library_utils.dir/build.make:128: recipe for target '/home/nvidia/catkin_ws/devel/lib/libepos_library_utils.so' failed make[2]: [/home/nvidia/catkin_ws/devel/lib/libepos_library_utils.so] Error 1 CMakeFiles/Makefile2:7940: recipe for target 'epos_hardware/CMakeFiles/epos_library_utils.dir/all' failed make[1]: [epos_hardware/CMakeFiles/epos_library_utils.dir/all] Error 2

Typing 'file libftd2xx.so' gives me this:

libftd2xx.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked

I understand it's a problem with the FTDI driver but I can't figure out how to fix it. Does someone have a suggestion on what I might do to solve it?

Thanks in advance!

2uu commented 5 years ago

It also happened same compile error when in rasberry pi 3B. i solved by changing CMakeList.txt in epos library.

before: (l25~) set(ftd2xx_LIBRARY ${PROJECT_SOURCE_DIR}/lib/${ARCH}/libftd2xx.so.1.1.12) set(EposCmd_LIBRARY ${PROJECT_SOURCE_DIR}/lib/${ARCH}/libEposCmd.so.5.0.1.0)

after: set(ftd2xx_LIBRARY ${PROJECT_SOURCE_DIR}/lib/arm/rpi/libftd2xx.so.1.2.8) set(EposCmd_LIBRARY ${PROJECT_SOURCE_DIR}/lib/arm/rpi/libEposCmd.so.5.0.1.0)

i think this error means "File in wrong format" in your OS. so you should change to suitable shared object(within epos_library/lib) in your machine.

ndalmedico commented 5 years ago

Hi! Thanks for responding! Don't know how I missed the 'arm' folder inside 'lib', but I keep getting the same error with every 'libftd2xx.so' unfortunately.

I tried the three different versions that are inside the arm folder and they all give me the same error as before :/ Do you have any idea how I might fix this? Do I need a very specific 'libftd2xx.so' that does not comes with the package?

Now that I know it's related to the architecture, I typed 'uname -a' and it gives me this:

Linux tegra-ubuntu 4.4.38-tegra #1 SMP PREEMPT Thu Mar 1 20:44:58 PST 2018 aarch64 aarch64 aarch64 GNU/Linux