| Bug #80362 | time breaks universal support | ||
|---|---|---|---|
| Submitted: | 14 Feb 2016 12:44 | Modified: | 18 Feb 2016 15:53 |
| Reporter: | Marcus Calhoun-Lopez | Email Updates: | |
| Status: | Not a Bug | Impact on me: | |
| Category: | MySQL Server: Compiling | Severity: | S3 (Non-critical) |
| Version: | 5.6 | OS: | MacOS |
| Assigned to: | CPU Architecture: | Any | |
[18 Feb 2016 15:53]
MySQL Verification Team
Mysql now fully supports only OS X 10.9 and higher versions. The last OS X version that supported 32-bit binaries was OS X 10.6. Hence a decision was made to follow Apple's policy. Hence, MySQL no longer supports universal binary support nor does it support 32-bit binaries. Hence, this is not a bug. This is a policy in line with Apple's.

Description: configure.cmake has a few "IF(NOT APPLE)" and "IF(APPLE)" to support universal binaries. Similarly, config.h.cmake has several "#ifdef __APPLE__" to support universal binaries. In configure.cmake, MY_CHECK_TYPE_SIZE(time_t TIME_T) MY_CHECK_TYPE_SIZE("struct timespec" STRUCT_TIMESPEC) are not among them. CMake's function CHECK_TYPE_SIZE returns 0 for each since they have "arch-dependent size." This causes configure.cmake's function MY_CHECK_TYPE_SIZE to incorrectly deduce that they are not installed. Of course, this causes the resulting config.h to be incorrect. How to repeat: Compile MySQL on OS X as a universal binary (run cmake with -DCMAKE_OSX_ARCHITECTURES="x86_64;i386")