| Bug #55181 | qnx 6 patch | ||
|---|---|---|---|
| Submitted: | 12 Jul 2010 17:32 | Modified: | 12 Jul 2010 20:01 |
| Reporter: | Sean Boudreau | Email Updates: | |
| Status: | Unsupported | Impact on me: | |
| Category: | MySQL Server: Compiling | Severity: | S3 (Non-critical) |
| Version: | 5.1.46 | OS: | Other |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | Contribution | ||
[12 Jul 2010 17:32]
Sean Boudreau
patch as attachment
Attachment: diff (application/octet-stream, text), 1.67 KiB.
[12 Jul 2010 17:47]
Sean Boudreau
New patch. Missed configure.in in last one.
Attachment: diff (application/octet-stream, text), 2.03 KiB.
[12 Jul 2010 20:01]
Sveta Smirnova
Thank you for the report. QNX is not in list of supported platforms (list located at http://mysql.com/support/supportedplatforms/enterprise.html), so I have to close this report as "Unsupported". But thank you for the patch anyway. I hope it will help other QNX users.

Description: The following is required to get 5.1.46 compiling on the latest version of qnx6 (cut and paste since I can't figure out how to attach it). diff -ru mysql-5.1.46~/include/my_global.h mysql-5.1.46/include/my_global.h --- mysql-5.1.46~/include/my_global.h 2010-04-06 10:04:02.000000000 -0400 +++ mysql-5.1.46/include/my_global.h 2010-07-12 13:24:19.000000000 -0400 @@ -502,6 +502,7 @@ #endif #ifdef __QNXNTO__ +#include <sys/neutrino.h> /* This has to be after include limits.h */ #define HAVE_ERRNO_AS_DEFINE #define HAVE_FCNTL_LOCK @@ -511,9 +512,14 @@ #ifdef __cplusplus #ifndef HAVE_RINT #define HAVE_RINT -#endif /* rint() and isnan() functions are not */ -#define rint(a) std::rint(a) /* visible in C++ scope due to an error */ -#define isnan(a) std::isnan(a) /* in the usr/include/math.h on QNX */ +#endif +#if !defined(_NTO_VERSION) || (_NTO_VERSION - 0 < 650) +/* rint() and isnan() functions are not */ +/* visible in C++ scope due to an error */ +/* in the usr/include/math.h on early QNX */ +#define rint(a) std::rint(a) +#define isnan(a) std::isnan(a) +#endif #endif #endif diff -ru mysql-5.1.46~/server-tools/instance-manager/instance.cc mysql-5.1.46/server-tools/instance-manager/instance.cc --- mysql-5.1.46~/server-tools/instance-manager/instance.cc 2010-04-06 10:06:04.000000000 -0400 +++ mysql-5.1.46/server-tools/instance-manager/instance.cc 2010-07-12 13:24:23.000000000 -0400 @@ -135,7 +135,7 @@ Here we use spawnv(), which is a combination of fork() and execv() in one call. It returns the pid of newly created process (>0) or -1 */ - *pi= spawnv(P_NOWAIT, instance_options->mysqld_path, instance_options->argv); + *pi= spawnv(P_NOWAIT, instance_options->mysqld_path.str, instance_options->argv); #endif switch (*pi) { How to repeat: Compile under QNX 6.5.0.