CMake başarıyla yapılandırılır. Derleme daha sonra başlar, harici bir bağımlılığı indirmeye çalışır ve proxy'de başarısız olur. Önceki başarı bu indirmeyi hiç çalıştırmamış olabilir.

ExternalProject_Add() derleme sırasında çalışabilecek adımlar oluşturur. Bu adımları başlatan sürecin ortamı, ana projeyi yapılandıran terminalden veya IDE'den farklı olabilir. Bu farkı CI'da gözden kaçırmak kolaydır; orada yapılandırma ve derleme ayrı işler olabilir.

Ağ işlemini belirleyin

Bir program için proxy ayarının üçünü birden yapılandırdığını varsaymayın. Bağımlılığın URL'sini değiştirmeden önce başarısız adımın komutunu ve hatasını okuyun.

Seçilen indirici proxy ortam değişkenlerini destekliyorsa bunları o adımı gerçekten yürüten sürece verin. İstemcisi HTTP proxy kabul eden genel indirmeler için, o yol izinli olduğunda HTTP proxy listesi uç nokta adayları sunar. Benzer adlı sıradan bir CMake önbellek değişkenini geçirmek, alt sürecin ortam değişkenini ayarlamakla otomatik olarak aynı değildir.

FetchContent ile ayrımı da koruyun: onun olağan bağımlılık doldurması yapılandırma sırasında gerçekleşir, bu yüzden orada çalışan bir tarif ExternalProject derleme adımının ortamını kanıtlamaz.

Geçmiş bir yönlendirme sınırlamasını aşmak için özel indirici öneren eski bir yanıt, her modern hatanın yeni bir indirme komutu gerektirdiğinin kanıtı değildir. Geçerli hatanın yönlendirme, proxy kimlik doğrulaması, sertifika güveni mi yoksa yalnızca erişilebilirlik mi olduğunu kontrol edin. İlgili yolu düzeltirken beklenen arşiv karma değerini ve TLS doğrulamasını koruyun.

İlgili makaleler