Bug #29274 Patch: Enable LSB-compliant build
Submitted: 21 Jun 2007 17:31 Modified: 26 Jun 2007 21:25
Reporter: Jeff Licquia
Status: Patch approved
Category:Server: Compiling Severity:S3 (Non-critical)
Version:5.1.18 OS:Linux
Assigned to: Timothy Smith Target Version:
Tags: Contribution
Triage: Triaged: D5 (Feature request)

[21 Jun 2007 17:31] Jeff Licquia
Description:
MySQL cannot be built to be LSB-compliant, because it uses some things not in the LSB.

How to repeat:
CC=lsbcc CXX=lsbc++ ./configure ...

Suggested fix:
The contributed patch resolves four issues:

 - When checking for sigset_t, use signal.h instead of sys/types.h as the header.

 - isnan() may be a macro, so look for it like isinf().

 - _POSIX_PATH_MAX is not portable; use PATH_MAX instead.

 - getdtablesize() is not in the LSB, so implement a local replacement that is exactly
equivalent.

Also, in review, it was pointed out that we should check our use of poll.h when needed,
so those checks have also been included.
[21 Jun 2007 17:34] Jeff Licquia
Patch to fix LSB issues.

Attachment: mysql-lsb.patch (text/x-patch), 4.85 KiB.

[21 Jun 2007 18:20] Valeriy Kravchuk
Thank you for the problem report and patch.
[23 Jun 2007 0:47] Chad MILLER
The parts not about NDB are good by me.  Stewart will handle the other part, I think.