외부 패키지

외부 패키지 (External Packages)

Octave를 소스에서 빌드할 때 필요한 외부 패키지들을 정리한 문서예요. 필수 패키지, 강력히 권장되는 패키지, 그리고 없어도 빌드되지만 특정 기능이 빠질 수 있는 선택 패키지로 나뉘어요.

출처: GNU Octave 문서 – External Packages

본문

필수 패키지

다음 외부 패키지들은 반드시 필요해요.

강력 권장 패키지

다음 외부 패키지는 선택이지만 강력히 권장돼요.

  • GNU Readline – 명령줄 편집 라이브러리(https://www.gnu.org/s/readline). GNU readline 없이 Octave를 빌드하려면 configure 스크립트를 실행할 때 --disable-readline 옵션을 사용해야 해요.

선택 패키지

다음 외부 소프트웨어 패키지들은 선택이에요. 없이도 Octave를 빌드할 수 있지만, 특정 기능이 빠질 수 있어요.

  • ARPACK – 대규모 고유값 문제 해결용 라이브러리(https://forge.scilab.org/index.php/p/arpack-ng). eigssvds 함수를 제공하려면 ARPACK이 필요해요.
  • cURL – URL 구문으로 데이터를 전송하는 라이브러리(https://curl.haxx.se). urlread, urlwrite 함수와 ftp 클래스를 제공하려면 cURL이 필요해요.
  • FFTW3 – 이산 푸리에 변환 계산용 라이브러리(http://www.fftw.org). fft, ifft, fft2 등 이산 푸리에 변환을 계산하는 함수의 성능을 높이는 데 쓰여요.
  • FLTK – 휴대용 GUI 툴킷(http://www.fltk.org). Octave의 OpenGL 기반 그래픽 함수에 창을 제공하는 데 쓸 수 있어요.
  • fontconfig – 글꼴 접근 설정·사용자 지정용 라이브러리(https://www.freedesktop.org/wiki/Software/fontconfig). Octave의 OpenGL 기반 그래픽 함수용 글꼴을 관리하는 데 쓰여요.
  • FreeType – 휴대용 글꼴 엔진(https://www.freetype.org). Octave의 OpenGL 기반 그래픽 함수용 글꼴 렌더링에 쓰여요.
  • GLPK – GNU 선형 계획법 키트(https://www.gnu.org/software/glpk). glpk 함수에 필요해요.
  • gl2ps – OpenGL을 PostScript로 출력하는 라이브러리(https://www.geuz.org/gl2ps/). OpenGL 기반 그래픽 툴킷(현재는 FLTK나 Qt)을 쓸 때 인쇄에 필요해요.
  • gnuplot – 대화형 그래픽 프로그램(http://www.gnuplot.info). Octave의 그래픽 렌더러로 쓸 수 있어요. Octave 4.0 이전에는 gnuplot이 기본 그래픽 렌더러였어요.
  • GraphicsMagick++ – 이미지 처리 라이브러리(http://www.graphicsmagick.org). imreadimwrite 함수를 제공하는 데 쓰여요.
  • HDF5 – 휴대용 데이터 파일을 다루는 라이브러리(https://www.hdfgroup.org/HDF5). Octave의 loadsave 명령이 HDF 데이터 파일을 읽고 쓰는 데 필요해요.
  • Java Development Kit – 자바 프로그래밍 언어 컴파일러와 라이브러리. OpenJDK 무료 구현(http://openjdk.java.net/)을 권장하지만, 다른 JDK 구현도 작동할 수 있어요. Octave 안에서 자바 함수를 호출하려면 자바가 필요해요.
  • OpenGL – 휴대용 2D·3D 그래픽 API(https://www.opengl.org). OpenGL 구현은 Octave의 그래픽 함수용 렌더러를 제공할 수 있어요. Octave의 OpenGL 기반 그래픽 함수는 대개 gnuplot 기반 그래픽 함수보다 성능이 좋은데, 데이터와 명령을 해석·렌더링을 위해 gnuplot으로 보내는 대신 플롯 데이터를 직접 렌더링하기 때문이에요. Octave 4.0부터 기본 그래픽 렌더러("qt")는 OpenGL 기반이에요.
  • PortAudio – 간단한 콜백 함수나 블로킹 읽기/쓰기 인터페이스로 소리를 녹음하거나 재생하는 매우 간단한 API를 제공해요(http://www.portaudio.com/). 오디오 처리 함수 audioplayer, audiorecorder, audiodevinfo에 필요해요.
  • Qhull – 계산 기하 라이브러리(http://www.qhull.org). convhull, convhulln, delaunay, delaunayn, voronoi, voronoin 함수를 제공하는 데 필요해요.
  • QRUPDATE – QR 분해 갱신 라이브러리(https://sourceforge.net/projects/qrupdate). qrdelete, qrinsert, qrshift, qrupdate 함수의 성능 향상에 쓰여요.
  • QScintilla – Scintilla의 Qt 포트인 소스 코드 하이라이터이자 조작기(http://www.riverbankcomputing.co.uk/software/qscintilla). GUI에서 구문 강조와 코드 완성에 쓰여요.
  • Qt – GUI와 유틸리티 라이브러리(https://www.qt.io). GUI를 빌드하는 데 필요해요. 큰 프레임워크지만, 필요한 것은 GUI·core·network 모듈뿐이에요. Octave 4.0부터 기본 그래픽 렌더러("qt")는 Qt 기반이며, OpenGL 기반이에요.
  • RapidJSON – SAX/DOM 두 스타일 API를 모두 갖춘 C++용 고속 JSON 파서/생성기(https://rapidjson.org/). jsondecodejsonencode 함수로 JSON 파일을 읽거나 쓰는 데 필요해요.
  • SuiteSparse – 희소 행렬 분해 라이브러리(http://faculty.cse.tamu.edu/davis/suitesparse.html). 희소 행렬 분해와 희소 시스템의 선형 방정식 해를 제공하는 데 필요해요.
  • SUNDIALS – 비선형·미분/대수 방정식 해석기 모음(https://computation.llnl.gov/projects/sundials). 상미분방정식(ODE) 해석기 ode15iode15s에 필요해요.
  • zlib – 데이터 압축 라이브러리(https://zlib.net). Octave의 loadsave 명령이 MATLAB v5 MAT 파일을 포함한 압축 데이터를 다루는 데 필요해요.

더 알아보기