Kaynaktan Bazel derleniyor

Bu sayfada Bazel'ın kaynaktan nasıl yükleneceği açıklanmakta ve yaygın sorunlarla ilgili 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. GitHub sürüm sayfasından veya Bazelisk ile en son Bazel sürümünü edinin.

  2. Bazel'in kaynaklarını GitHub'dan indirin ve bir yere çıkarı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 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 program bazel-bin/src/bazel-dev (veya Windows'da bazel-bin\src\bazel-dev.exe) işlemidir. Uygulamayı istediğiniz yere kopyalayabilir ve başka 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'ın sürüm sürümünü yükleyin veya indirin. Bir terminale bazel yazarak çalıştırabildiğinizden emin olun.

Neden: GitHub kaynak ağacından Bazel oluşturmak için önceden var olan bir Bazel ikili programına ihtiyacınız vardır. Paket yöneticisinden veya GitHub'dan bir tane indirebilirsiniz. Bazel'ı yükleme konusuna bakın. (Sıfırdan da oluşturabilirsiniz (bootstrap).)

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 yazmak yerine tam yolu yazmanız gerekir.

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

      Bu büyük bir sorun değil. İkili programın adını değiştirebilir veya bazel yerine ikili programın adını yazabilirsiniz.

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

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

2. Adım: GitHub'dan Bazel'in 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 yere çıkarın.

    Örneğin, ana dizininizin altında bir bazel-src dizini oluşturup söz konusu dizini buradan çıkarın.

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

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

4a Adımı: Ubuntu Linux, macOS ve diğer Unix benzeri sistemlerde Bazel 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'ı çalıştırın.

Talimatlar:

  1. Bash terminalini başlatın

  2. cd dosyasını Bazel'in 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şturun:

    bazel build //src:bazel-dev
    

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

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

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

Unix benzeri sistemlere yönelik talimatlar için Ubuntu Linux, macOS ve diğer Unix benzeri sistemler sayfasına göz atı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'in 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şturun:

    bazel build //src:bazel-dev.exe
    

    Alternatif olarak, derlemesi daha yavaş olan bir ikili program oluşturmak için bazel build //src:bazel.exe --compilation_mode=opt komutunu çalıştırabilirsiniz.

  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 sonucu, bağımsız bir Bazel ikili dosyasıdır. Dosyayı istediğiniz dizine kopyalayıp hemen kullanabilirsiniz. (İlgili dizin PATH üzerindeyse her yerde "bazel" çalıştırabilmeniz için yararlıdır.)


Sıfırdan Bazel oluşturma (önyükleme)

Mevcut bir Bazel ikili programını kullanmadan da Bazel'ı sıfırdan derleyebilirsiniz.

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

(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).

    Dikkat:

    • Mimariden bağımsız tek bir dağıtım arşivi vardır. Mimariye veya işletim sistemine özel dağıtım arşivi 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şivinde önyükleme için gereken ve normal Git kaynak ağacının parçası olmayan, oluşturulmuş kaynak dosyalar yer alır.)
  2. Dağıtım arşivini diskteki bir yerde paketinden çıkarın.

    Bazel'in 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

Windows'a ilişkin talimatlar için Windows'da Önyükleme Bazel sayfasına göz atın.

2.1. Ön koşulları yükleme

  • Bash

  • zip, sıkıştırmayı aç

  • C++ derleme araç zinciri

  • JDK. Sürüm 11 gereklidir.

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

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

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

2.2. Unix'de Önyükleme 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 dosyasıdır. İstediğiniz yerde kopyalayabilir veya yerinde kullanabilirsiniz. Kolaylık sağlaması açısından bu ikili programı PATH dizininizdeki bir dizine (Linux'taki /usr/local/bin gibi) kopyalayın.

bazel ikili programını yeniden oluşturulabilir bir şekilde oluşturmak 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 sistemlerle ilgili talimatlar için Ubuntu Linux, macOS ve diğer Unix benzeri sistemlerde Önyükleme 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++ derleyiciyi, Visual Studio 2015 veya daha yeni bir sürümün bir parçası olarak ya da Visual Studio 2017 için Derleme Araçları'nın en yeni sürümünü yükleyerek yükleyin.

  • JDK. Sürüm 11 gereklidir.

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

2.2. Windows'da Bazel önyüklemesi

  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.
    • BAZEL_SH: MSYS2 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 dosyaya sahip olursunuz.) 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/jdk1.8.0_112"
    

    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/jdk1.8.0_112"
    
  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 dosyasıdır. İstediğiniz yerde kopyalayabilir veya yerinde kullanabilirsiniz. Kolaylık sağlaması açısından bu ikili programı PATH üzerinde olan bir dizine kopyalayın.

bazel.exe ikili programını yeniden oluşturulabilir bir şekilde oluşturmak 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 PowerPoint'ten çalıştırabilirsiniz.