[MDEV-13327] my_getopt.h includes my_default.h , but my_getopt.h is public and my_default.h is private(?) Created: 2017-07-14  Updated: 2017-07-15

Status: Open
Project: MariaDB Server
Component/s: libmariadb
Affects Version/s: 10.2.7
Fix Version/s: 10.2

Type: Bug Priority: Major
Reporter: Adam Williamson Assignee: Georg Richter
Resolution: Unresolved Votes: 0
Labels: None
Environment:

Fedora


Issue Links:
Relates
relates to MDEV-13314 Fedora libmariadb.so.3 issues tracker Closed

 Description   

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...


Generated at Thu Feb 08 08:04:43 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.