The uuid headers and functions are provided by macOS via /usr/include/uuid/uuid.h /usr/lib/libSystem.B.dylib /usr/lib/system/libsystem_c.dylib not via libuuid. So requiring libuuid on macOS, as is now what's happening with 2.13.0, is unnecessary. I can work around it by setting UUID_CFLAGS = " " UUID_LIBS = " " and removing uuid from PKGCONFIG_REQUIRES_PRIVATELY.
Hm, is it API-compatible with libuuid's?
This is uuid/uuid.h https://gist.github.com/ilovezfs/df61c1e98109cf557ae33e37ce552884
Aha. thanks. hmm, the prototypes of uuid_parse/unparse seems a bit different. just wonder if we should have compat functions for them.
Created attachment 137886 [details] [review] patch How about this?
It works but will opportunistically use ossp-uuid if it's installed. Is that desirable? And how would you tell it to use system uuid even if ossp-uuid is installed?
(In reply to ilovezfs from comment #5) > It works but will opportunistically use ossp-uuid if it's installed. Is that > desirable? And how would you tell it to use system uuid even if ossp-uuid is > installed? In theory, you could simply set empty values to both UUID_CFLAGS and UUID_LIBS as you initially worked around. essentially speaking, this isn't to give one an option to choose what impl one prefer for uuid but is to avoid the build failure on checking the availability of uuid.pc even though it can be built without the external library. I may add an option to configure if there are any platforms that have the external uuid library installed on the non-standard directory and without .pc. but is there any platforms like that?
Right, but the .pc still ended up claiming it needed uuid despite setting those to " ".
Sure. we should stop adding uuid to PKGCONFIG_REQUIRES_PRIVATELY if both UUID_CFLAGS and UUID_LIBS is set empty. then everything should be fine.
>if there are any platforms that have the external uuid library installed on the non-standard directory I think it's /usr/include/uuid.h on FreeBSD. See https://github.com/firehol/netdata/issues/1644
That one may have a different API, though. https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221293
Aha. thanks. but that can be fixed as it suggested there. so I'm assuming they could build it with this fix (+ replacing #include <uuid/uuid.h> to <uuid.h>) if uuid functions is in the standard C library.
Yup. So this is probably fine as-is.
should be better in git now. will fix further more when one found another issue around this. anyway, as defining _CFLAGS and _LIBS are the standard way to stop looking at .pc in pkgconfig, we will follow it up that way.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.