--- a/src/systemd/src/basic/stdio-util.h +++ b/src/systemd/src/basic/stdio-util.h @@ -19,7 +19,9 @@ along with systemd; If not, see . ***/ +#if defined(__GLIBC__) #include +#endif #include #include #include --- a/src/systemd/src/basic/util.h +++ b/src/systemd/src/basic/util.h @@ -46,6 +46,11 @@ #include "missing.h" #include "time-util.h" +#if !defined(__GLIBC__) +typedef int (*__compar_fn_t) (const void*, const void*); +typedef __compar_fn_t comparison_fn_t; +#endif + size_t page_size(void) _pure_; #define PAGE_ALIGN(l) ALIGN_TO((l), page_size()) --- a/src/systemd/sd-adapt/nm-sd-adapt.h +++ b/src/systemd/sd-adapt/nm-sd-adapt.h @@ -134,7 +134,7 @@ # ifdef HAVE___SECURE_GETENV # define secure_getenv __secure_getenv # else -# error neither secure_getenv nor __secure_getenv is available +# define secure_getenv getenv # endif #endif --- a/src/systemd/src/basic/process-util.c +++ b/src/systemd/src/basic/process-util.c @@ -1018,8 +1018,9 @@ /* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against * libpthread, as it is part of glibc anyway. */ -extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void * __dso_handle); -extern void* __dso_handle __attribute__ ((__weak__)); +//extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void * __dso_handle); +//extern void* __dso_handle __attribute__ ((__weak__)); +#define __register_atfork(prepare,parent,child,dso) pthread_atfork(prepare,parent,child) pid_t getpid_cached(void) { pid_t current_value; --- a/libnm-core/nm-json.c +++ b/libnm-core/nm-json.c @@ -23,6 +23,10 @@ #include +#ifndef RTLD_DEEPBIND +#define RTLD_DEEPBIND 0 +#endif + void *_nm_jansson_json_object_iter_value; void *_nm_jansson_json_object_key_to_iter; void *_nm_jansson_json_integer;