Bug #2371 LSB MySQL Porting Notes: multiple typdef problems
Submitted: 13 Jan 2004 7:47 Modified: 28 Sep 2010 19:26
Reporter: Lenz Grimmer Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:4.0.14,5.1 OS:Linux (Linux)
Assigned to: Assigned Account CPU Architecture:Any

[13 Jan 2004 7:47] Lenz Grimmer
Description:
Excerpt from an email from Mats Wichmann with notes of a build of MySQL 4.0.14 on 
an LSB system:

http://freestandards.org/pipermail/lsb-appbat/2003-October/001036.html

[SNIP]
1. against current LSB headers, configure detects
that none of HAVE_UCHAR, HAVE_ULONG or HAVE_UINT
are true.  Based on this information, uint and
ushort are typedef'd in include/my_global.h

Strangely, we DO provide ushort, so there's a
multiple typedef problem.  This is an oddity on
our part, but for correctness, typedefing ushort
should really be based on an independent configure
check such as is done for uchar, ulong and uint.

2. on the same topic, LSB headers define uint in
<inttypes.h> which is not checked by configure,
but which is included by certain mysql sources,
leading to another multiple typedef problem.

3. still on the same topic, ulong is *not* typedef'd in
include/my_global.h, because the controlling
condition for that typedef is:

#if !defined(HAVE_ULONG) && !defined(HAVE_LINUXTHREADS) ....

and in our case, HAVE_LINUXTHREADS is true.
[SNIP]

How to repeat:
Try to perform a MySQL build on an LSB development platform
[23 Jan 2004 19:20] MySQL Verification Team
Please Sergei comment this LenZ's report.
[26 Jan 2004 7:16] Sergei Golubchik
moved to a todo: WL#1449
[28 Sep 2010 19:26] Jonathan Perkin
Closing these individual bugs, we have

 - a patch to fix these problems as of a few years ago (bug#29274)
 - a new bug to create ongoing PB2 builds to ensure LSB correctness (bug#57078)

to replace them.