Aseprite 는 애니메이티드 스프라이트 에디터 겸 픽셀 아트 툴이라는 정체성을 가지고 있습니다.
쉽게 말해서 도트 찍기 노가다 도구에요.
스팀에서 유료로 판매중이지만, 소스코드를 다운받아 직접 컴파일해서 쓰면 무료입니다.
그간 몇번 정도 컴파일을 시도했지만 잘 안되었는데, 이번에 제대로 삽질을 해서 성공했습니다.
https://github.com/aseprite/aseprite/blob/main/INSTALL.md
방법은 대충 나와있으나, 이게 일부러 의도한 건지 미묘한 오타가 있어서
그대로 실행하면 컴파일이 안됩니다. 그래서 삽질이 컸어요.
이하는 우분투 리눅스 기준이며 데비안도 마찬가질 거라 생각합니다.
윈도우 10 의 WSL2 환경에서 설치하고 테스트 해서 잘 실행되는 걸 확인했습니다.
$ git clone --recursive https://github.com/aseprite/aseprite.git
$ cd aseprite
$ git pull
$ git submodule update --init --recursive
일단 홈 디렉토리에서 소스코드를 다운 받고,
https://github.com/aseprite/skia/releases
Skia 의 프리빌트 바이너리를 다운받아 ~/deps/skia 폴더에 압축을 풀어줍니다.
현시점 기준으로 m102 버전을 받아야 되는데, 리눅스의 경우 Skia-Linux-Release-x64-libc++.zip
파일이 됩니다. libstdc 로 표기된 걸 받으면 마지막에 에러가 납니다.
$ sudo apt-get install -y g++ clang libc++-dev libc++abi-dev cmake ninja-build libx11-dev libxcursor-dev libxi-dev libgl1-mesa-dev libfontconfig1-dev
의존성 파일을 설치한 뒤, 소스코드가 있는 디렉토리로 들어가 컴파일을 시작합니다.
mkdir build
cd build
export CC=clang
export CXX=clang++
cmake \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_CXX_FLAGS:STRING=-stdlib=libc++ \
-DCMAKE_EXE_LINKER_FLAGS:STRING=-stdlib=libc++ \
-DLAF_BACKEND=skia \
-DSKIA_DIR=$HOME/deps/skia \
-DSKIA_LIBRARY_DIR=$HOME/deps/skia/out/Release-x64 \
-DSKIA_LIBRARY=$HOME/deps/skia/out/Release-x64/libskia.a \
-G Ninja \
..
ninja aseprite
위 블럭을 전체 카피해서 그대로 붙여 넣으면 순서대로 실행됩니다.
다시 말하지만, 이는 우분투와 데비안 기준이며 다른 리눅스 배포판이나 윈도우 또는 맥오에스의 경우
해당 링크를 확인하시고 각각에 맞는 명령어를 실행하셔야 됩니다.

제 생각엔, 리눅스에서 컴파일을 성공했다면 윈도우나 맥오에스는 더 쉬울 것 같아요.
컴파일이 완료가 되면 bin 디렉토리로 이동해 봅시다. 실행파일이 생성되어 있을 거에요.


윈도우 11 에 이어 최근에는 윈도우 10 에서도 WSLg 가 지원되기 시작했기 때문에
별다른 설정 없이 GUI 앱이 잘 실행되는 걸 확인할 수 있습니다.
매번 오류로 실패하다가 오늘 바람 불어 한꺼번에 다 해결했습니다.
열정에 불꺼진지 오래에요. ㅜㅜ
세상참 좋아졋군요 ㅎㅎ
Hyper-V 기반의 WSL2 말고 예전 WSL에서도 WSLg가 지원될지 모르겟군요
이쪽이 진짜 네이티브? 지원인데 성능이 너무 떨어져서ㅠㅠ
윈 11 에서는 진작 지원된건데 윈 10 은 끝까지 WSLg 안해줄 줄 알았더니
얼마전 업데이트 후 갑자기 되더군요.
근데 WSL2 가 이전 버전인 WSL 에 비해 성능이 떨어지는 건가요? 몰랐습니다.
아뇨아뇨
WSL2가 Hyper-V 기반(호스트)에서 가상(게스트)으로 올린거라서 성능이 더 좋은데
WSL1은 윈도우랑 통합커널? 같은 거로 알고있어서 좀더 근본적으로 윈도우랑 통합되는거로 알고있거든요
근데 WSL1 은 I/O 이슈가 있어서 실제로 개발에 써먹기 엄청 힘들엇어요
단순하게 이야기하면 리눅스 파일시스템에서 컴파일하면 속도가 엄청 느렷죠
그래서 WSL2 나올떄 I/O 성능향상을 크게 강조햇엇어요
따라서 cmake 인자도 살짝 수정되었고, 이제 우분투와 데비안 양측에서 다 컴파일이 됩니다.
./aseprite: error while loading shared libraries: libc++.so.1: cannot open shared object file: No such file or directory
컴파일이 된 후 실행파일만 다른 환경으로 가져갔을 때 의존성 파일이 없어서 구동이 안될 수도 있습니다.
위와 같은 오류가 난다면,
$ sudo apt install libc++-dev
본문 기준으로 이 파일 하나만 추가해 주면 되는 것 같습니다. **