라즈베리 파이에서 OpenDDS를 구동하는 방법은 OpenDDS 홈페이지에 잘 설명돼있다.
간단히 말하면
리눅스 환경에서 크로스 컴파일해서 파이에 올리는 것
예전같으면 리눅스 머신을 따로 만들거나, 가상머신 위에 리눅스를 올렸겠지만...
우리에겐 WSL이 있습니다, 휴먼.
파워셸에서 아래와 같이 입력하기만 하면 리눅스를 설치할 수 있다.
wsl --install
리눅스 명령창이 뜨고, 계정 정보를 입력하면 일단 설치는 종료됨.
OpenDDS 홈페이지의 설명에 따르면 우분투 20.04.3 LTS x86_64 환경에서 테스트되었다고 한다.
설치된 버전은 20.04 LTS이고, 20.04.4 LTS로 업데이트했으니 별 문제 없을 듯.
다음 할 일은 당연한 얘기지만, 개발 환경을 설치하는 것.
sudo apt install make
sudo apt install gcc
sudo apt install g++
이제, 컴파일 할 준비는 대체로 완료되었다.
크로스 컴파일러와 OpenDDS 소스를 적절한 위치에 복사해둔 뒤 컴파일만 해주면 된다.
OpenDDS 홈페이지에 기술된 내용만 따라가면 된다.
./configure --target=linux-cross --target-compiler=/opt/cross-pi-gcc/bin/arm-none-linux-gnueabihf-g++
하지만, 컴파일은 계속 실패했다.
수많은 삽질 끝에, 설치된 우분투를 날려버리고 마이크로소프트 스토어에서 다른 우분투를 다운받아 설치하기로 했다.
22.04 LTS를 설치한 뒤에 동일한 방법으로 컴파일해서 드디어 성공.
이렇게 컴파일된 바이너리를 다시 OpenDDS 홈페이지에 적힌 설명대로 파이에 복사해주면 일단 구동 준비는 끝난다.