MW-USB2CAN-FIFO-v2 colcon build시 에러 문제입니다. > Module_Forum

본문 바로가기
사이트 내 전체검색

Module_Forum

MW-USB2CAN-FIFO-v2 colcon build시 에러 문제입니다.

페이지 정보

profile_image
작성자 CoffeeTheft
댓글 6건 조회 150회 작성일 24-12-24 12:45

본문

구매한 Sensor: MW-USB2CAN-FIFO-v2 ROS

사용 환경: Raspberry Pi 4 Model B 8GB, Ubuntu 22.04 64bit server, ROS2 Humble

https://blog.naver.com/idea_robot/223228053596?trackingCode=external

위 링크를 참고해 드라이버 설치 진행중입니다.

~/colcon_ws/src/usb2can_fifo/lib 디렉토리에 제공된 Raspberry Pi용 라이브러리 파일을 옮겨보았지만 아래와 같은 빌드 오류가 발생합니다.

ubuntu@ubuntu:~/colcon_ws$ colcon build
Starting >>> can_msgs
Finished <<< can_msgs [1.96s]                   
Starting >>> usb2can_fifo
--- stderr: usb2can_fifo                           
/usr/bin/ld: /home/ubuntu/colcon_ws/src/usb2can_fifo/lib/libusb2can.a: error adding symbols: file in wrong format
collect2: error: ld returned 1 exit status
gmake[2]: *** [CMakeFiles/usb2can_fifo_node.dir/build.make:169: usb2can_fifo_node] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:137: CMakeFiles/usb2can_fifo_node.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed  <<< usb2can_fifo [0.56s, exited with code 2]

Summary: 1 package finished [3.59s]
  1 package failed: usb2can_fifo
  1 package had stderr output: usb2can_fifo


라이브러리 내부의 오브젝트 파일을 확인했을 때 32비트 ARM 아키텍처 환경에서 사용가능 한 것으로 확인됩니다.

ubuntu@ubuntu:~/colcon_ws/src/MW-USB2CAN-FIFO-v2_ROS2/library file/Raspberry Pi$ ls
libftd2xx.a  libusb2can.a
ubuntu@ubuntu:~/colcon_ws/src/MW-USB2CAN-FIFO-v2_ROS2/library file/Raspberry Pi$ ar -x libusb2can.a
ubuntu@ubuntu:~/colcon_ws/src/MW-USB2CAN-FIFO-v2_ROS2/library file/Raspberry Pi$ ls
CAN_Access.cpp.o  libftd2xx.a  libusb2can.a  SerialFTDI.cpp.o  Usb2Can.cpp.o  UsbPacket.cpp.o
ubuntu@ubuntu:~/colcon_ws/src/MW-USB2CAN-FIFO-v2_ROS2/library file/Raspberry Pi$ file CAN_Access.cpp.o
CAN_Access.cpp.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), with debug_info, not stripped
ubuntu@ubuntu:~/colcon_ws/src/MW-USB2CAN-FIFO-v2_ROS2/library file/Raspberry Pi$ file SerialFTDI.cpp.o
SerialFTDI.cpp.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), with debug_info, not stripped
ubuntu@ubuntu:~/colcon_ws/src/MW-USB2CAN-FIFO-v2_ROS2/library file/Raspberry Pi$ file Usb2Can.cpp.o
Usb2Can.cpp.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), with debug_info, not stripped
ubuntu@ubuntu:~/colcon_ws/src/MW-USB2CAN-FIFO-v2_ROS2/library file/Raspberry Pi$ file UsbPacket.cpp.o
UsbPacket.cpp.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), with debug_info, not stripped


프로젝트를 진행하기 위해 64비트 ARM 아키텍처용으로 빌드된 `libusb2can.a`, `libftdxx.a` 라이브러리를 제공해 주실 수 있는지 문의드립니다.

만약 64비트 버전의 라이브러리를 바로 제공하기 어려운 경우, aarch64용으로 소스에서 재빌드할 수 있는 방법에 대한 가이드를 부탁드립니다.

댓글목록

profile_image

최고관리자님의 댓글

최고관리자 작성일

안녕하세요. 아이디어 로봇입니다.

MW-USB2CAN-FIFO-v2_ROS2/library file/Xavier

라이브러리로 한번 빌드 해보시고 안된다고 하시면

저희가 라즈베리파이에 사용하시는 운영체제 설치해서 빌드 해서 다시 업로드를 해드릴 수 있도록 하겠습니다.

감사합니다.

profile_image

CoffeeTheft님의 댓글

CoffeeTheft 작성일

Xavier 라이브러리로 빌드했을 때 libftd2xx.a라이브러리에 대해 에러가 발생합니다

ubuntu@ubuntu:~/colcon_ws$ colcon build
Starting >>> can_msgs
Finished <<< can_msgs [19.2s]                     
Starting >>> usb2can_fifo
[Processing: usb2can_fifo]                           
--- stderr: usb2can_fifo                               
/usr/bin/ld: /home/ubuntu/colcon_ws/src/usb2can_fifo/lib/libftd2xx.a: error adding symbols: file in wrong format
collect2: error: ld returned 1 exit status
gmake[2]: *** [CMakeFiles/usb2can_fifo_node.dir/build.make:169: usb2can_fifo_node] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:137: CMakeFiles/usb2can_fifo_node.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed  <<< usb2can_fifo [38.3s, exited with code 2]

Summary: 1 package finished [58.5s]
  1 package failed: usb2can_fifo
  1 package had stderr output: usb2can_fifo

profile_image

최고관리자님의 댓글

최고관리자 작성일

저희가 환경을 구축하고 배포할 수 있도록 준비하겠습니다.

profile_image

최고관리자님의 댓글

최고관리자 작성일

안녕하세요, 아이디어 로봇입니다.

https://github.com/ntrexlab/MW-USB2CAN-FIFO-v2_ROS2/tree/main/library%20file/Raspberry%20Pi

해당 링크에 말씀해 주신 환경(ubuntu server22.04 64bit, ros humble)에서 빌드 해서 업로드 완료하였습니다.

profile_image

CoffeeTheft님의 댓글의 댓글

CoffeeTheft 작성일

업로드해주신 라이브러리 파일을 사용했지만 libftd2xx.a 라이브러리에 대해 에러가 발생합니다.

ubuntu@ubuntu:~/colcon_ws$ colcon build
Starting >>> can_msgs
Finished <<< can_msgs [18.9s]                     
Starting >>> usb2can_fifo
[Processing: usb2can_fifo]                           
--- stderr: usb2can_fifo                               
/usr/bin/ld: /home/ubuntu/colcon_ws/src/usb2can_fifo/lib/libftd2xx.a: error adding symbols: file in wrong format
collect2: error: ld returned 1 exit status
gmake[2]: *** [CMakeFiles/usb2can_fifo_node.dir/build.make:169: usb2can_fifo_node] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:137: CMakeFiles/usb2can_fifo_node.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed  <<< usb2can_fifo [38.9s, exited with code 2]

Summary: 1 package finished [58.9s]
  1 package failed: usb2can_fifo
  1 package had stderr output: usb2can_fifo




https://ftdichip.com/drivers/d2xx-drivers/

위 링크에서 1.4.27 ARMv8 hard-float 라이브러리를 다운로드받아 빌드를 시도했을 땐 아래와 같이 출력됩니다.

ubuntu@ubuntu:~/colcon_ws$ colcon build
Starting >>> can_msgs
Finished <<< can_msgs [20.6s]                     
Starting >>> usb2can_fifo
[Processing: usb2can_fifo]                           
--- stderr: usb2can_fifo                                   
/usr/bin/ld: CMakeFiles/usb2can_fifo_node.dir/src/main.cpp.o: in function `Usb2CanNode::Usb2CanNode()':
main.cpp:(.text._ZN11Usb2CanNodeC2Ev[_ZN11Usb2CanNodeC5Ev]+0x948): undefined reference to `CAN_SetConfig(long, long, unsigned long, unsigned long, int, int)'
collect2: error: ld returned 1 exit status
gmake[2]: *** [CMakeFiles/usb2can_fifo_node.dir/build.make:169: usb2can_fifo_node] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:137: CMakeFiles/usb2can_fifo_node.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed  <<< usb2can_fifo [41.0s, exited with code 2]

Summary: 1 package finished [1min 3s]
  1 package failed: usb2can_fifo
  1 package had stderr output: usb2can_fifo

profile_image

최고관리자님의 댓글

최고관리자 작성일

안녕하세요.

라즈베리파이 64bit 서버 우분투에서 예제 파일 돌려서 확인하여

깃헙에 업로드하였습니다.

한번 확인 부탁드리며 새해 복 많이 받으세요 : )

다운로드 링크 : https://github.com/ntrexlab/MW-USB2CAN-FIFO-v2_ROS2/blob/main/library%20file/Raspberry%20Pi/pi64bit_example.zip

회원로그인

회원가입