https://ultimaker.com/en/products/cura-software

Cura는 3D프린팅용 파일인 gcode 변환 프로그램입니다. gcode는 종이 프린팅에 쓰이는 ps(포스트 스크립트)같은 것이라고 생각하면 됩니다. 수많은 gcode 변환 프로그램 중에서 쉬운 인터페이스와 지원 장치 추가가 용이한 덕에 2D 프린팅에 Adobe Indesign(과거에는 Quark Express)이 있다면 3D 프린팅에는 Cura라고 할 수 있습니다.



Cura 15.06버전의 스크린샷 간단한 인터페이스로 3D 프린팅 쪽에서는 여기저기에서 쓰이고 있다.

무엇보다 Cura는 3대OS(Windows, Mac OSX, Linux)를 지원합니다. 그런데 우분투에서는 14.04까지만 하더라도 의존성 문제가 심각하지 않았는데 16.04로 올리고 나니 의존성문제로 설치에 난항을 겪었습니다. 바로 전 글에서 라이브러리 의존성 해결법을 들고 나왔는데 Cura도 해당 삽질에 한 몫을 했습니다. 그런데 Cura는 apt-get -f 명령으로 해결이 안 되더군요. 그냥 Cura를 삭제하라고 합니다.


그래서 어떻게 할 까 생각하다가 그냥 소스 컴파일 하기로 했습니다. 생각보다 Debian용 빌드는 어렵지 않더군요. 그냥 따라오시기만 하면 됩니다.


우선 git을 설치합니다.


sudo apt-get install git


그리고 소스를 다운로드 받을 "cura_src"란 폴더를 하나 만들고 그 안에 들어갑시다.


mkdir cura_src

cd cura_src


이제 소스 코드를 받아야겠지요? 그냥 다음 명령을 칩시다.


git clone https://github.com/daid/Cura.git


이제 지가 알아서 코드를 가져옵니다.


그리고 Readme를 한번 읽어봅시다. 



Debian and Ubuntu Linux
--------

To build and install Cura, run the following commands:

```bash
git clone https://github.com/daid/Cura.git

sudo apt-get install python-opengl python-numpy python-serial python-setuptools python-wxgtk2.8 curl

cd Cura

./package.sh debian_amd64          # or debian_i386 for 32bit
# this will prompt for your root password to run dpkg-deb

sudo dpkg -i ./scripts/linux/cura*.deb


이렇게 쓰여 있군요. 이 중에서 git으로 받는 것은 이미 했으니 빌드를 위한 라이브러리를 설치합시다.


그런데 우분투 16.04에서는 python-wxgtk2.8이 사라지고 python-wxgtk3.0으로 바뀌었습니다. 그러니까 명령을 다음과 같이 쓰도록 합시다.



sudo apt-get install python-opengl python-numpy python-serial python-setuptools python-wxgtk3.0 curl arduino


그리고 Readme에 나온대로


64비트의 경우:


cd Cura

./package.sh debian_amd64



32비트의 경우


cd Cura

./package.sh debian_i386


이렇게 하시면 컴파일을 하고 패키지까지 만들어 줍니다.

패키지는 당연히 dpkg를 사용해서


sudo dpkg -i ./scripts/linux/cura*.deb


이렇게 해주시면 cura를 우분투에 설치 하는데에 성공했습니다.


OSX 사용자 분들은 빌드하는게 짜증이 난다는데 Debian계열은 apt-get의 힘을 받아서 정말 쉽습니다.


P.S ultimaker에서 Cura 2.1버전을 배포하고 있습니다. 그런데 2.1은 훨씬 무거우면서 장치 추가가 녹록하지 않습니다. 아무래도 Ultimaker 사용자가 아니라면 15버전이 계속 이용될 듯 합니다.

,

Debian 계열은 deb패키지로 설치를 하면서 필요한 패키지를 apt-get으로 저장소에서 끌어 올 수 있습니다. 즉 한글2008이나 Draftsight 같은 바이너리로 배포되는 프로그램도 Windows처럼 라이브러리를 포함해서 배포하는 것이 아니라 Debian패키지 안에 사용하는 라이브러리만 적어주면 알아서 필요 라이브러리를 가져오는 것입니다. 이러면 라이브러리 때문에 꼬이는 일을 어느 정도 방지해주는 장점이 있습니다. 하지만 단점도 있는데 저장소의 라이브러리와 맞지 않는 경우 설치도 안 되고 수동으로도 답이 안 나오는 경우가 있습니다.


대표적인 것이 64비트 환경에서 32비트 패키지를 설치 해야 하는 경우가 있습니다. 범인은 한글2008입니다. 오로지 32비트 패키지만 있기 때문에 32비트 패키지를 또 설치해야 합니다. 그런데 이 경우 설치가 되다가 dpkg가 설치 못하겠다고 뻗어버립니다.


보통 터미널에서 dpkg -i 명령을 사용해서 보면 이러한 글이 나옵니다.


arkzip 설치 중 나온 에러 그냥 설정해버려도 될 것을 굳이 건들게 만든다.



의존성 문제: lib~~~ 하지만 설치하지 않았습니다.

 의존성 문제 : lib~~~하지만 설치하지 않았습니다.

~~~~~


이러면 보는 사람 참 화가 납니다. 패키지는 패키지대로 깨지고 라이브러리는 라이브러리대로 설치가 안 됩니다. 수동으로 설치를 하려고 해도 짜증만 더 날 뿐이지요.

이럴 때 사용하는 꼼수가 있습니다. 사실 저 에러가 나도 deb 패키지 자체는 설치가 되기는 됩니다. 다만 라이브러리가 설치되지 않아서 패키지 DB가 박살난 것 뿐입니다.패키지를 복구하는 기능을 이용하는 것 입니다.


보통 이런 경우 해당 의존성 패키지를 수동을 설치하면 자동으로 깨진 패키지들이 복구가 됩니다. 하지만 apt-get 은 역시 오랫동안 쓰이다 보니 정말 튼튼한 모습을 보입니다.


sudo apt-get -f install


위의 명령을 한번 해주시면 의존성 걸린 패키지를 설치하겠다고 나옵니다.

그리고 다시 deb 패키지를 설치하게 되면 Success가 나오면서 무사히 설치가 완료됩니다.

(물론 아닌 경우도 꽤 있습니다.)


https://www.google.co.kr/search?q=deb+%EC%9D%98%EC%A1%B4%EC%84%B1+%EC%97%90%EB%9F%AC&newwindow=1&safe=off&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiSkvba3LHMAhUBKpQKHSLGD34Q_AUIBygB&biw=1366&bih=556#imgrc=_


구글에 슬쩍 검색해보니 많은 사람들이 이미 겪고 있는 문제였군요. 하하...

,