boost: dejar escrito que un consumidor en modo CONFIG debe declarar la variante
El paquete cmake que genera b2 etiqueta runtime-link=static y lo RECHAZA si el
consumidor no lo pide:
* libboost_iostreams.a (static runtime, Boost_USE_STATIC_RUNTIME not ON)
La nota dice qué pasar (-DBoost_USE_STATIC_LIBS=ON -DBoost_USE_STATIC_RUNTIME=ON),
que las dos afirmaciones son CIERTAS de este artefacto, y por qué no se arregla
del lado de boost: pasarlo a runtime-link=shared tocaría el artefacto compartido
y con él a kactivitymanagerd, que hoy anda porque lo busca en modo módulo.
Sólo comentario: el hash no cambia (comprobado).
Delta semántico
Ninguna definición cambió: el cambio es de texto, documentación o datos.
1 archivos · +20 −0
- recipes/boost.toml +20 −0
diff --git a/recipes/boost.toml b/recipes/boost.toml
index d0a9129e..d84837a5 100644
--- a/recipes/boost.toml
+++ b/recipes/boost.toml
@@ -1,5 +1,25 @@
# boost 1.86.0 — HEADERS-ONLY. kactivitymanagerd usa Boost.Container (header-only) ⇒ sólo necesita
# Boost_INCLUDE_DIR. No compilamos las libs de boost (b2): copiamos el árbol `boost/` a /usr/include.
+#
+# ⚠ **UN CONSUMIDOR EN MODO CONFIG TIENE QUE DECLARAR LA VARIANTE — leer esto antes de pelearse.**
+# Esta receta construye con `runtime-link=static`, y el paquete cmake que genera `b2` **etiqueta**
+# esa variante. Un `find_package(Boost … CONFIG)` la encuentra y la RECHAZA si el consumidor no
+# afirma que la quiere:
+#
+# Found package configuration file:
+# /usr/lib/cmake/boost_iostreams-1.86.0/boost_iostreams-config.cmake
+# but it set boost_iostreams_FOUND to FALSE … No suitable build variant has been found.
+# The following variants have been tried and rejected:
+# * libboost_iostreams.a (static runtime, Boost_USE_STATIC_RUNTIME not ON)
+#
+# ⇒ el consumidor pasa `-DBoost_USE_STATIC_RUNTIME=ON -DBoost_USE_STATIC_LIBS=ON`. Las dos cosas son
+# CIERTAS de este artefacto, no un truco para callar al config: acá sólo se publica la `.a` y se
+# enlaza el runtime estáticamente. El error de arriba es la fuente autorizada de qué pedir.
+#
+# **Y no se arregla del lado de boost**: pasarlo a `runtime-link=shared` cambiaría el artefacto
+# compartido y con él a `kactivitymanagerd`, que hoy anda porque lo busca en modo MÓDULO y a
+# `FindBoost` la variante no le importa. El dato vive en el consumidor porque es el consumidor el
+# que elige cómo enlaza.
name = "boost"
version = "1.86.0"
# licencia: LICENSE_1_0.txt en la raíz del tarball pineado: Boost Software License 1.0