Sage는 GNU General Public License GPLv2+에 따라 출시된 오픈 소스 수학 소프트웨어이며 호환 가능한 소프트웨어 라이센스가 있는 패키지를 포함합니다. 전 세계 사람들이 Sage 개발에 기여해 왔습니다. 전체 문서는 온라인으로 제공됩니다.
참을성이 없는 사람들은 다음 중 어느 곳에서나 온라인으로 제공되는 사전 구축된 Sage를 사용할 수 있습니다.
로컬 설치 없이. 그렇지 않으면 계속 읽으십시오.
Sage 설치 가이드는 귀하에게 가장 적합한 설치 유형을 안내하는 결정 트리를 제공합니다. 여기에는 소스에서 빌드, 패키지 관리자에서 Sage 얻기, 컨테이너 이미지 사용 또는 클라우드에서 Sage 사용이 포함됩니다.
이 README에는 소스에서 Sage를 빌드하기 위한 독립적인 지침이 포함되어 있습니다. 이를 위해서는 git 저장소(이 README에 설명된 대로)를 복제하거나 tarball 형식으로 소스를 다운로드해야 합니다.
질문이 있거나 문제가 발생하면 주저하지 말고 Sage 지원 메일링 리스트로 이메일을 보내거나 Ask Sage 질문 및 답변 사이트에 문의하십시오.
Sage는 모든 주요 Linux 배포판, 최신 버전의 macOS 및 Windows(Linux용 Windows 하위 시스템 또는 가상화 사용)를 지원하려고 합니다.
특정 Sage 버전에 대해 지원되는 플랫폼에 대한 자세한 정보는 이 버전에 대한 릴리스 둘러보기의 가용성 및 설치 도움말 섹션에서 확인할 수 있습니다.
이식성 버그를 수정하고 Sage를 새로운 플랫폼으로 포팅하는 데 도움을 준 Sage에 대한 기여에 깊은 감사를 드립니다. sage-devel 메일링 리스트를 통해 알려주세요.
Windows에서 Sage를 실행하는 기본 방법은 WSL(Linux용 Windows 하위 시스템)을 사용하는 것입니다. Ubuntu(또는 다른 Linux 배포판)를 설치하려면 공식 WSL 설정 가이드를 따르세요. WSL에 충분한 RAM을 할당했는지 확인하세요. 5GB가 작동하는 것으로 알려져 있지만 소스에서 Sage를 빌드하는 데 2GB는 충분하지 않을 수 있습니다. 그런 다음 Linux 설치에 대한 모든 지침이 적용됩니다.
대안으로 Docker(아래 참조) 또는 기타 가상화 솔루션을 사용하여 Windows에서 Linux를 실행할 수도 있습니다.
Mac에서 Apple Silicon(M1, M2, M3, M4, arm64) 아키텍처를 사용하고 이전 Mac에서 파일을 전송하여 Mac을 설정한 경우 /usr/local
디렉터리에 Homebrew의 이전 복사본이 포함되어 있지 않은지 확인하세요. (또는 다른 소프트웨어) 복사했을 수 있는 x86_64 아키텍처용입니다. M1용 Homebrew는 /usr/local
이 아닌 /opt/homebrew
에 설치됩니다.
Conda를 사용하려면 Sage 설치 매뉴얼의 conda 섹션을 참조하세요.
그렇지 않은 경우 gfortran
컴파일러와 많은 라이브러리를 제공하는 https://brew.sh/의 Homebrew("macOS용 누락 패키지 관리자")를 사용하는 것이 좋습니다.
그렇지 않고 Homebrew를 설치하지 않으려면 최신 버전의 Xcode 명령줄 도구를 설치해야 합니다. 터미널 창을 열고 xcode-select --install
실행하세요. 그런 다음 팝업 창에서 "설치"를 클릭하세요. Xcode 명령줄 도구가 이미 설치되어 있는 경우 softwareupdate -l
입력하여 업데이트가 필요한지 확인할 수 있습니다.
다른 많은 소프트웨어 패키지와 마찬가지로 Sage는 ./configure
와 make
사용하여 소스에서 빌드됩니다. 그러나 Sage를 구축하려면 다음 단계별 지침을 읽어보는 것이 좋습니다.
지침은 Linux, macOS 및 WSL을 모두 다룹니다.
이러한 지침에 대한 배경 정보를 제공하는 자세한 내용은 설치 가이드의 소스 코드에서 설치 섹션에서 확인할 수 있습니다.
소스/빌드 디렉터리( SAGE_ROOT
)를 결정합니다.
개인용 컴퓨터에서는 :envvar: HOME
디렉토리의 모든 하위 디렉토리가 이를 수행해야 합니다.
예를 들어 SAGE_ROOT=~/sage/sage
사용할 수 있으며, 이를 아래 실행 예제로 사용할 것입니다.
최소 10GB의 여유 디스크 공간이 필요합니다.
소스 디렉터리의 전체 경로에는 공백이 없어야 합니다.
빌드를 시작한 후에는 문제가 발생하지 않고 소스/빌드 디렉터리를 이동할 수 없습니다.
NFS(네트워크 파일 시스템) 등과 같은 느린 파일 시스템은 피하는 것이 좋습니다.
[macOS] macOS에서는 정확한 대문자 사용 없이 디렉터리를 변경할 수 있습니다. macOS용으로 컴파일할 때 이러한 편리함에 주의하세요. :envvar: SAGE_ROOT
로 변경할 때 정확한 대문자 사용을 무시하면 경로 이름에 정확한 대문자 사용이 필요한 종속성에 대한 빌드 오류가 발생할 수 있습니다.
git
사용하여 소스를 복제합니다.
git
사용할 수 있는지 확인하려면 터미널을 열고 쉘 프롬프트( $
)에 다음 명령을 입력하세요.
$ git --version
git version 2.42.0
정확한 버전은 중요하지 않지만 이 명령에 오류가 발생하면 다음 명령 중 하나를 사용하여 패키지 관리자를 사용하여 git
설치하십시오.
$ sudo pacman -S git # on Arch Linux
$ sudo apt-get update && apt-get install git # on Debian/Ubuntu
$ sudo yum install git # on Fedora/Redhat/CentOS
$ sudo zypper install git # on openSUSE
$ sudo xbps-install git # on Void Linux
SAGE_ROOT
설정해야 하는 디렉터리를 만듭니다.
$ mkdir -p ~/sage
$ cd ~/sage
Sage git 저장소를 복제합니다.
$ git clone -c core.symlinks=true --filter blob:none
--origin upstream --branch develop --tags
https://github.com/sagemath/sage.git
이 명령은 최신 개발 릴리스를 가져옵니다. 대신 --branch develop
--branch master
로 교체하여 가장 최근의 안정적인 릴리스를 선택하세요.
그러면 ~/sage/sage
하위 디렉터리가 생성됩니다. (자세한 내용은 Sage 개발자 가이드의 git 설정 섹션과 다음 섹션을 참조하세요.)
생성된 하위 디렉터리로 변경합니다.
$ cd sage
[Windows] Sage 소스 트리에는 기호 링크가 포함되어 있으며 UNIX 줄 끝이 아닌 Windows 줄 끝이 사용되는 경우 빌드가 작동하지 않습니다.
따라서 WSL 버전의 git
사용하는 것이 좋습니다(필수는 아님).
시스템 패키지를 설치합니다.
설치할 수 있는 시스템 패키지 컴파일에 대해서는 Sage 설치 매뉴얼의 소스에서 설치 섹션을 참조하세요. 완료되면 7단계(부트스트래핑)로 건너뜁니다.
또는 아래의 보다 세분화된 접근 방식을 따르세요.
[Linux, WSL] 필수 최소 빌드 필수 구성 요소를 설치합니다.
컴파일러: gcc
, gfortran
, g++
(GCC 버전 8.4.0~13.x 및 최신 버전의 Clang(LLVM)이 지원됨) 적합한 컴파일러에 대한 논의는 build/pkgs/gcc/SPKG.rst 및 build/pkgs/gfortran/SPKG.rst를 참조하세요.
빌드 도구: GNU make
, GNU m4
, perl
( ExtUtils::MakeMaker
포함), ranlib
, git
, tar
, bc
. 자세한 내용은 build/pkgs/_prereq/SPKG.rst를 참조하세요.
Python 3.4 이상 또는 Python 2.7, urllib
포함한 전체 설치; 그러나 이상적으로는 버전 3.9.x, 3.10.x, 3.11.x, 3.12.x입니다. 그러면 Sage의 자체 Python 3 복사본을 빌드할 필요가 없습니다. 자세한 내용은 build/pkgs/python3/SPKG.rst를 참조하세요.
이러한 빌드 필수 구성 요소를 제공하는 시스템 패키지 목록을 수집했습니다. build/pkgs/_prereq/distros 폴더에서 arch.txt, debian.txt(Ubuntu, Linux Mint 등에도 해당), fedora.txt(Red Hat, CentOS에도 해당), opensuse.txt 파일을 참조하세요. slackware.txt 및 void.txt를 방문하거나 https://doc.sagemath.org/html/en/reference/spkg/_prereq.html#spkg-prereq를 방문하세요.
선택 사항: LaTeX와 ImageMagick 도구(예: "convert" 명령)를 모두 설치하는 것이 좋습니다. 일부 플로팅 기능에서 이점을 얻을 수 있기 때문입니다.
[개발] Sage 개발을 수행하거나 릴리스뿐만 아니라 티켓 브랜치와 다른 방식으로 작업할 계획이라면 부트스트래핑 필수 구성 요소를 설치하세요. build/pkgs/_bootstrap/distros 폴더의 파일을 확인하거나 https://doc.sagemath.org/html/en/reference/spkg/_bootstrap.html#spkg-bootstrap을 방문하세요.
다음 명령을 사용하여 소스 트리를 부트스트랩합니다.
$ make configure
(부트스트랩 필수 구성 요소가 설치되지 않은 경우 이 명령은 대신 미리 빌드된 부트스트랩 출력을 제공하는 패키지를 다운로드합니다.)
빌드 환경을 정리합니다. 명령을 사용하십시오
$ env
현재 환경 변수, 특히 PATH
, PKG_CONFIG_PATH
, LD_LIBRARY_PATH
, CFLAGS
, CPPFLAGS
, CXXFLAGS
및 LDFLAGS
(설정된 경우)를 검사합니다.
Sage가 자체 빌드에 사용해서는 안 되는 이러한(콜론으로 구분된) 환경 변수에서 항목을 제거하십시오. 특히 이전 Sage 설치를 참조하는 항목은 제거하십시오.
[WSL] 특히 WSL은 Windows PATH
변수에서 Linux 환경으로 많은 항목을 가져오므로 혼란스러운 빌드 오류가 발생할 수 있습니다. 이러한 항목은 일반적으로 /mnt/c
로 시작합니다. 환경 변수에서 모두 제거하는 것이 가장 좋습니다. 예를 들어 다음 명령을 사용하여 PATH
설정할 수 있습니다.
$ export PATH=/usr/sbin/:/sbin/:/bin/:/usr/lib/wsl/lib/
[homebrew를 사용하는 macOS] 빌드에 필요한 환경 변수를 설정합니다.
$ source ./.homebrew-build-env
이는 Homebrew의 패키지 중 일부(소위 통 전용 패키지)를 빌드에 사용할 수 있도록 하기 위한 것입니다. 현재 터미널 세션에 대한 제안을 적용하려면 한 번 실행하세요. 새 터미널 세션에서 Sage를 다시 빌드하기 전이나 추가 홈브류 패키지를 설치한 후에 이 명령을 반복해야 할 수도 있습니다. (또한 향후 모든 세션에서 자동으로 실행되도록 셸 프로필에 추가할 수도 있습니다.)
선택적으로 설치 접두사( SAGE_LOCAL
)를 결정합니다.
전통적으로 기본적으로 Sage는 SAGE_ROOT/local/
루트의 하위 디렉터리 계층 구조에 설치됩니다.
이는 ./configure --prefix=SAGE_LOCAL
사용하여 변경할 수 있습니다. 여기서 SAGE_LOCAL
원하는 설치 접두사이며 사용자가 쓸 수 있어야 합니다.
--disable-editable
과 함께 이 옵션을 사용하면 빌드 프로세스를 완료한 후 전체 Sage 소스 트리를 삭제할 수 있습니다. SAGE_LOCAL
에 설치되는 것은 Sage의 자체 포함 설치입니다.
Sage의 빌드 프로세스에서는 make
빌드 및 설치를 수행합니다( make install
작동하지 않습니다). 따라서 설치 계층 구조는 사용자가 쓸 수 있어야 합니다.
/usr/local/
과 같은 공유 위치에 설치하려는 경우 Sage 설치 매뉴얼에서 옵션을 참조하세요. root
로 Sage를 빌드하려고 시도하지 마세요.
필요에 따라 다양한 선택적 패키지가 포함된 구성 옵션을 검토하세요.
$ ./configure --help
Sage 개발자를 위한 주목할만한 옵션은 다음과 같습니다.
구성 값의 디스크 캐시를 유지하도록 configure
하려면 --config-cache
옵션을 사용하십시오. 이는 구성 단계의 자동 재실행을 포함하는 패키지 업그레이드를 수행하는 티켓 분기를 시도할 때 상당한 속도 향상을 제공합니다.
--enable-ccache
옵션을 사용하여 Sage를 설치하고 옵션 패키지 ccache
사용합니다. 이 패키지는 소스 파일에서 생성된 객체 파일의 디스크 캐시를 유지하도록 미리 구성되어 있습니다. 이는 디스크 공간 사용을 희생하면서 서로 다른 분기 간에 전환할 때 속도를 크게 향상시킬 수 있습니다.
선택 사항이지만 적극 권장됩니다. 일부 환경 변수를 설정하여 빌드를 사용자 지정하세요.
예를 들어, MAKE
환경 변수는 여러 작업을 병렬로 실행할지 여부를 제어합니다. 예를 들어 4개의 프로세서가 있는 시스템에서 export MAKE="make -j4"
입력하면 4개의 작업을 사용하여 Sage의 병렬 컴파일을 수행하도록 빌드 스크립트가 구성됩니다. 일부 강력한 시스템에서는 -j16
고려할 수도 있습니다. CPU 코어보다 많은 작업을 구축하면 작업 속도가 더욱 빨라질 수 있기 때문입니다.
빌드 중에 터미널 출력을 줄이려면 export V=0
입력하세요. ( V
"상세함"을 나타냅니다.)
일부 환경 변수인 CC
, CXX
및 FC
특별히 언급할 가치가 있습니다. 컴파일러를 정의하는 이러한 변수는 구성 시 설정할 수 있으며 해당 값은 빌드 시 및 런타임 시 추가 사용을 위해 기록됩니다.
Sage 구축을 위한 추가 환경 변수에 대한 자세한 내용은 설치 가이드를 참조하세요.
./configure
입력하고 그 뒤에 사용하려는 옵션을 입력하세요. 예를 들어 Sage에서 제공하는 gf2x
패키지로 Sage를 빌드하려면 ./configure --with-system-gf2x=no
사용하세요.
./configure
실행이 성공적으로 끝나면 패키지 관리자를 사용하여 추가 시스템 패키지를 설치하라는 메시지가 표시될 수 있습니다.
Sage 패키지의 대규모 목록에 대해 Sage는 설치된 시스템 패키지가 Sage와 함께 사용하기에 적합한지 여부를 감지할 수 있습니다. 이 경우 Sage는 소스에서 다른 복사본을 빌드하지 않습니다.
때로는 시스템에 이미 설치된 패키지를 설치하라는 메시지가 표시되는 경우도 있습니다. 설명은 이전 구성 메시지나 config.log
파일을 참조하세요. 또한 실제로 사용할 수 없는 패키지를 설치하라는 메시지가 표시될 수도 있습니다. 배포판의 최신 릴리스에만 이러한 권장 패키지가 모두 포함됩니다.
선택 사항: 추가 시스템 패키지를 설치하기로 선택한 경우 ./configure
를 다시 실행하면 설치된 버전이 Sage에 사용할 수 있는지 테스트됩니다. 그렇다면 Sage에 필요한 컴파일 시간과 디스크 공간이 줄어듭니다. 패키지 사용법은 ./configure
매개변수로 조정할 수 있습니다( ./configure --help
출력을 다시 확인하세요).
make
입력하세요. 그게 다야! 모든 것이 자동으로 이루어지며 비대화형입니다.
위의 지침, 특히 ./configure
출력에서 권장하는 시스템 패키지 설치(11단계) 및 병렬 빌드(10단계)에 관한 지침을 따른 경우 최신 컴퓨터에서 Sage를 빌드하는 데 1시간 미만이 소요됩니다. (그렇지 않으면 시간이 훨씬 더 오래 걸릴 수 있습니다.)
완벽하게 지원되는 모든 플랫폼에서 빌드가 제대로 작동해야 합니다. 그렇지 않다면 우리는 알고 싶습니다!
./sage
입력하여 사용해 보세요. Sage에서 간단한 계산과 플로팅을 테스트하려면 2 + 2
, plot(x^2)
, plot3d(lambda x, y: x*y, (-1, 1), (-1, 1))
시도해 보십시오. 2D와 3D. Sage를 종료하려면 Ctrl + D를 누르거나 quit
.
선택 사항: 문서의 모든 예제(200,000줄 이상의 입력!)를 테스트하려면 make ptestlong
입력하세요. 이는 10분에서 몇 시간까지 걸립니다. 2~3개의 실패가 발생하더라도 너무 당황하지 마세요. 하지만 항상 오류가 포함된 logs/ptestlong.log
섹션을 sage-support 메일링 목록으로 이메일을 보내 주시기 바랍니다. 실패가 많다면 빌드에 심각한 문제가 있는 것입니다.
문서의 HTML 버전은 Sage의 컴파일 프로세스 중에 작성되며 local/share/doc/sage/html/
디렉토리에 있습니다. 브라우저에서 북마크에 추가할 수도 있습니다.
선택사항: 문서의 PDF 버전을 작성하려면 make doc-pdf
실행하십시오(이를 위해서는 LaTeX가 설치되어 있어야 함).
선택 사항: 관심 있는 선택적 패키지를 설치합니다. ./sage --optional
입력하거나 패키지 설명서 페이지를 방문하여 목록을 가져옵니다.
선택 사항: PATH
의 디렉터리(예: /usr/local
에 설치된 sage
스크립트에 대한 심볼릭 링크를 만듭니다. 이렇게 하면 전체 경로를 입력하거나 Sage 디렉터리로 이동하여 ./sage
입력할 필요 없이 어디서나 sage
입력하여 Sage를 시작할 수 있습니다. 이 작업은 다음을 실행하여 수행할 수 있습니다.
$ sudo ln -s $(./sage -sh -c 'ls $SAGE_ROOT/venv/bin/sage') /usr/local/bin
선택 사항: Sage 설치 가이드의 SageMath 실행 섹션에 설명된 대로 SageMath를 기존 Jupyter 노트북 또는 JupyterLab 설치에서 Jupyter 커널로 설정합니다.
PyPI의 Python 환경에 Sage를 설치하기 위해 Sage는 pip
-installable 패키지 sagemath-standard를 제공합니다.
특정 기존 환경에 Sage를 설치해야 하는 경우가 아니면 ~/sage-venv/
와 같은 새로운 가상 환경을 생성하고 활성화하는 것이 좋습니다.
$ python3 -m venv ~/sage-venv
$ source ~/sage-venv/bin/activate
첫 번째 설치 단계로 ~/.sage/
하위 디렉터리에 다양한 필수 구성 요소 패키지를 빌드하는 sage_conf를 설치합니다.
(sage-venv) $ python3 -m pip install -v sage_conf
성공적인 설치 후 조타실은 다양한 Python 패키지를 제공합니다. 다음 명령을 사용하여 바퀴를 나열할 수 있습니다.
(sage-venv) $ ls $(sage-config SAGE_SPKG_WHEELS)
sage-config
찾을 수 없다는 오류가 발생하면 pip install
명령이 인쇄했을 수 있는 메시지를 확인하세요. 예를 들어 다음과 같이 PATH
조정해야 할 수도 있습니다.
$ export PATH="$(python3 -c 'import sysconfig; print(sysconfig.get_path("scripts", "posix_user"))'):$PATH"
이제 조타실 및 sage_setup 패키지에서 패키지를 설치하고 마지막으로 Sage 라이브러리를 설치하십시오.
(sage-venv) $ python3 -m pip install $(sage-config SAGE_SPKG_WHEELS)/*.whl sage_setup
(sage-venv) $ python3 -m pip install --no-build-isolation -v sagemath-standard
위 지침은 Sage의 최신 안정 릴리스를 설치합니다. 대신 최신 개발 버전을 설치하려면 python3 -m pip install
의 모든 호출에 --pre
스위치를 추가하세요.
참고: PyPI에는 이름에 "sage"라는 단어가 포함된 다양한 pip
설치 가능 패키지가 있습니다. 그 중 일부는 SageMath 프로젝트에 의해 유지 관리되고, 일부는 SageMath 사용자가 다양한 목적으로 제공하며, 다른 일부는 SageMath와 전혀 관련이 없습니다. sage
및 sagemath
패키지를 사용하지 마십시오. 엄선된 패키지 목록은 Sage 참조 매뉴얼의 패키지 및 기능 장을 참조하세요.
SageMath는 Docker Hub에서 사용 가능하며 다음을 통해 다운로드할 수 있습니다.
docker pull sagemath/sagemath
현재는 안정적인 버전만 최신 상태로 유지됩니다.
Sage를 빌드하는 데 문제가 있는 경우 Sage 설치 가이드를 확인하고 설치하려는 버전에 해당하는 릴리스 투어에서 버전별 설치 도움말을 확인하세요.
주저하지 말고 SageMath 포럼이나 Sage-support 메일링 리스트에 도움을 요청하세요. Sage 설치 가이드의 문제 해결 섹션에서는 보다 효과적으로 도움을 제공할 수 있도록 어떤 정보를 제공해야 하는지에 대한 지침을 제공합니다.
Sage에 기여하고 싶다면 개발자 가이드를 읽어 보시기 바랍니다.
Sage에는 C/C++, Python, Cython, Common Lisp, Fortran 및 약간의 Perl 언어로 작성된 중요한 구성 요소가 있습니다.
단순화된 디렉터리 레이아웃(필수 파일/디렉터리만):
SAGE_ROOT Root directory (create by git clone)
├── build
│ └── pkgs Every package is a subdirectory here
│ ├── 4ti2/
│ …
│ └── zlib/
├── configure Top-level configure script
├── COPYING.txt Copyright information
├── pkgs Source trees of Python distribution packages
│ ├── sage-conf
│ │ ├── sage_conf.py
│ │ └── setup.py
│ ├── sage-docbuild
│ │ ├── sage_docbuild/
│ │ └── setup.py
│ ├── sage-setup
│ │ ├── sage_setup/
│ │ └── setup.py
│ ├── sage-sws2rst
│ │ ├── sage_sws2rst/
│ │ └── setup.py
│ └── sagemath-standard
│ ├── bin/
│ ├── sage -> ../../src/sage
│ └── setup.py
├── local (SAGE_LOCAL) Installation hierarchy for non-Python packages
│ ├── bin Executables
│ ├── include C/C++ headers
│ ├── lib Shared libraries, architecture-dependent data
│ ├── share Databases, architecture-independent data, docs
│ │ └── doc Viewable docs of Sage and of some components
│ └── var
│ ├── lib/sage
│ │ ├── installed/
│ │ │ Records of installed non-Python packages
│ │ ├── scripts/ Scripts for uninstalling installed packages
│ │ └── venv-python3.9 (SAGE_VENV)
│ │ │ Installation hierarchy (virtual environment)
│ │ │ for Python packages
│ │ ├── bin/ Executables and installed scripts
│ │ ├── lib/python3.9/site-packages/
│ │ │ Python modules/packages are installed here
│ │ └── var/lib/sage/
│ │ └── wheels/
│ │ Python wheels for all installed Python packages
│ │
│ └── tmp/sage/ Temporary files when building Sage
├── logs
│ ├── install.log Full install log
│ └── pkgs Build logs of individual packages
│ ├── alabaster-0.7.12.log
│ …
│ └── zlib-1.2.11.log
├── m4 M4 macros for generating the configure script
│ └── *.m4
├── Makefile Running "make" uses this file
├── prefix -> SAGE_LOCAL Convenience symlink to the installation tree
├── README.md This file
├── sage Script to start Sage
├── src Monolithic Sage library source tree
│ ├── bin/ Scripts that Sage uses internally
│ ├── doc/ Sage documentation sources
│ └── sage/ The Sage library source code
├── upstream Source tarballs of packages
│ ├── Babel-2.9.1.tar.gz
│ …
│ └── zlib-1.2.11.tar.gz
├── venv -> SAGE_VENV Convenience symlink to the virtual environment
└── VERSION.txt
자세한 내용은 개발자 가이드를 참조하세요.
이는 Sage 소프트웨어 배포판의 빌드 시스템에 대한 간략한 요약입니다. 전체 Sage 시스템에는 Sage Python 라이브러리와 관련 사용자 인터페이스, 그리고 Sage의 주요 종속성(사용자 시스템에서 제공하지 않는 종속성에 대한)의 대규모 소프트웨어 배포라는 두 가지 구성 요소가 있습니다.
Sage의 Python 라이브러리는 Python 패키지의 표준과 마찬가지로 setup.py
스크립트를 사용하여 구축 및 설치됩니다(Sage의 setup.py
사소하지 않지만 특이한 것은 아닙니다).
나머지 빌드 시스템의 대부분은 서로 관련하여 올바른 순서로 Sage의 모든 종속성을 빌드하는 것과 관련이 있습니다. Sage에 포함된 종속성은 SPKG(예: "Sage 패키지")라고 하며 build/pkgs
아래에 나열됩니다.
Sage 빌드 시스템의 주요 진입점은 소스 트리 루트에 있는 최상위 Makefile
입니다. autoconf를 사용하는 대부분의 일반 프로젝트(아래 설명된 Sage도 사용함)와 달리 이 Makefile
생성되지 않습니다. 대신 시스템 부트스트래핑과 관련된 몇 가지 상위 수준 대상과 대상이 포함되어 있습니다. 그럼에도 불구하고 우리는 여전히 소스 트리의 루트에서 make
실행합니다. 최상위 Makefile
에 명시적으로 정의되지 않은 대상은 build/make/Makefile
아래의 다른 Makefile로 전달됩니다.
후자의 build/make/Makefile
build/make/Makefile.in
의 템플릿을 사용하여 autoconf에서 생성된 configure
스크립트에 의해 생성 됩니다 . 여기에는 Sage 라이브러리 자체를 빌드하기 위한 규칙( make sagelib
)과 각 Sage의 종속성을 빌드 및 설치하기 위한 규칙(예: make gf2x
)이 포함됩니다.
configure
스크립트 자체가 아직 빌드되지 않은 경우 bootstrap
스크립트를 실행하여 생성할 수 있습니다(후자는 GNU autotools가 설치되어 있어야 함). 최상위 Makefile
도 이 작업을 자동으로 처리합니다.
요약하면 소스 트리의 최상위 수준에서 make python3
과 같은 명령을 실행하면 다음과 같습니다.
make python3
configure
업데이트해야 하는 경우 ./bootstrap
실행하세요.build/make/Makefile
업데이트해야 하는 경우 이전에 구성한 옵션으로 ./configure
실행하세요.build/make
로 변경하고 install
스크립트를 실행합니다. 이것은 몇 가지 필요한 환경 변수를 설정하고 일부 정보를 기록하는 make -f build/make/Makefile python3
실행의 프런트 엔드에 지나지 않습니다.build/make/Makefile
에는 python3
빌드하기 위한 실제 규칙이 포함되어 있습니다. 여기에는 python3
의 모든 종속성을 먼저 구축하는 것이 포함됩니다(및 해당 종속성을 재귀적으로). 실제 패키지 설치는 sage-spkg
프로그램을 사용하여 수행됩니다. Sage를 빌드한 후 SAGE_ROOT
또는 SAGE_LOCAL
디렉터리를 이동하는 것은 지원되지 않습니다. 디렉터리를 이동하려면 make distclean
실행하고 Sage를 처음부터 다시 빌드해야 합니다.
시스템 전체 설치의 경우 Sage를 "일반" 사용자로 빌드한 다음 루트로 권한을 변경할 수 있습니다. 자세한 내용은 설치 안내서를 참조하십시오.
로컬 Sage 설치는 "개발자" 설치와 거의 동일합니다. 문서, 소스 등을 변경할 수 있으며 우리처럼 재배포를 위해 전체 결과를 매우 쉽게 패키징할 수 있습니다.
현재 설치된 패키지로 바이너리 배포판을 만들려면 sagemath/binary-pkg를 방문하세요.
자신만의 Sage 소스 타르볼을 만들려면 다음을 입력하세요.
$ make dist
결과는 dist/
디렉토리에 저장됩니다.
Sage에 포함된 모든 소프트웨어는 해당 저작자에게 저작권이 있으며 GPL 버전 3 이상과 호환되는 오픈 소스 라이센스에 따라 출시됩니다. 자세한 내용은 COPYING.txt를 참조하세요.
소스는 upstream/
디렉토리의 수정되지 않은(가능한 한) 타르볼에 있습니다. 나머지 설명, 버전 정보, 패치 및 빌드 스크립트는 함께 제공되는 build/pkgs/
디렉터리에 있습니다. 이 디렉터리는 Sage git 저장소의 일부입니다.
Copyright (C) 2005-2024 세이지개발팀
https://www.sagemath.org