MiniGUI 개발 환경 구축
임베디드 리눅스 시스템에서 사용 가능한 경량 GUI 프레임워크인 MiniGUI를 Ubuntu 기반 시스템에 설치해 보는 과정을 정리한다. 본 과정은 WSL(Windows Subsystem for Linux) 기반의 Ubuntu 18.04 환경에서 진행되었다.
빌드 도구 및 의존성 패키지 설치
소스 기반 컴파일을 위해 필요한 기본 도구체인 autotools, make, pkg-config 등을 설치한다.
sudo apt install binutils autoconf automake libtool make cmake pkg-config
이후 그래픽 관련 라이브러리들을 추가로 설치한다. Ubuntu 18.04 이상에서는 libpng12-dev 대신 libpng-dev를 사용해야 한다.
sudo apt install libgtk2.0-dev libjpeg-dev libpng-dev libfreetype6-dev \
libinput-dev libdrm-dev libsqlite3-dev libxml2-dev \
libssl1.0-dev electric-fence
소스 코드 다운로드 및 빌드
공식 저장소가 아닌 VincentWei 계정의 공개된 빌드 스크립트 리포지토리를 활용하여 소스를 가져온다.
git clone https://github.com/VincentWei/build-minigui-4.0.git
cd build-minigui-4.0
자동 구성 스크립트를 실행하고, 빌드 후 시스템에 설치한다.
./autogen.sh
./configure
make
sudo make install
실행 환경 설정
MiniGUI가 정상 동작하기 위해서는 갈(GAL) 및 아이얼(IAL) 엔진 설정이 필요하다. 예제에서는 QVFB( Qt Virtual Framebuffer )를 사용한다.
QVFB 도구를 포함하는 Qt4 개발 패키지를 설치한다.
sudo apt install qt4-dev-tools
설치된 구성 파일을 시스템 디렉터리로 복사하고 수정한다.
sudo cp etc/MiniGUI.cfg /etc/MiniGUI.cfg
편집기로 /etc/MiniGUI.cfg를 열어 다음 항목을 조정한다:
[system]
gal_engine=qvfb
defaultmode=800x600-16bpp
ial_engine=qvfb
mdev=/dev/input/mice
mtype=IMPS2
샘플 애플리케이션 빌드 시도
공식 제공 샘플 코드를 다운로드하여 컴파일을 시도한다. 먼저 아카이브를 해제하고 이동한다.
tar -zxf mg-samples-5.0.0.tar.gz
cd mg-samples-5.0.0
pkg-config 경로와 헤더 위치를 지정하여 configure를 실행하려 했으나, 아래와 같은 오류가 발생할 수 있다:
checking whether the C compiler works... no
configure: error: C compiler cannot create executables
이 문제는 일반적으로 CPPFLAGS 또는 LDFLAGS의 잘못된 설정으로 인해 발생한다. 특히 CPPFLAGS=-l/usr/local/include/minigui처럼 -l 플래그를 헤더 경로에 사용하면 오류가 발생한다. 올바른 형태는 다음과 같다:
CPPFLAGS="-I/usr/local/include/minigui" \
LDFLAGS="-L/usr/local/lib" \
PKG_CONFIG_PATH="/usr/local/lib/pkgconfig" \
./configure --prefix=/home/kevin/install
또한, MiniGUI 설치 경로가 /usr/local이라면, 별도의 prefix 없이 기본 설정으로 충분할 수 있다.