I may well be misunderstanding something here, but this seems odd.
When MariaDB 10.1 and 10.2 are built and installed on Fedora, at least - in the Fedora official packages - we wind up with /usr/include/mysql/my_getopt.h and /usr/include/mysql/private/my_default.h . But my_getopt.h includes my_default.h . If I try and build code that includes my_getopt.h , it fails , claiming that my_default.h can't be found (because /usr/include/mysql/private/my_default.h isn't in the include path).
AFAICT, this isn't something the Fedora package is doing intentionally; the MariaDB build scripts are what winds up deciding to install my_getopt.h to the public dir, but my_default.h to the private dir. Is there something wrong here, or am I missing something? Thanks.
Note, I came into this issue via trying to fix https://sourceforge.net/p/net-snmp/bugs/2782/ , which is another problem I can't quite understand - code that uses load_defaults builds against MariaDB 10.1 but fails to build against MariaDB 10.2, despite the function being declared in private/my_default.h in both versions of MariaDB...