Kaynaktan Bazel derleniyor

Sorun bildir Kaynağı göster Gece · 7,3 · 7,2 · 7,1 · 7,0 · 6,5

Bu sayfada, Bazel'ın kaynaktan nasıl yükleneceği açıklanır ve sorun giderme ipuçlarına göz atın.

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

Bazel kullanarak Bazel oluşturma

Özet

  1. En yeni Bazel sürümünü şuradan edinin: GitHub sürüm sayfası veya Bazelisk.

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

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

  4. Bazel kullanarak Bazel için bir geliştirme derlemesi oluşturun: bazel build //src:bazel-dev (veya şurada bazel build //src:bazel-dev.exe: Windows)

  5. Elde edilen ikili sayı bazel-bin/src/bazel-dev değerindedir (veya Windows'da bazel-bin\src\bazel-dev.exe). Nerede olursanız olun kopyalayabilirsiniz kolayca 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. Koşabileceğinizden emin olun bir terminale bazel yazarak bunu yapabilirsiniz.

Neden: GitHub kaynak ağacından Bazel oluşturmak için önceden var olan bir Bazel ikili programı. Paket yöneticisinden bir tane yükleyebilir veya GitHub. Bkz. Bazel'i Yükleme. (Dilerseniz çizik (önyükleme).)

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 şunları yapmanız gerekir: tam yolu yazın.

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

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

    • İ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. İndirin: en son kaynakları ZIP dosyası olarak kaydedin.

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

    Örneğin, ana dizininizin altında bir bazel-src dizini oluşturun ve buradan ayıklayın.

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

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

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 bazel build //src:bazel --compilation_mode=opt komutunu çalıştırabilirsiniz daha küçük bir ikili program sağlar. Ancak oluşturulması daha yavaştır.

    Bazel yerleştirmek için --stamp --embed_label=X.Y.Z işaretiyle derleme yapabilirsiniz sürümünü kullanın.bazel --version

  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 Unix benzeri diğer sistemler.

Hedef: Özel bir Bazel ikili programı oluşturmak için Bazel'i çalıştırma (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.

    Bazel yerleştirmek için --stamp --embed_label=X.Y.Z işaretiyle derleme yapabilirsiniz sürümünü kullanın.bazel --version

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

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. Kopyalayabilirsiniz hemen kullanabilirsiniz. (Bu dizinde, "bazel"i çalıştırabilmek için PATH yolunuz everywhere.)


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

Ayrıca, mevcut bir Bazel ikili programını kullanmadan sıfırdan Bazel 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ı şuradan indir: Örneğin GitHub 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. Siz için dağıtım arşivini kullanmanız gerekir. Yapamayacağınız işlemler: GitHub'dan klonlanan bir kaynak ağacı kullanın. (Dağıtım arşivinde önyükleme için gerekli olan ve parçası olmayan oluşturulmuş kaynak dosyaları örneğidir.)
  2. Diskteki bir yerde dağıtım arşivini açın.

    Bazel'in imzasını doğrulamanız gerekiyor sürüm anahtarı 3D5919B448457EE0.

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 yeterli.

Örneğin, Ubuntu Linux'ta bu gereksinimleri şu komutu kullanın:

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, bağımsız bir Yerleştirilmiş JDK içermeyen Bazel ikili programı. İstediğiniz yere kopyalayabilir veya kullanabilirsiniz yerleşik. Kolaylık sağlaması açısından, bu ikili programı PATH (Linux'ta /usr/local/bin gibi).

bazel ikili programını tekrarlanabilir bir şekilde derlemek için ayrıca SOURCE_DATE_EPOCH "Derleme komut dosyasını çalıştır" adımına geçelim.

2b Adımı: Windows'da Bootstrap Bazel

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

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 C++ derleyicisini veya en yeni Derleme Araçlarını indirin.

  • JDK. Sürüm 21 gerekir.

  • Python. Sürüm 2 ve 3 desteklenir. Bunlardan birinin yüklenmesi yeterli. Windows'da yerel sürüme ihtiyacınız var ( https://www.python.org). Sürümler şunun üzerinden yüklendi: MSYS2'deki pacman ç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ğiller): Visual Studio dizinine (BAZEL_VS) veya Visual C++ dizini (BAZEL_VC). Bunlardan birini ayarlamak yeterli olur.
    • BAZEL_SH: MSYS2 bash.exe yolu. Komutu aşağıdaki örneklere göz atın.

      Bunu C:\Windows\System32\bash.exe olarak ayarlamayın. (Söz konusu dosya, .) Bazel desteklemiyor bash.exe uygulamasının bu sürümü.

    • 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, bağımsız bir Yerleştirilmiş JDK içermeyen Bazel ikili programı. İstediğiniz yere kopyalayabilir veya kullanabilirsiniz yerleşik. Kolaylık sağlaması açısından, bu ikili programı PATH.

bazel.exe ikili programını tekrarlanabilir bir şekilde derlemek için ayrıca SOURCE_DATE_EPOCH "Derleme komut dosyasını çalıştır" adımına geçelim.

Bazel'i MSYS2 kabuğundan çalıştırmanız gerekmez. Bazel'i şuradan çalıştırabilirsiniz: Komut İstemi (cmd.exe) veya Powershell.