v26.06.9 not compiling on FreeBSD 15.1 (ccan/ccan/asort/asort.h with a solution)
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 66/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- c
- Área
- build-system
Línea de trabajo
El conflicto está en ccan/ccan/asort/asort.h, donde una declaración local de qsort_r choca con la macro que /usr/include/stdlib.h de FreeBSD 15.1 define. Empieza por la rama de la firma GNU de ese header y reproduce el problema compilando ccan/ccan/asort/asort.c en FreeBSD (la regla del Makefile en la línea 1106 falla). Está terminado cuando el archivo compila en FreeBSD 15.1 y sigue compilando en Linux, donde se usa la declaración GNU de qsort_r. Verifica la guarda __FreeBSD_version del reportante contra la firma real de FreeBSD antes de adoptarla.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
A recent change in ccan/ccan/asort/asort.h makes v26.06.9 not compilable on FreeBSD 15.1:
cc ccan/ccan/asort/asort.c
In file included from ccan/ccan/asort/asort.c:1:
ccan/ccan/asort/asort.h:30:6: error: expected identifier or '('
30 | void qsort_r(void *base, size_t nmemb, size_t size,
| ^
/usr/include/stdlib.h:367:5: note: expanded from macro 'qsort_r'
367 | __generic(arg5, int (*)(void *, const void *, const void *), \
| ^
/usr/include/sys/cdefs.h:228:2: note: expanded from macro '__generic'
228 | _Generic(expr, t: yes, default: no)
| ^
1 error generated.
gmake: *** [Makefile:1106: ccan-asort.o] Error 1
I think you might need something like this:
diff --git a/ccan/ccan/asort/asort.h b/ccan/ccan/asort/asort.h
index 4f5ab2402..d30e65a61 100644
--- a/ccan/ccan/asort/asort.h
+++ b/ccan/ccan/asort/asort.h
@@ -4,6 +4,7 @@
#include "config.h"
#include <ccan/order/order.h>
#include <stdlib.h>
+#include <sys/param.h>
/**
* asort - sort an array of elements
@@ -27,8 +28,10 @@ _asort((base), (num), sizeof(*(base)), \
* first libc include — we can't control our includers, so declare it
* ourselves (the configurator only sets this where this GNU signature
* was detected). */
+#if !defined(__FreeBSD__) || __FreeBSD_version < 1400000
void qsort_r(void *base, size_t nmemb, size_t size,
int (*compar)(const void *, const void *, void *), void *arg);
+#endif
#define _asort(b, n, s, cmp, ctx) qsort_r(b, n, s, cmp, ctx)
#else
void _asort(void *base, size_t nmemb, size_t size,
- Lenguaje dominante
- C
- Estrellas
- 3.1k
- Forks
- 1k
- Merge medio
- 3 d 7 h
- PR fusionados (30 d)
- 42
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ElementsProject/lightning
-
common/json_parse: json_to_bitcoin_amount fails to detect overflow and accepts negative/empty inputsPosiblemente ocupada @bhuvan-somisetty la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
ElementsProject/lightning#9617 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
ElementsProject/lightning#9593 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
ElementsProject/lightning#9322 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
ElementsProject/lightning#9206 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
ElementsProject/lightning#9187 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 2 días
Todos los issues de ElementsProject/lightning
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
ARM-software/CMSIS-DSP#354 ·
-
good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
Los mantenedores suelen responder en 1 día
-
documentation good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
ai-quokka-wannabe/link#40 ·
-
Add `pdfcpu` to the pantryPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
eunomia-bpf/agentsight#240 ·
Los mantenedores suelen responder en 1 día