Kaynaktan Bazel derleniyor

Sorun bildir Kaynağı görüntüle Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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

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

Bazel'i Bazel kullanarak derleme

Özet

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

  2. Bazel'in kaynaklarını GitHub'dan indirip bir yere çıkarın. Alternatif olarak, kaynak ağacını https://github.com/bazelbuild/bazel adresinden git clone komutuyla da kopyalayabilirsiniz.

  3. İlk başlatma için gereken ön koşulları yükleyin (Unix benzeri sistemler veya Windows için bölümüne bakın).

  4. Bazel'i kullanarak Bazel'in geliştirme sürümünü oluşturun: bazel build //src:bazel-dev (veya Windows'da bazel build //src:bazel-dev.exe)

  5. Elde edilen ikili dosya bazel-bin/src/bazel-dev konumundadır (veya Windows'da bazel-bin\src\bazel-dev.exe). İstediğiniz yere kopyalayabilir ve başka bir yükleme yapmadan hemen kullanabilirsiniz.

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

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

Hedef: Bazel'in yayın sürümünü yükleyin veya indirin. Terminalde bazel yazarak çalıştırabildiğinizden emin olun.

Nedeni: Bazel'i GitHub kaynak ağacından oluşturmak için önceden mevcut bir Bazel ikilisine ihtiyacınız vardır. Paket yöneticisinden veya GitHub'dan bir tane indirebilirsiniz. Bazel'i yükleme başlıklı makaleyi inceleyin. (Alternatif olarak, sıfırdan (bootstrap) oluşturabilirsiniz.)

Sorun giderme:

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

    • Bazel ikilinizin dizini PATH'te olmayabilir.

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

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

      Bu büyük bir sorun değildir. İkiliyi yeniden adlandırabilir veya bazel yerine ikilinin adını yazabilirsiniz.

    • İkili dosya yürütülebilir olmayabilir (Unix sistemlerde).

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

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

Git'i biliyorsanız https://github.com/bazelbuild/bazel adresini klonlamanız yeterlidir.

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 dosyaları buraya çıkarın.

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

İlk başlatma için gereken ön koşulları (aşağıya bakın) yükleyin: JDK, C++ derleyici, MSYS2 (Windows'da derleme yapıyorsanız) vb.

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

Windows'a yönelik talimatlar için Windows'da Bazel'i derleme başlıklı makaleye bakın.

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

Talimatlar:

  1. Bash terminali başlatma

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

    Örneğin, kaynakları ana dizininiz altında çıkardıysanız şunu çalıştırın:

    cd ~/bazel-src
    
  3. Bazel'i kaynaktan derleme:

    bazel build //src:bazel-dev
    

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

    bazel --version'nin belirtilen sürümü vermesi için ikili dosyaya bir Bazel sürümü yerleştirmek üzere --stamp --embed_label=X.Y.Z işaretiyle derleme yapabilirsiniz.

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

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

Unix benzeri sistemlerle ilgili talimatlar için Ubuntu Linux, macOS ve diğer Unix benzeri sistemler başlıklı makaleyi inceleyin.

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 istemini başlatın (Başlat Menüsü > Çalıştır > "cmd.exe")

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

    Örneğin, kaynakları ana dizininiz altında çıkardıysanız şunu çalıştırın:

    cd %USERPROFILE%\bazel-src
    
  3. Bazel'i kaynaktan derleme:

    bazel build //src:bazel-dev.exe

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

    bazel --version'nin belirtilen sürümü vermesi için ikili dosyaya bir Bazel sürümü yerleştirmek üzere --stamp --embed_label=X.Y.Z işaretiyle derleme yapabilirsiniz.

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

5. adım: Oluşturulan ikili dosyayı yükleyin

Aslında, yüklemeniz gereken bir şey yok.

Önceki adımın çıkışı, bağımsız bir Bazel ikilisidir. Bu dosyayı herhangi bir dizine kopyalayıp hemen kullanabilirsiniz. (Bu dizinin PATH'inizde olması, "bazel" komutunu her yerde çalıştırabilmeniz açısından faydalıdır.)


Bazel'i sıfırdan oluşturma (bootstrap)

Ayrıca, mevcut bir Bazel ikilisi kullanmadan Bazel'i sıfırdan da oluşturabilirsiniz.

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

(Bu adım tüm platformlarda aynıdır.)

  1. Örneğin, GitHub'dan bazel-<version>-dist.zip indirin bazel-0.28.1-dist.zip.

    Dikkat:

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

    Bazel'in 3D5919B448457EE0 yayın anahtarıyla oluşturulan imzayı doğrulamanız gerekir.

2a adımı: Ubuntu Linux, macOS ve diğer Unix benzeri sistemlerde Bazel'i başlatın

Windows'daki talimatlar için Windows'da Bazel'i başlatma başlıklı makaleyi inceleyin.

2.1. Ön koşulları yükleme

  • Bash

  • zip, unzip

  • C++ derleme araç zinciri

  • JDK. 21. sürüm gereklidir.

  • Python. 2. ve 3. sürümler desteklenir. Bu sürümlerden birini yüklemeniz yeterlidir.

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

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

2.2. Unix'te Bazel'i başlatma

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

  2. cd dağıtım arşivini açtığınız dizine.

  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 içine yerleştirilir. Bu, yerleşik JDK'sı olmayan bağımsız bir Bazel ikilisi. Bu kodu istediğiniz yere kopyalayabilir veya yerinde kullanabilirsiniz. Kolaylık sağlaması için bu ikili dosyayı PATH cihazınızdaki bir dizine (ör. Linux'ta /usr/local/bin) kopyalayın.

bazel ikilisini yeniden üretilebilir şekilde oluşturmak için "Derleme komut dosyasını çalıştırın" adımında SOURCE_DATE_EPOCH değerini de ayarlayın.

2b adımı: Windows'da Bazel'i başlatın

Unix benzeri sistemlerle ilgili talimatlar için Ubuntu Linux, macOS ve diğer Unix benzeri sistemlerde Bazel'i başlatma başlıklı makaleyi inceleyin.

2.1. Ön koşulları yükleme

  • MSYS2 shell

  • zip ve unzip için MSYS2 paketleri. MSYS2 kabuğunda aşağıdaki komutu çalıştırın:

    pacman -S zip unzip patch
    
  • Visual C++ derleyicisi. Visual C++ derleyicisini Visual Studio 2015 veya daha yeni bir sürümün parçası olarak ya da en yeni Build Tools for Visual Studio 2017'yi yükleyerek kurun.

  • JDK. 21. sürüm gereklidir.

  • Python. 2. ve 3. sürümler desteklenir. Bu sürümlerden birini yüklemeniz yeterlidir. Windows'a özel sürümü (https://www.python.org adresinden indirilebilir) kullanmanız gerekir. MSYS2'de pacman aracılığıyla yüklenen sürümler çalışmaz.

2.2. Windows'da Bazel'i başlatma

  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) yoluna ayarlayın. Bunlardan birini ayarlamanız yeterlidir.
    • BAZEL_SH: MSYS2'nin yolu bash.exe. Aşağıdaki örneklerde komutu görebilirsiniz.

      Bunu C:\Windows\System32\bash.exe olarak ayarlamayın. (Windows için Linux Alt Sistemi'ni yüklediyseniz bu dosya sizde vardır.) Bazel, bash.exe'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 kullanılarak):

    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 dağıtım arşivini açtığınız dizine.

  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 içine yerleştirilir. Bu, yerleşik JDK'sı olmayan bağımsız bir Bazel ikilisi. Bu kodu istediğiniz yere kopyalayabilir veya yerinde kullanabilirsiniz. Kolaylık sağlaması için bu ikili dosyayı PATH cihazınızdaki bir dizine kopyalayın.

bazel.exe ikilisini yeniden üretilebilir şekilde oluşturmak için "Derleme komut dosyasını çalıştırın" 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.