Sage adalah perangkat lunak matematika sumber terbuka yang dirilis di bawah GNU General Public License GPLv2+, dan menyertakan paket yang memiliki lisensi perangkat lunak yang kompatibel. Orang-orang di seluruh dunia telah berkontribusi terhadap pengembangan Sage. Dokumentasi lengkap tersedia online.
Mereka yang tidak sabar dapat menggunakan Sage bawaan yang tersedia online dari mana saja
tanpa instalasi lokal. Jika tidak, baca terus.
Panduan Instalasi Sage menyediakan pohon keputusan yang memandu Anda memilih jenis instalasi yang paling sesuai untuk Anda. Hal ini termasuk membangun dari sumber, mendapatkan Sage dari manajer paket, menggunakan image container, atau menggunakan Sage di cloud.
README ini berisi instruksi mandiri untuk membangun Sage dari sumber. Ini mengharuskan Anda untuk mengkloning repositori git (seperti yang dijelaskan dalam README ini) atau mengunduh sumber dalam bentuk tarball.
Jika Anda memiliki pertanyaan atau mengalami masalah, jangan ragu untuk mengirimkan email ke milis dukungan sage atau bertanya di situs tanya jawab Tanya Sage.
Sage berupaya mendukung semua distribusi Linux utama, macOS versi terbaru, dan Windows (menggunakan Subsistem Windows untuk Linux atau virtualisasi).
Informasi terperinci tentang platform yang didukung untuk versi Sage tertentu dapat ditemukan di bagian Bantuan ketersediaan dan instalasi tur rilis untuk versi ini.
Kami sangat menghargai kontribusi Sage yang memperbaiki bug portabilitas dan membantu memindahkan Sage ke platform baru; beri tahu kami di milis sage-devel.
Cara yang lebih disukai untuk menjalankan Sage di Windows adalah menggunakan Subsistem Windows untuk Linux (WSL). Ikuti panduan pengaturan WSL resmi untuk menginstal Ubuntu (atau distribusi Linux lainnya). Pastikan Anda mengalokasikan RAM WSL yang cukup; 5GB diketahui berfungsi, sedangkan 2GB mungkin tidak cukup untuk membangun Sage dari sumber. Maka semua instruksi untuk instalasi di Linux berlaku.
Sebagai alternatif, Anda juga dapat menjalankan Linux di Windows menggunakan Docker (lihat di bawah) atau solusi virtualisasi lainnya.
Jika Mac Anda menggunakan arsitektur Apple Silicon (M1, M2, M3, M4; arm64) dan Anda mengatur Mac dengan mentransfer file dari Mac lama, pastikan direktori /usr/local
tidak berisi salinan Homebrew lama (atau perangkat lunak lain) untuk arsitektur x86_64 yang mungkin telah Anda salin. Perhatikan bahwa Homebrew untuk M1 dipasang di /opt/homebrew
, bukan /usr/local
.
Jika Anda ingin menggunakan conda, silakan lihat bagian conda di Manual Instalasi Sage untuk panduan.
Jika tidak, kami sangat menyarankan untuk menggunakan Homebrew ("manajer paket yang hilang untuk macOS") dari https://brew.sh/, yang menyediakan kompiler gfortran
dan banyak perpustakaan.
Jika tidak, jika Anda tidak ingin menginstal Homebrew, Anda perlu menginstal Xcode Command Line Tools versi terbaru. Buka jendela terminal dan jalankan xcode-select --install
; lalu klik "Instal" di jendela pop-up. Jika Alat Baris Perintah Xcode sudah terinstal, Anda mungkin ingin memeriksa apakah alat tersebut perlu diperbarui dengan mengetikkan softwareupdate -l
.
Seperti banyak paket perangkat lunak lainnya, Sage dibuat dari sumber menggunakan ./configure
, diikuti oleh make
. Namun, kami sangat menyarankan untuk membaca petunjuk langkah demi langkah berikut untuk membangun Sage.
Petunjuknya mencakup semua Linux, macOS, dan WSL.
Rincian lebih lanjut, memberikan latar belakang untuk petunjuk ini, dapat ditemukan di bagian Instal dari Kode Sumber di Panduan Instalasi.
Tentukan direktori sumber/build ( SAGE_ROOT
):
Pada komputer pribadi, subdirektori apa pun dari direktori :envvar: HOME
dapat digunakan.
Misalnya, Anda dapat menggunakan SAGE_ROOT=~/sage/sage
, yang akan kita gunakan sebagai contoh berjalan di bawah.
Anda memerlukan setidaknya 10 GB ruang disk kosong.
Jalur lengkap ke direktori sumber tidak boleh mengandung spasi .
Setelah memulai pembangunan, Anda tidak dapat memindahkan direktori sumber/bangunan tanpa merusak sesuatu.
Anda mungkin ingin menghindari sistem file yang lambat seperti sistem file jaringan (NFS) dan sejenisnya.
[macOS] macOS memungkinkan pengubahan direktori tanpa menggunakan huruf besar yang tepat. Waspadai kemudahan ini saat melakukan kompilasi untuk MacOS. Mengabaikan penggunaan huruf besar yang tepat saat mengubah menjadi :envvar: SAGE_ROOT
dapat menyebabkan kesalahan pembuatan untuk dependensi yang memerlukan penggunaan huruf besar yang tepat pada nama jalur.
Kloning sumber dengan git
:
Untuk memeriksa apakah git
tersedia, buka terminal dan masukkan perintah berikut pada prompt shell ( $
):
$ git --version
git version 2.42.0
Versi pastinya tidak menjadi masalah, tetapi jika perintah ini memberikan kesalahan, instal git
menggunakan manajer paket Anda, menggunakan salah satu perintah berikut:
$ 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
Buat direktori tempat SAGE_ROOT
harus dibuat:
$ mkdir -p ~/sage
$ cd ~/sage
Kloning repositori Sage git:
$ git clone -c core.symlinks=true --filter blob:none
--origin upstream --branch develop --tags
https://github.com/sagemath/sage.git
Perintah ini memperoleh rilis pengembangan terbaru. Ganti --branch develop
dengan --branch master
untuk memilih rilis stabil terbaru.
Ini akan membuat subdirektori ~/sage/sage
. (Lihat bagian Menyiapkan git dan bagian berikut di Panduan Pengembang Sage untuk informasi lebih lanjut.)
Ubah ke subdirektori yang dibuat:
$ cd sage
[Windows] Pohon sumber Sage berisi tautan simbolis, dan build tidak akan berfungsi jika akhiran baris Windows dan bukan akhiran baris UNIX yang digunakan.
Oleh karena itu disarankan (tetapi tidak perlu) untuk menggunakan git
versi WSL.
Instal paket sistem.
Rujuklah bagian ini pada instalasi dari sumber di Manual Instalasi Sage untuk kompilasi paket sistem yang dapat Anda instal. Setelah selesai, lanjutkan ke langkah 7 (bootstrapping).
Alternatifnya, ikuti pendekatan yang lebih terperinci di bawah ini.
[Linux, WSL] Instal prasyarat build minimal yang diperlukan:
Kompiler: gcc
, gfortran
, g++
(versi GCC dari 8.4.0 hingga 13.x dan versi terbaru Clang (LLVM) didukung). Lihat build/pkgs/gcc/SPKG.rst dan build/pkgs/gfortran/SPKG.rst untuk diskusi tentang kompiler yang sesuai.
Alat pembuatan: GNU make
, GNU m4
, perl
(termasuk ExtUtils::MakeMaker
), ranlib
, git
, tar
, bc
. Lihat build/pkgs/_prereq/SPKG.rst untuk detail lebih lanjut.
Python 3.4 atau lebih baru, atau Python 2.7, instalasi lengkap termasuk urllib
; tetapi idealnya versi 3.9.x, 3.10.x, 3.11.x, 3.12.x, yang akan menghindari keharusan membuat salinan Python 3 milik Sage sendiri. Lihat build/pkgs/python3/SPKG.rst untuk detail selengkapnya.
Kami telah mengumpulkan daftar paket sistem yang menyediakan prasyarat pembangunan ini. Lihat, di folder build/pkgs/_prereq/distros, file arch.txt, debian.txt (juga untuk Ubuntu, Linux Mint, dll.), fedora.txt (juga untuk Red Hat, CentOS), opensuse.txt, slackware.txt, dan void.txt, atau kunjungi https://doc.sagemath.org/html/en/reference/spkg/_prereq.html#spkg-prereq
Opsional: Direkomendasikan agar Anda menginstal alat LaTeX dan ImageMagick (misalnya perintah "convert") karena beberapa fungsi plot mendapat manfaat darinya.
[Pengembangan] Jika Anda berencana melakukan pengembangan Sage atau bekerja dengan cabang tiket dan tidak hanya rilis, instal prasyarat bootstrapping. Lihat file di folder build/pkgs/_bootstrap/distros, atau kunjungi https://doc.sagemath.org/html/en/reference/spkg/_bootstrap.html#spkg-bootstrap
Bootstrap pohon sumber menggunakan perintah berikut:
$ make configure
(Jika prasyarat bootstrap tidak diinstal, perintah ini akan mengunduh paket yang menyediakan keluaran bootstrap yang sudah dibuat sebelumnya.)
Sanitasi lingkungan bangunan. Gunakan perintah
$ env
untuk memeriksa variabel lingkungan saat ini, khususnya PATH
, PKG_CONFIG_PATH
, LD_LIBRARY_PATH
, CFLAGS
, CPPFLAGS
, CXXFLAGS
, dan LDFLAGS
(jika disetel).
Hapus item dari variabel lingkungan (yang dipisahkan titik dua) ini yang tidak boleh digunakan Sage untuk bangunannya sendiri. Secara khusus, hapus item jika merujuk pada instalasi Sage sebelumnya.
[WSL] Secara khusus, WSL mengimpor banyak item dari variabel Windows PATH
ke lingkungan Linux, yang dapat menyebabkan kesalahan build yang membingungkan. Item ini biasanya dimulai dengan /mnt/c
. Yang terbaik adalah menghapus semuanya dari variabel lingkungan. Misalnya, Anda dapat mengatur PATH
menggunakan perintah:
$ export PATH=/usr/sbin/:/sbin/:/bin/:/usr/lib/wsl/lib/
[macOS dengan homebrew] Tetapkan variabel lingkungan yang diperlukan untuk build:
$ source ./.homebrew-build-env
Hal ini untuk membuat beberapa paket Homebrew (disebut paket khusus tong) tersedia untuk build. Jalankan sekali untuk menerapkan saran untuk sesi terminal saat ini. Anda mungkin perlu mengulangi perintah ini sebelum membangun kembali Sage dari sesi terminal baru, atau setelah menginstal paket homebrew tambahan. (Anda juga dapat menambahkannya ke profil shell Anda sehingga dapat dijalankan secara otomatis di semua sesi mendatang.)
Secara opsional, tentukan awalan instalasi ( SAGE_LOCAL
):
Secara tradisional, dan secara default, Sage diinstal ke dalam hierarki subdirektori yang berakar pada SAGE_ROOT/local/
.
Ini dapat diubah menggunakan ./configure --prefix=SAGE_LOCAL
, dengan SAGE_LOCAL
adalah awalan instalasi yang diinginkan, yang harus dapat ditulis oleh pengguna.
Jika Anda menggunakan opsi ini bersama dengan --disable-editable
, Anda dapat menghapus seluruh pohon sumber Sage setelah menyelesaikan proses pembangunan. Apa yang dipasang di SAGE_LOCAL
akan menjadi instalasi mandiri Sage.
Perhatikan bahwa dalam proses pembangunan Sage, make
pembangunan dan pemasangan ( make install
adalah larangan). Oleh karena itu hierarki instalasi harus dapat ditulis oleh pengguna.
Lihat Manual Instalasi Sage untuk opsi jika Anda ingin menginstal ke lokasi bersama seperti /usr/local/
. Jangan mencoba membangun Sage sebagai root
.
Secara opsional, tinjau opsi konfigurasi, yang mencakup banyak paket opsional:
$ ./configure --help
Opsi penting untuk pengembang Sage adalah sebagai berikut:
Gunakan opsi --config-cache
untuk configure
penyimpanan cache disk dari nilai konfigurasi. Ini memberikan percepatan yang bagus ketika mencoba cabang tiket yang melakukan peningkatan paket, yang melibatkan menjalankan ulang langkah konfigurasi secara otomatis.
Gunakan opsi --enable-ccache
agar Sage menginstal dan menggunakan paket opsional ccache
, yang telah dikonfigurasi sebelumnya untuk menyimpan cache disk dari file objek yang dibuat dari file sumber. Hal ini dapat memberikan percepatan yang besar ketika berpindah antar cabang yang berbeda, dengan mengorbankan penggunaan ruang disk.
Opsional, namun sangat disarankan: Tetapkan beberapa variabel lingkungan untuk menyesuaikan build.
Misalnya, variabel lingkungan MAKE
mengontrol apakah akan menjalankan beberapa pekerjaan secara paralel. Pada mesin dengan 4 prosesor, misalnya, mengetik export MAKE="make -j4"
akan mengonfigurasi skrip build untuk melakukan kompilasi paralel Sage menggunakan 4 pekerjaan. Pada beberapa mesin canggih, Anda bahkan dapat mempertimbangkan -j16
, karena membangun dengan lebih banyak pekerjaan daripada inti CPU dapat mempercepatnya.
Untuk mengurangi keluaran terminal selama pembangunan, ketikkan export V=0
. ( V
berarti "verbositas".)
Beberapa variabel lingkungan patut mendapat perhatian khusus: CC
, CXX
dan FC
. Variabel-variabel yang mendefinisikan compiler Anda ini dapat diatur pada waktu konfigurasi dan nilainya akan dicatat untuk digunakan lebih lanjut pada waktu build dan runtime.
Untuk diskusi mendalam tentang variabel lingkungan lainnya untuk membangun Sage, lihat panduan instalasi.
Ketik ./configure
, diikuti dengan opsi apa pun yang ingin Anda gunakan. Misalnya, untuk membangun Sage dengan paket gf2x
yang disediakan oleh Sage, gunakan ./configure --with-system-gf2x=no
.
Di akhir proses ./configure
yang berhasil, Anda mungkin melihat pesan yang menyarankan untuk menginstal paket sistem tambahan menggunakan manajer paket Anda.
Untuk daftar besar paket Sage, Sage dapat mendeteksi apakah paket sistem yang terinstal cocok untuk digunakan dengan Sage; dalam hal ini, Sage tidak akan membuat salinan lain dari sumber.
Terkadang, pesan tersebut menyarankan untuk menginstal paket yang sudah diinstal pada sistem Anda. Lihat pesan konfigurasi sebelumnya atau file config.log
untuk penjelasannya. Selain itu, pesan tersebut mungkin menyarankan untuk menginstal paket yang sebenarnya tidak tersedia; hanya rilis terbaru distribusi Anda yang memiliki semua paket yang direkomendasikan ini.
Opsional: Jika Anda memilih untuk menginstal paket sistem tambahan, menjalankan kembali ./configure
akan menguji apakah versi yang diinstal dapat digunakan untuk Sage; jika ya, hal ini akan mengurangi waktu kompilasi dan ruang disk yang dibutuhkan oleh Sage. Penggunaan paket dapat disesuaikan dengan parameter ./configure
(periksa lagi keluaran ./configure --help
).
Ketik make
. Itu saja! Semuanya otomatis dan non-interaktif.
Jika Anda mengikuti petunjuk di atas, khususnya mengenai instalasi paket sistem yang direkomendasikan oleh keluaran ./configure
(langkah 11), dan mengenai pembangunan paralel (langkah 10), pembangunan Sage membutuhkan waktu kurang dari satu jam di komputer modern. (Jika tidak, prosesnya bisa memakan waktu lebih lama.)
Build tersebut akan berfungsi dengan baik di semua platform yang didukung penuh. Jika tidak, kami ingin tahu!
Ketik ./sage
untuk mencobanya. Di Sage, coba misalnya 2 + 2
, plot(x^2)
, plot3d(lambda x, y: x*y, (-1, 1), (-1, 1))
untuk menguji perhitungan sederhana dan membuat plot di 2D dan 3D. Ketik Ctrl + D atau quit
untuk keluar dari Sage.
Opsional: Ketik make ptestlong
untuk menguji semua contoh dalam dokumentasi (lebih dari 200.000 baris masukan!) -- ini memerlukan waktu mulai dari 10 menit hingga beberapa jam. Jangan terlalu terganggu jika ada 2 sampai 3 kegagalan, tapi selalu jangan ragu untuk mengirimkan bagian logs/ptestlong.log
yang berisi kesalahan ke milis sage-support. Jika terjadi banyak kegagalan, ada masalah serius dengan build Anda.
Dokumentasi versi HTML dibuat selama proses kompilasi Sage dan berada di direktori local/share/doc/sage/html/
. Anda mungkin ingin menandainya di browser Anda.
Opsional: Jika Anda ingin membuat dokumentasi versi PDF, jalankan make doc-pdf
(ini memerlukan instalasi LaTeX).
Opsional: Instal paket opsional yang Anda minati: dapatkan daftarnya dengan mengetik ./sage --optional
atau dengan mengunjungi halaman dokumentasi paket.
Opsional: Buat symlink ke skrip sage
yang diinstal di direktori di PATH
Anda, misalnya /usr/local
. Ini akan memungkinkan Anda untuk memulai Sage dengan mengetikkan sage
dari mana saja daripada harus mengetikkan path lengkap atau menavigasi ke direktori Sage dan mengetik ./sage
. Ini dapat dilakukan dengan menjalankan:
$ sudo ln -s $(./sage -sh -c 'ls $SAGE_ROOT/venv/bin/sage') /usr/local/bin
Opsional: Siapkan SageMath sebagai kernel Jupyter di notebook Jupyter atau instalasi JupyterLab yang sudah ada, seperti yang dijelaskan di bagian Meluncurkan SageMath di Panduan Instalasi Sage.
Untuk menginstal Sage di lingkungan Python dari PyPI, Sage menyediakan paket pip
-installable sagemath-standard.
Kecuali Anda perlu menginstal Sage ke lingkungan tertentu yang sudah ada, kami sarankan untuk membuat dan mengaktifkan lingkungan virtual baru, misalnya ~/sage-venv/
:
$ python3 -m venv ~/sage-venv
$ source ~/sage-venv/bin/activate
Sebagai langkah instalasi pertama, instal sage_conf, yang membangun berbagai paket prasyarat dalam subdirektori ~/.sage/
:
(sage-venv) $ python3 -m pip install -v sage_conf
Setelah instalasi berhasil, ruang kemudi menyediakan berbagai paket Python. Anda dapat membuat daftar roda menggunakan perintah:
(sage-venv) $ ls $(sage-config SAGE_SPKG_WHEELS)
Jika ini memberikan kesalahan yang mengatakan bahwa sage-config
tidak ditemukan, periksa pesan apa pun yang mungkin dicetak oleh perintah pip install
. Anda mungkin perlu menyesuaikan PATH
Anda, misalnya dengan:
$ export PATH="$(python3 -c 'import sysconfig; print(sysconfig.get_path("scripts", "posix_user"))'):$PATH"
Sekarang instal paket dari ruang kemudi dan paket sage_setup, dan terakhir instal perpustakaan 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
Petunjuk di atas menginstal Sage rilis stabil terbaru. Untuk menginstal versi pengembangan terbaru, tambahkan saklar --pre
ke semua pemanggilan python3 -m pip install
.
CATATAN: PyPI memiliki berbagai paket pip
-installable lainnya dengan kata "sage" di namanya. Beberapa di antaranya dikelola oleh proyek SageMath, beberapa disediakan oleh pengguna SageMath untuk berbagai tujuan, dan lainnya sama sekali tidak terkait dengan SageMath. Jangan gunakan paket sage
dan sagemath
. Untuk daftar paket yang dikurasi, lihat bab Paket dan Fitur dari Panduan Referensi Sage.
SageMath tersedia di Docker Hub dan dapat diunduh oleh:
docker pull sagemath/sagemath
Saat ini, hanya versi stabil yang selalu diperbarui.
Jika Anda mengalami masalah dalam membangun Sage, periksa Panduan Instalasi Sage, serta bantuan instalasi khusus versi dalam tur rilis yang sesuai dengan versi yang Anda instal.
Jangan ragu untuk meminta bantuan di forum SageMath atau milis dukungan sage. Bagian Pemecahan Masalah dalam Panduan Instalasi Sage memberikan petunjuk tentang informasi apa yang harus diberikan sehingga kami dapat memberikan bantuan dengan lebih efektif.
Jika Anda ingin berkontribusi pada Sage, kami sangat menyarankan Anda membaca Panduan Pengembang.
Sage memiliki komponen penting yang ditulis dalam bahasa berikut: C/C++, Python, Cython, Common Lisp, Fortran, dan sedikit Perl.
Tata letak direktori yang disederhanakan (hanya file/direktori penting):
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
Untuk lebih jelasnya lihat Panduan Pengembang kami.
Ini adalah ringkasan singkat sistem pembangunan distribusi perangkat lunak Sage. Ada dua komponen pada sistem Sage lengkap--pustaka Sage Python dan antarmuka pengguna terkait, serta distribusi perangkat lunak yang lebih besar dari dependensi utama Sage (untuk dependensi yang tidak disediakan oleh sistem pengguna).
Pustaka Python Sage dibuat dan diinstal menggunakan skrip setup.py
sebagaimana standar untuk paket Python ( setup.py
Sage bukanlah hal yang sepele, namun bukan hal yang aneh).
Sebagian besar sistem pembangunan lainnya berkaitan dengan membangun semua ketergantungan Sage dalam urutan yang benar dalam kaitannya satu sama lain. Dependensi yang disertakan oleh Sage disebut sebagai SPKG (yaitu "Paket Sage") dan terdaftar di bawah build/pkgs
.
Titik masuk utama ke sistem pembangunan Sage adalah Makefile
tingkat atas di akar pohon sumber. Tidak seperti kebanyakan proyek normal yang menggunakan autoconf (Sage juga melakukannya, seperti dijelaskan di bawah), Makefile
ini tidak dibuat. Sebaliknya, ini berisi beberapa target tingkat tinggi dan target yang terkait dengan bootstrap sistem. Meskipun demikian, kita masih menjalankan make
dari akar pohon sumber--target yang tidak didefinisikan secara eksplisit di Makefile
tingkat atas akan diteruskan ke Makefile lain di bawah build/make/Makefile
.
build/make/Makefile
yang terakhir dihasilkan oleh skrip configure
yang dihasilkan autoconf, menggunakan templat di build/make/Makefile.in
. Hal ini mencakup aturan untuk membangun perpustakaan Sage itu sendiri ( make sagelib
), dan untuk membangun dan menginstal masing-masing dependensi Sage (misalnya make gf2x
).
Skrip configure
itu sendiri, jika belum dibuat, dapat dibuat dengan menjalankan skrip bootstrap
(skrip bootstrap memerlukan instalasi autotool GNU ). Makefile
tingkat atas juga menangani hal ini secara otomatis.
Ringkasnya, menjalankan perintah seperti make python3
di tingkat atas pohon sumber akan berjalan seperti ini:
make python3
./bootstrap
jika configure
perlu diperbarui./configure
dengan opsi apa pun yang dikonfigurasi sebelumnya jika build/make/Makefile
perlu diperbaruibuild/make
dan jalankan skrip install
--ini hanyalah front-end untuk menjalankan make -f build/make/Makefile python3
, yang menetapkan beberapa variabel lingkungan yang diperlukan dan mencatat beberapa informasibuild/make/Makefile
berisi aturan sebenarnya untuk membangun python3
; ini termasuk membangun semua dependensi python3
terlebih dahulu (dan dependensinya, secara rekursif); instalasi paket sebenarnya dilakukan dengan program sage-spkg
Tidak didukung untuk memindahkan direktori SAGE_ROOT
atau SAGE_LOCAL
setelah membangun Sage. Jika Anda memindahkan direktori, Anda harus menjalankan make distclean
dan membangun Sage lagi dari awal.
Untuk instalasi seluruh sistem, Anda harus membangun Sage sebagai pengguna "normal" dan kemudian sebagai root Anda dapat mengubah izin. Lihat Panduan Instalasi untuk informasi lebih lanjut.
Pemasangan Sage lokal Anda hampir sama persis dengan pemasangan "pengembang" mana pun. Anda dapat membuat perubahan pada dokumentasi, sumber, dll., dan dengan mudah mengemas hasil lengkapnya untuk didistribusikan ulang seperti yang kami lakukan.
Untuk membuat distribusi biner dengan paket yang Anda instal saat ini, kunjungi sagemath/binary-pkg.
Untuk membuat tarball sumber Sage Anda sendiri, ketik:
$ make dist
Hasilnya ditempatkan di direktori dist/
.
Semua perangkat lunak yang disertakan dengan Sage memiliki hak cipta oleh masing-masing penulis dan dirilis di bawah lisensi sumber terbuka yang kompatibel dengan GPL versi 3 atau lebih baru . Lihat COPYING.txt untuk lebih jelasnya.
Sumber berada dalam tarball yang tidak dimodifikasi (sejauh mungkin) di direktori upstream/
. Deskripsi selebihnya, informasi versi, patch, dan skrip build ada di direktori build/pkgs/
yang menyertainya. Direktori ini adalah bagian dari repositori Sage git.
Hak Cipta (C) 2005-2024 Tim Pengembangan Sage
https://www.sagemath.org