v26.06.9 not compiling on FreeBSD 15.1 (ccan/ccan/asort/asort.h with a solution)
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 66/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- c
- Ambito
- build-system
Direzione di ricerca
Il conflitto si trova in ccan/ccan/asort/asort.h, dove una dichiarazione locale di qsort_r collide con la macro definita da /usr/include/stdlib.h di FreeBSD 15.1. Inizia dal ramo della firma GNU di quell'header, poi riproduci il problema compilando ccan/ccan/asort/asort.c su FreeBSD (la regola del Makefile alla riga 1106 fallisce). È completato quando il file compila su FreeBSD 15.1 e continua a costruirsi su Linux, dove viene usata la dichiarazione GNU di qsort_r. Verifica la guardia __FreeBSD_version proposta dal segnalatore rispetto alla firma effettiva di FreeBSD prima di adottarla.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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,
- Lingua principale
- C
- Stelle
- 3.1k
- Fork
- 1k
- Merge medio
- 3g 6h
- PR unite (30g)
- 41
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ElementsProject/lightning
-
common/json_parse: json_to_bitcoin_amount fails to detect overflow and accepts negative/empty inputsForse già presa @bhuvan-somisetty l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
ElementsProject/lightning#9617 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
ElementsProject/lightning#9593 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
ElementsProject/lightning#9322 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
ElementsProject/lightning#9206 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
ElementsProject/lightning#9187 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di ElementsProject/lightning
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 63/100
I maintainer di solito rispondono entro 1 giorno
-
research-radar
Difficoltà 2/5 1-3 ore Idoneità per principianti 63/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
"systemctl is-system-running --wait" may hang indefinitely for non-root usersForse già presa @alexonea l’ha presa oggi. Apertabug 🐛 systemctl
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
testing: DISK test reads the wrong directory entry offset on H89Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
FujiNetWIFI/fujinet-lib#115 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno