Kaynaktan Bazel derleniyor

Sorun bildirin Kaynağı göster

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

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

Bazel kullanarak Bazel oluşturma

Özet

  1. GitHub sürüm sayfasından veya Bazelisk kullanarak Bazel'in en son sürümünü edinin.

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

  3. Önyüklemeyle aynı ön koşulları yükleyin (Unix benzeri sistemler veya Windows için bkz.)

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

  5. Elde edilen ikili program, bazel-bin/src/bazel-dev (veya Windows'da bazel-bin\src\bazel-dev.exe) konumundadır. İstediğiniz yere kopyalayıp başka bir yüklemeye gerek kalmadan hemen kullanabilirsiniz.

Ayrıntılı talimatlar aşağıda verilmiştir.

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

Hedef: Bazel'in yayınlanan bir sürümünü yükleyin veya indirin. Bir terminale bazel yazarak bu komutu çalıştırabileceğinizden emin olun.

Neden: GitHub kaynak ağacından Bazel oluşturmak için önceden var olan bir Bazel ikili programı gerekir. Paket yöneticisinden bir uygulama yükleyebilir veya GitHub'dan bir uygulama indirebilirsiniz. Bkz. Bazel'i Yükleme. (Dilerseniz Scratch'tan (bootstrap)) derleme yapabilirsiniz.)

Sorun giderme:

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

    • Belki de Bazel ikili programınızın dizini PATH üzerinde değildir.

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

    • Bazel ikilisinin kendisi bazel (Unixes'te) veya bazel.exe (Windows'da) olarak adlandırılmamış olabilir.

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

    • İkili program yürütülebilir olmayabilir (Unix'te).

      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'u kullanabilirsiniz https://github.com/bazelbuild/bazel

Diğer durumlarda:

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

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

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

3. adım: Ön koşulları yükleyin

Önyükleme için belirtilen ön koşulları (aşağıya bakın) yükleyin: JDK, C++ derleyici, MSYS2 (Windows'da derleme yapıyorsanız).

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

Windows'a yönelik 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'i ç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 ekler.

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

    cd ~/bazel-src
    
  3. Bazel'ı kaynaktan derleyin:

    bazel build //src:bazel-dev
    

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

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

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

Unix benzeri sistemlerle ilgili talimatlar için Ubuntu Linux, macOS ve diğer Unix benzeri sistemlere göz atın.

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

Talimatlar:

  1. Komut İstemi'ni Başlat (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 ekler.

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

    cd %USERPROFILE%\bazel-src
    
  3. Bazel'ı kaynaktan derleyin:

    bazel build //src:bazel-dev.exe
    

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

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

5. Adım: Derlenen ikili programı 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 üzerindeyse faydalıdır; böylece her yerde "bazel" çalıştırabilirsiniz.)


Bazel'ı sıfırdan derleme (önyükleme)

Ayrıca, mevcut bir Bazel ikili programını kullanmadan, Bazel'ı sıfırdan derleyebilirsiniz.

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

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

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

    İlgi:

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

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

2a Adımı: Ubuntu Linux, macOS ve Unix benzeri diğer sistemlerde Bootstrap Bazel

Windows'a yönelik talimatlar için Windows'da Bootstrap Bazel sayfasına bakın.

2.1. Ön koşulları yükleme

  • Durma

  • sıkıştırma, sıkıştırmayı açma

  • C++ araç zinciri oluşturma

  • JDK. Sürüm 21 gerekir.

  • Python. Sürüm 2 ve 3 desteklenir, bunlardan birinin yüklenmesi 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'te Bootstrap Bazel

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

  2. cd öğesini, dağıtım arşivini açtığı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 çıktı, output/bazel konumuna yerleştirilir. Bu, yerleşik JDK'ya sahip olmayan bağımsız bir Bazel ikili programıdır. Bunu istediğiniz yere kopyalayabilir veya yerinde kullanabilirsiniz. İşinizi kolaylaştırmak için bu ikili programı, PATH üzerindeki bir dizine (ör. Linux'taki /usr/local/bin) kopyalayın.

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 Bootstrap Bazel

Unix benzeri sistemlerle ilgili talimatlar için Ubuntu Linux, macOS ve diğer Unix benzeri sistemlerde Bootstrap Bazel sayfasına bakın.

2.1. Ön koşulları yükleme

  • MSYS2 kabuğu

  • Sıkıştırma ve sıkıştırılmış dosya 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 Studio 2015 veya daha yeni bir sürümün bir parçası olarak ya da en yeni Visual Studio 2017 için Derleme Araçları'nı yükleyerek Visual C++ derleyicisini yükleyin.

  • JDK. Sürüm 21 gerekir.

  • Python. Sürüm 2 ve 3 desteklenir, bunlardan birinin yüklenmesi yeterlidir. Yerel Windows sürümüne ihtiyacınız vardır (https://www.python.org adresinden indirilebilir). MSYS2'de pacman aracılığıyla yüklenen sürümler çalışmaz.

2.2. Windows'da Bootstrap 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++ dizininin (BAZEL_VC) yolunu ayarlayın. Bunlardan birini ayarlamak yeterli olur.
    • BAZEL_SH: MSYS2 bash.exe yolu. Aşağıdaki örneklerde verilen komuta bakın.

      Bunu C:\Windows\System32\bash.exe olarak ayarlamayın. (Linux için Windows Alt Sistemi'ni yüklediyseniz bu dosyayı da alırsınız.) Bazel, bash.exe özelliğinin bu sürümünü desteklemiyor.

    • PATH: Python dizinini ekleyin.

    • JAVA_HOME: JDK dizinine ayarlayın.

    Ö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 öğesini, dağıtım arşivini açtığı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 çıktı, output/bazel.exe konumuna yerleştirilir. Bu, yerleşik JDK'ya sahip olmayan bağımsız bir Bazel ikili programıdır. Bunu istediğiniz yere kopyalayabilir veya yerinde kullanabilirsiniz. Size kolaylık sağlaması için bu ikili programı PATH dosyanızdaki 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'i MSYS2 kabuğundan çalıştırmanız gerekmez. Bazel'i Komut İstemi (cmd.exe) veya Powershell'den çalıştırabilirsiniz.