WSL2의 Ubuntu환경에서 리브레오피스(LibreOffice)빌드 및 실행해보기
윈도우10(Windows 10)에서 WSL2설정 후 우분투(Ubuntu) 20.04를 설치하였습니다. 윈도우10에서 우분투를 설치했으니 어디에 활용을 해볼까 고민하던 찰나, 아래의 2개의 글을 보게 됩니다.
- GPU accelerated ML training inside the Windows Subsystem for Linux
- GPU Compute, WSL Install and WSL Update arrive in the latest Insider build for the Windows Subsystem for Linux
이 글을 보고, WSL2에서 GPU도 지원되는데, 설마 리브레오피스(LibreOffice) 실행도 당연히 지원 하겠지? 란 생각으로
WSL2환경에 설치한 우분투(Ubuntu) 20.04에 리브레오피스 빌드 및 실행을 해보았습니다. (결국 실행은 되더군요)
WSL2의 우분투(Ubuntu) 20.04에 리브레오피스(LibreOffice)를 빌드 하는 내용은 아래의 내용을 참조하였습니다.
Building LibreOffice on Linux and *BSD systems: Tips and Tricks
일단 리브레오피스(libreoffice)에 의존성을 가진 패키지 모두 설치를 아래의 명령어로 해보았습니다.
$ sudo apt build-dep libreoffice
의존성 있는 패키지 모두 설치후, 리브레오피스(LibreOffice)저장소를 복제합니다.
$ git clone https://gerrit.libreoffice.org/core libreoffice
libreoffice
디렉토리에 복제를 하였으면. libreoffice
디렉토리로 이동합니다.
$ cd libreoffice
libreoffice
디렉토리로 이동하였으면 아래와 같이 빌드환경 설정을 해주는 스크립트를 아래와 같은 명령어로 실행하였습니다.
./autogen.sh --with-locales="ko" --with-vendor="me" --disable-werror --with-build-version="Built by me" --with-lang="ko" --enable-dbgutil
빌드 실행시 아래와 같이 오류가 나오면 libkrb5-dev
패키지를 설치햅니다
checking for library containing krb5_sendauth... no
configure: error: could not find function 'krb5_sendauth' required for Kerberos 5
Error running configure at ./autogen.sh line 299.
libkrb5-dev
패키지는 아래와 같은 명령어로 설치합니다.
$ sudo apt install libkrb5-dev
설치후, 다시 빌드 환경 스크립트 autogen.sh
를 실행해줍니다.
****************************************************************************
To build, run:
/usr/bin/make
To view some help, run:
/usr/bin/make help
After the build has finished successfully, you can immediately run what you built using the command:
instdir/program/soffice
If you want to run the smoketest, run:
/usr/bin/make check
*************************************
* WARNING : no suitable nasm (Netwide Assembler) found for internal libjpeg-turbo
빌드 환경이 구성되었으면 make
로 빌드를 해줍니다.
빌드는 2013년도에 생산된 i5 듀얼코어 4세대 하스웰+램16GB이면 아마 반나절 정도 오랫동안 걸릴겁니다. 자기전에 빌드하고 컴퓨터를 켜보면 빌드가 되었을겁니다.
빌드가 완료되면 아래와 같은 화면이 뜹니다.
[CMP] sw/util/sw
[DEP] LNK:Library/libswuilo.so
[LNK] Library/libswuilo.so
[DEP] LNK:Library/libvbaswobjlo.so
[LNK] Library/libvbaswobjlo.so
[CMP] sw/util/vbaswobj
[DEP] LNK:Library/libmswordlo.so
[LNK] Library/libmswordlo.so
[DEP] LNK:Library/libsclo.so
[LNK] Library/libsclo.so
[CMP] sw/util/msword
[BIN] sw
[MOD] sw
[CMP] sc/util/sc
[DEP] LNK:Library/libvbaobjlo.so
[LNK] Library/libvbaobjlo.so
[DEP] LNK:Library/libscuilo.so
[LNK] Library/libscuilo.so
[DEP] LNK:Library/libscfiltlo.so
[LNK] Library/libscfiltlo.so
[CMP] sc/util/vbaobj
[CMP] sc/util/scfilt
[RDB] services
[BIN] sc
[MOD] sc
[BIN] postprocess
[GAL] backgrounds
[GAL] sounds
[MOD] postprocess
[ULF] /home/dhsung/libreoffice/workdir/Gallery/sounds/sounds.ulf
[STR] sounds/sounds
[PKG] Gallery/sounds
[ULF] /home/dhsung/libreoffice/workdir/Gallery/backgrounds/backgrounds.ulf
[STR] backgrounds/backgrounds
[PKG] Gallery/backgrounds
[BIN] extras
[MOD] extras
[MOD] libreoffice
[BIN] top level modules: libreoffice
[ALL] top level modules: build-non-l10n-only build-l10n-only
진짜 빌드가 끝났습니다. 그럼 실행을 해볼까요?
빌드한 리브레오피스(LibreOffice(를 실행하려면 아래와 같이 실행해줍니다.
$ ./instdir/program/soffice
WSL2의 Ubuntu+Xming으로 리브레오피스 화면을 띄어보니 진짜 리브레오피스가 빌드 및 실행됨을 확인하였습니다!!!
그러나, 옵션에서 한국어 설정한 후 다시 실행해보니 아직 한글이 뜨지 않고 깨져나옵니다. 그건 한글 글꼴이 나오도록 설정을 하지 않았기 때문이죠. (확인해보니 WSL2에 Ubuntu 20.04설치하면 기본 로케일 설정이 'C.UTF-8'입니다.)
아래는 WSL2에 설치한 Ubuntu 20.04 배포판의 기본 로케일 설정확인 명령입니다.
$ locale
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=
(음.. C.UTF-8이라니... @.@)
윈도우의 WSL2에 설치한 리눅스 배포판에서 리브레오피스(Linux)를 실행하여 한글 정상적으로 나오게 하는 부분은 추후에 추가하여 공유를 하겠습니다.
실행 후, 빌드에 대한 옵션이 제대로 들어갔는지 확인해봅니다.
역시, 위에 벤더이름(me)가 잘 들어갔습니다.
상세하게 Build version 설정을 확인해보니 "Built by me"옵션도 제대로 들어갔구요. 그러나 로케일은 우분투(Ubuntu)기본 설치할때 들어가는 C.UTF-8이 들어가는 것이 아쉽더군요.
간단하게 실 사용을 해보겠습니다.
MS사의 워드격인 리브레오피스 라이터(Writer)에서 영어낱말은 잘 작성되는데, WSL2의 내부 Xwindow글꼴 설정에 한국어 설정한 것이 없으니 한글이 깨져나옵니다. WSL2의 기능에서 배포판에서 사용자 언어에 맞게 설정이 안되고, Xwindow설정에서도 당연히 사용자 언어에 맞게 설정되지 않은 문제라보니 이건 아쉽군요.
WSL2의 우분투(Ubuntu)에서 실제로 리브레오피스(LibreOffice)를 빌드 및 실행을 해보았습니다. 실행후 가볍게 사용해보니 불안정한 문제는 없고 리눅스위에 실행한 것과 동일한 경험을 제공하였습니다. 다만 "한글"이 나오지 않은건 "한국어" 글꼴 렌더링 설정이 안되어서 입니다. 뭐 기본 로케일이 C.UTF-8이니 Xwindow설정에 한글 글꼴 관련 렌더링이 없어 한글 당연히 깨집니다.
MS사의 리눅스(Linux)지원 행보를 보면, 예전과 다르게 오픈소스 친화적으로 변하면서 여러 리눅스에서 돌아가는 응용프로그램을 윈도우에서 실 사용할수 있게 지원함을 알수 있습니다.
여기서 좀 더 확장해가면 MS사가 윈도우 자체 기술은 가지되, 실제 커널 부분을 리눅스(Linux)로 옮겨서 리눅스용 응용프로그램을 품지 않을까란 생각이 들긴 하더군요. (이건 저의 뇌내 망상이라 흘려 들으시기 바랍니다)
앞으로 WSL2가 발전되어 윈도우 언어에 맞게 리눅스 설정이 자동으로 되면 리눅스 개발도 윈도우에서 하는 재미있는 상황이 생기지 않을까란 생각을 해봅니다.
WSL2에 GPU지원한다길래, WSL2에서 리브레오피스(LibreOffice)를 실행할수 있을까에 대한 궁금증으로 시작한 주말의 삽질기는 여기까지입니다.
실제 사용이 가능한지는, 제가 직장인이라 윈도우를 집에서 항상 쓸일이 없어서, 다음 주말에 실행해봐야겠군요. (당연 Xwindow에 한글 글꼴 설정 및 입력 관련으로 삽질을 해봐야 할것 같구요.) ㅎㅎ
제가 2011년 이후부터 주로 Mac OSX와 openSUSE 랩탑 2개로 집에서 작업하다보니, 집에서 윈도우를 네이티브(Native)로 실사용을 거의 오랜만(9~10년)에 해보았습니다. :)