Discuss with the global DaaS-IoT community.
Quote from Luis Alejandro Herrera Mateo on 20 Ottobre 2025, 14:35Durante la compilazione del progetto ho riscontrato un errore di linking del tipo:
undefined reference to ‘__isoc23_strtol’Questo errore era dovuto al fatto che la libreria statica libdaas.a era stata compilata con una versione più recente del compilatore (o della glibc) rispetto a quella presente sul sistema Debian 12.
In pratica, la libreria faceva riferimento a funzioni del nuovo standard C23 (__isoc23_strtol) non ancora presenti nella versione precedente di glibc.Dopo l’aggiornamento del sistema operativo a Debian 13, che include una versione più recente di glibc e del toolchain GCC, l’errore è scomparso automaticamente, perché ora il simbolo richiesto è disponibile.
Per evitare problemi simili in futuro, propongo di mantenere una documentazione di build per le nostre librerie native (come libdaas.a) che indichi chiaramente:
- Sistema operativo e versione su cui è stata compilata
- Versione del compilatore (GCC/Clang)
- Versione di glibc
- Eventuali flag o opzioni di compilazione specifiche
In questo modo potremo ricostruire la libreria in modo coerente e garantire compatibilità con i progetti che la utilizzano.
Durante la compilazione del progetto ho riscontrato un errore di linking del tipo:
undefined reference to ‘__isoc23_strtol’
Questo errore era dovuto al fatto che la libreria statica libdaas.a era stata compilata con una versione più recente del compilatore (o della glibc) rispetto a quella presente sul sistema Debian 12.
In pratica, la libreria faceva riferimento a funzioni del nuovo standard C23 (__isoc23_strtol) non ancora presenti nella versione precedente di glibc.
Dopo l’aggiornamento del sistema operativo a Debian 13, che include una versione più recente di glibc e del toolchain GCC, l’errore è scomparso automaticamente, perché ora il simbolo richiesto è disponibile.
Per evitare problemi simili in futuro, propongo di mantenere una documentazione di build per le nostre librerie native (come libdaas.a) che indichi chiaramente:
In questo modo potremo ricostruire la libreria in modo coerente e garantire compatibilità con i progetti che la utilizzano.