Kaynaktan Bazel derleniyor

Sorun bildir Kaynağı göster

Bu sayfada Bazel'ın kaynaktan nasıl yükleneceği açıklanmakta ve sık karşılaşılan sorunlar için sorun giderme ipuçları sağlanmaktadır.

Kaynaktan Bazel oluşturmak için aşağıdakilerden birini yapabilirsiniz:

Bazel kullanarak Bazel oluşturma

Özet

  1. En son Bazel sürümünü GitHub sürüm sayfasından veya Bazelisk ile edinin.

  2. GitHub'dan Bazel'ın kaynaklarını indirin ve bir yere ayıklayın. Alternatif olarak, https://github.com/bazelbuild/bazel adresinden kaynak ağacını klonlayabilirsiniz.

  3. Önyükleme ile aynı ön koşulları yükleyin (Unix benzeri sistemler için veya Windows için bölümüne bakın)

  4. Bazel kullanarak Bazel geliştirme derlemesi oluşturun: bazel build //src:bazel-dev (veya Windows'da bazel build //src:bazel-dev.exe)

  5. Ortaya çıkan ikili değer bazel-bin/src/bazel-dev (veya Windows'da bazel-bin\src\bazel-dev.exe) şeklindedir. İstediğiniz yerde kopyalayabilir ve başka kurulum yapmanıza gerek kalmadan hemen kullanabilirsiniz.

Ayrıntılı talimatları aşağıda bulabilirsiniz.

1. Adım: En son Bazel sürümünü edinin

Hedef: Bazel'ın sürüm sürümünü yüklemek veya indirmek. Bir terminalde bazel yazarak çalıştırabildiğinizden emin olun.

Neden: GitHub kaynak ağacından Bazel derlemek için önceden var olan bir Bazel ikili dosyasına ihtiyacınız vardır. Bir paket yöneticisinden yükleyebilir veya GitHub'dan bir tane indirebilirsiniz. Bkz. Bazel'ı yükleme. (Dilerseniz sıfırdan oluşturabilirsiniz (bot kayışı).)

Sorun giderme:

  • Bir terminalde bazel yazarak Bazel'ı çalıştıramıyorsanız:

    • Bazel ikili programınızın dizini PATH üzerinde olmayabilir.

      Bu büyük bir sorun değil. bazel yerine tam yolu yazmanız gerekir.

    • Belki de Bazel ikili programının adı bazel (Unix'lerde) veya bazel.exe (Windows'da) değildir.

      Bu büyük bir sorun değil. İkili dosyayı yeniden adlandırabilir veya bazel yerine ikili programın adını yazabilirsiniz.

    • İkili program yürütülebilir değil (Unix'lerde) olabilir.

      chmod +x /path/to/bazel komutunu çalıştırarak ikili programı yürütülebilir hale getirmeniz gerekir.

2. Adım: GitHub'dan Bazel'ın kaynaklarını indirin

Git hakkında bilginiz varsa git clone https://github.com/bazelbuild/bazel

Diğer durumlarda:

  1. En son kaynakları zip dosyası olarak indirin.

  2. İçeriği bir yere çıkarın.

    Örneğin, ana dizininizin altında bir bazel-src dizini oluşturun ve dizini bu dizinden çıkarın.

3. Adım: Ön koşulları yükleme

Önyükleme ile aynı önkoşulları yükleyin (aşağıya bakın): JDK, C++ derleyicisi, MSYS2 (Windows'da derliyorsanız) vb.

4a Adımı: Ubuntu Linux, macOS ve diğer Unix benzeri sistemlerde Bazel oluşturun

Windows talimatları için Windows'da Bazel Oluşturma başlıklı makaleye bakın.

Hedef: Özel bir Bazel ikili programı (bazel-bin/src/bazel-dev) oluşturmak için Bazel çalıştırın.

Talimatlar:

  1. Bash terminali başlatın

  2. cd dosyasını Bazel'ın kaynaklarını çıkardığınız (veya klonladığınız) dizine ekleyin.

    Örneğin, ana dizininizin altındaki kaynakları çıkardıysanız şu komutu çalıştırın:

    cd ~/bazel-src
    
  3. Kaynaktan Bazel oluştur:

    bazel build //src:bazel-dev
    

    Alternatif olarak, daha küçük bir ikili program elde etmek için bazel build //src:bazel --compilation_mode=opt çalıştırabilirsiniz ancak derlemesi daha yavaştır.

  4. Çıkış bazel-bin/src/bazel-dev (veya bazel-bin/src/bazel) olur.

4b Adımı: Windows'da Bazel oluşturun

Unix benzeri sistemlere yönelik talimatlar için Ubuntu Linux, macOS ve diğer Unix benzeri sistemler sayfasına bakın.

Hedef: Özel bir Bazel ikili programı (bazel-bin\src\bazel-dev.exe) oluşturmak için Bazel çalıştırın.

Talimatlar:

  1. Komut İstemi'ni başlatın (Başlat Menüsü > Çalıştır > "cmd.exe")

  2. cd dosyasını Bazel'ın kaynaklarını çıkardığınız (veya klonladığınız) dizine ekleyin.

    Örneğin, ana dizininizin altındaki kaynakları çıkardıysanız şu komutu çalıştırın:

    cd %USERPROFILE%\bazel-src
    
  3. Kaynaktan Bazel oluştur:

    bazel build //src:bazel-dev.exe
    

    Alternatif olarak, daha küçük bir ikili program elde etmek için bazel build //src:bazel.exe --compilation_mode=opt çalıştırabilirsiniz ancak oluşturulması daha yavaştır.

  4. Çıkış bazel-bin\src\bazel-dev.exe (veya bazel-bin\src\bazel.exe) olur.

5. Adım: Derlenen ikili dosyayı yükleyin

Aslında, yüklenecek bir şey yok.

Önceki adımın çıktısı, bağımsız bir Bazel ikili programıdır. Bunu herhangi bir dizine kopyalayıp hemen kullanabilirsiniz. (Söz konusu dizin PATH üzerinde ise "bazel" her yerde çalıştırabilmeniz için yararlıdır.)


Sıfırdan Bazel yapın (önyükleme)

Mevcut bir Bazel ikili programını kullanmadan da sıfırdan Bazel oluşturabilirsiniz.

1. Adım: Bazel'ın kaynaklarını indirin (dağıtım arşivi)

(Bu adım tüm platformlar için aynıdır.)

  1. GitHub'dan bazel-<version>-dist.zip dosyasını indirin (örneğin, bazel-0.28.1-dist.zip).

    Dikkat:

    • Tek, mimariden bağımsız bir dağıtım arşivi vardır. Mimariye veya işletim sistemine özel dağıtım arşivleri yoktur.
    • Bu kaynaklar, GitHub kaynak ağacıyla aynı değildir. Bazel'ı önyüklemek için dağıtım arşivini kullanmanız gerekir. GitHub'dan klonlanan bir kaynak ağacı kullanamazsınız. (Dağıtım arşivi, önyükleme için gereken ve normal Git kaynak ağacının parçası olmayan oluşturulmuş kaynak dosyaları içerir.)
  2. Dağıtım arşivini diskte bir yere açın.

    Bazel'ın sürüm anahtarı 3D5919B448457EE0 tarafından oluşturulan imzayı doğrulamanız gerekir.

2a Adımı: Ubuntu Linux, macOS ve diğer Unix benzeri sistemlerde Bazel önyüklemesi yapın

Windows talimatları için Windows'da Önyükleme Bazel başlıklı makaleye bakın.

2.1. Ön koşulları yükleme

  • Tuş

  • zip, açmak

  • C++ derleme araç zinciri

  • JDK. Sürüm 21 gerekir.

  • Python. Sürüm 2 ve 3 desteklenir. Bunlardan birini yüklemek yeterlidir.

Örneğin, Ubuntu Linux'ta bu gereksinimleri aşağıdaki komutu kullanarak yükleyebilirsiniz:

sudo apt-get install build-essential openjdk-21-jdk python zip unzip

2.2. Unix'de Önyükleyici Bazel

  1. Bir kabuk veya Terminal penceresi açın.

  2. cd dosyasını, dağıtım arşivini paketinden çıkardığınız dizine ekleyin.

  3. Derleme komut dosyasını çalıştırın: env EXTRA_BAZEL_ARGS="--tool_java_runtime_version=local_jdk" bash ./compile.sh.

Derlenen çıkış output/bazel konumuna yerleştirilir. Bu, yerleşik bir JDK içermeyen bağımsız bir Bazel ikili programıdır. Bağlantıyı istediğiniz yere kopyalayabilir veya yerinde kullanabilirsiniz. Kolaylık sağlaması açısından bu ikili programı PATH üzerinde yer alan bir dizine kopyalayın (örneğin, Linux'taki /usr/local/bin).

bazel ikili programını yeniden oluşturulabilir bir şekilde derlemek için "Derleme komut dosyasını çalıştırma" adımında SOURCE_DATE_EPOCH değerini de ayarlayın.

2b Adımı: Windows'da Bazel'ı Önyükleyin

Unix benzeri sistemlere yönelik talimatlar için Ubuntu Linux, macOS ve diğer Unix benzeri sistemlerde Bootstrap Bazel sayfasına göz atın.

2.1. Ön koşulları yükleme

  • MSYS2 kabuğu

  • Sıkıştırma ve açma için MSYS2 paketleri. MSYS2 kabuğunda aşağıdaki komutu çalıştırın:

    pacman -S zip unzip patch
    
  • Visual C++ derleyici. Visual C++ derleyicisini, Visual Studio 2015 veya sonraki sürümlerin bir parçası olarak ya da en yeni Visual Studio 2017 için Derleme Araçları'nı yükleyerek yükleyin.

  • JDK. Sürüm 21 gerekir.

  • Python. Sürüm 2 ve 3 desteklenir. Bunlardan birini yüklemek yeterlidir. Windows'un yerel sürümüne ihtiyacınız var (https://www.python.org adresinden indirilebilir). MSYS2'de pacman aracılığıyla yüklenen sürümler çalışmaz.

2.2. Windows'da Önyükleme Bazel

  1. MSYS2 kabuğunu açın.

  2. Aşağıdaki ortam değişkenlerini ayarlayın:

    • BAZEL_VS veya BAZEL_VC (aynı değildir): Visual Studio dizininin (BAZEL_VS) veya Visual C++ dizinine (BAZEL_VC) yönlendirme yapın. Bunlardan birini ayarlamak yeterlidir.
    • BAZEL_SH: MSYS2'nin yolu bash.exe. Aşağıdaki örneklerde verilen komutu inceleyin.

      Bunu C:\Windows\System32\bash.exe olarak ayarlamayın. (Linux için Windows Alt Sistemi'ni yüklediyseniz bu dosya sizde mevcuttur.) Bazel, bash.exe uygulamasının bu sürümünü desteklemiyor.

    • PATH: Python dizinini ekleyin.

    • JAVA_HOME: JDK dizinine ayarlanır.

    Örnek (BAZEL_VS kullanılarak):

    export BAZEL_VS="C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools"
    export BAZEL_SH="$(cygpath -m $(realpath $(which bash)))"
    export PATH="/c/python27:$PATH"
    export JAVA_HOME="C:/Program Files/Java/jdk-21"
    

    veya (BAZEL_VC kullanarak):

    export BAZEL_VC="C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC"
    export BAZEL_SH="$(cygpath -m $(realpath $(which bash)))"
    export PATH="/c/python27:$PATH"
    export JAVA_HOME="C:/Program Files/Java/jdk-21"
    
  3. cd dosyasını, dağıtım arşivini paketinden çıkardığınız dizine ekleyin.

  4. Derleme komut dosyasını çalıştırın: env EXTRA_BAZEL_ARGS="--tool_java_runtime_version=local_jdk" ./compile.sh

Derlenen çıkış output/bazel.exe konumuna yerleştirilir. Bu, yerleşik bir JDK içermeyen bağımsız bir Bazel ikili programıdır. Bağlantıyı istediğiniz yere kopyalayabilir veya yerinde kullanabilirsiniz. Kolaylık sağlaması açısından bu ikili programı PATH üzerinde yer alan bir dizine kopyalayın.

bazel.exe ikili programını yeniden oluşturulabilir bir şekilde derlemek için "Derleme komut dosyasını çalıştırma" adımında SOURCE_DATE_EPOCH değerini de ayarlayın.

Bazel'ı MSYS2 kabuğundan çalıştırmanız gerekmez. Bazel'ı Komut İstemi'nden (cmd.exe) veya PowerShell'den çalıştırabilirsiniz.