libyang
libyang copied to clipboard
build on freebsd 13.1 fails because of missing definition for variable 'daylight'
libyang-2.0.194/src/plugins_types/date_and_time.c:125:13: error: use of undeclared identifier 'daylight'
if (daylight) {
^
2 warnings and 1 error generated.
fix:
--- CMakeModules/UseCompat.cmake.orig 2022-05-26 18:50:41.811402000 +0200
+++ CMakeModules/UseCompat.cmake 2022-05-26 18:50:55.845563000 +0200
@@ -49,7 +49,7 @@
include(CheckStructHasMember)
check_struct_has_member("struct tm" tm_gmtoff time.h HAVE_TM_GMTOFF)
- check_symbol_exists(timezone time.h HAVE_TIME_H_TIMEZONE)
+# check_symbol_exists(timezone time.h HAVE_TIME_H_TIMEZONE)
check_symbol_exists(realpath "stdlib.h" HAVE_REALPATH)
check_symbol_exists(localtime_r "time.h" HAVE_LOCALTIME_R)
I have replied by email since that is how you asked originally. So, you can try to provide a patch to fix this properly but if you are fine with not having support for the unknown timezone -00:00
I could just adjust the change you posted so that the unavailability of daylight
is properly detected.
I did some portability improvements and got rid of all problematic global vars (daylight
, timezone
) so it should work correctly now. Tested on virtual FreeBSD 13.1 and it compiled, all the tests passed.