Category: MySQLDevelopment

Connector C++ Binary Builds


Contents

[edit] Connector/C++ binary builds

Below you can find information how we have build MySQL Connector/C++ binaries available for download.

[edit] Why do I need to know?

The MySQL driver for C++ is written in C++. C++ binaries may not be as portable as C binaries. Different compiler versions, different Standard Template Libraries or other runtime dependencies may cause incompatibilities. Small version and setup differences may cause crashes, leaks or linking problems.

If you are building a C++ client application with Connector/C++ on a build system that differs from our build environment you may experience binary incompatibilities. Those incompatibilities are often beyond our control.

In such cases you may have to build the MySQL Connector/C++ from source to get compatible binaries for your system.

[edit] Where else can I find the build details?

Every binary download contains a README file. At its end you can find the very same information as shown below,

[edit] Windows binaries

[edit] MySQL Connector/C++ 1.0.5 GA

Valid for: 1.0.5 GA

We offer distinct binaries for Visual Studio 2005 and Visual Studio 2008. Visual Studio 2008 is the new default. For backwards compatibility we offer Visual Studio 2005 builds as well. The Visual Studio 2005 builds are only available as "Without installer (unzip in C:\)" zip-packages.

All builds are made using RelWithDebInfo configuration. Your client application should use the same (Release) configuration.

If you want to use any other configuration, for example Debug, you must compile the MySQL driver for C++ from source and use the resulting binaries.

Binary incompatibilities can also occur if you are using a different C Run-Time Libraries (CRT) than we used for building:

You can check those details on your own by inspecting the manifest embedded into the mysqlcppconn.dll. Use the manifest tool (mt.exe) for inspection.

[edit] MySQL Connector/C++ 1.0.4 beta

Valid for: 1.0.4 beta

Windows binaries are build with Visual Studio 2005. We are delivering RelWithDebInfo configurations. Your client application should use the same (Release) configuration.

If you want to use any other configuration, for example Debug, you must compile the MySQL driver for C++ from source and use the resulting binaries.

Binary incompatibilities can also occur if you are using a different C Run-Time Libraries (CRT) than we used for building. The MySQL Connector/C++ binaries are build using Microsoft.VC80.CRT version 8.0.50727.762

[edit] What are the most common issues?

[edit] Mixing Debug and Release

You must not mix Debug and Release settings when compiling a client application. Do not compile a client in Debug mode against a Release version of the MySQL Connector/C++ library.

The Windows binaries we are shipping use RelWithDebInfo. For all other platforms we are offering Release binaries only.

Solutions

  1. Do not mix configurations
  2. Build the MySQL Connector/C++ from source and use the resulting binaries

[edit] 1.0.5 GA: You get a crash when using Visual Studio 2008

Valid for: 1.0.5 GA

This should not happen.

Please make sure that you are using the dedicated Visual Studio 2008 builds.

Please make sure that your application does not use two different versions of the C Run-Time Libraries (CRT) in one binary.

Possible solution

  1. Build the MySQL Connector/C++ from source and use the resulting binaries. This may cure the situation of two different CRTs used by one client application.

[edit] 1.0.4 beta: You get a crash when using Visual Studio 2008

Valid for: 1.0.4 beta

Unfortunately there seem to be incompatibilities when using our Windows binaries, which are build with Visual Studio 2005, together with client applications that are build using Visual Studio 2008.

To our knowledge not all driver methods are affected. Some work fine, others do not. We are searching for the exact reason. It may be related to different C Run-Time Libraries (CRT). Our Windows binaries are made using Microsoft.VC80.CRT version 8.0.50727.762.

We consider to provide dedicated Visual Studio 2008 builds soon.

Solution:

  1. Build the MySQL Connector/C++ from source and use the resulting binaries

[edit] Linux: GCC 4.x

Valid for: all versions

Our generic Linux binaries are build using GCC 3.x, see below for details. Mixing GCC 3.x and GCC 4.x binaries can result in unexpected behaviors including crashes, build errors and leaks.

Solution:

  1. Build the MySQL Connector/C++ from source and use the resulting binaries


[edit] Platforms and Settings

NOTE The table may contain platforms on which we test and build the driver but for which we do not publish the binaries.

Platform
C compiler C++ compiler CMake MySQL Settings
Windows
See above!
Windows x64
See above!
Linux (x86)
gcc (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-59) g++ (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-59) 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O1 -g
 LDFLAGS = -static-libgcc
 PICOPT = -fPIC
Linux (AMD64 / Intel EM64T)
gcc (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-59) g++ (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-59) 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O1 -g -m64
 LDFLAGS = -L/usr/X11R6/lib64 -static-libgcc
 PICOPT = -fPIC
Linux (IA64)
gcc (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-59) g++ (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-59) 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O1 -g
 LDFLAGS = -static-libgcc
 PICOPT = -fPIC
Red Hat Enterprise Linux 5 (x86)
gcc (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42) g++ (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42) 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O1 -g
 LDFLAGS = -static-libgcc
 PICOPT = -fPIC
Red Hat Enterprise Linux 5 (AMD64 / Intel EM64T)
gcc (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42) g++ (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42) 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O1 -g -m64
 LDFLAGS = -L/usr/X11R6/lib64 -static-libgcc
 PICOPT = -fPIC
Red Hat Enterprise Linux 5 (IA64)
gcc (GCC) 4.1.2 20070626 (Red Hat 4.1.2-14) g++ (GCC) 4.1.2 20070626 (Red Hat 4.1.2-14) 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O1 -g
 LDFLAGS = -static-libgcc
 PICOPT = -fPIC
Red Hat Enterprise Linux 4 (x86)
gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-9) g++ (GCC) 3.4.6 20060404 (Red Hat 3.4.6-9) 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O1 -g
 LDFLAGS = -static-libgcc
 PICOPT = -fPIC
Red Hat Enterprise Linux 4 (AMD64 / Intel EM64T)
gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-9) g++ (GCC) 3.4.6 20060404 (Red Hat 3.4.6-9) 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O1 -g -m64
 LDFLAGS = -L/usr/X11R6/lib64 -static-libgcc
 PICOPT = -fPIC
Red Hat Enterprise Linux 4 (IA64)
gcc (GCC) 3.4.4 20050721 (Red Hat 3.4.4-2) g++ (GCC) 3.4.4 20050721 (Red Hat 3.4.4-2) 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O1 -g
 LDFLAGS = -static-libgcc
 PICOPT = -fPIC
SuSE Linux Enterprise Server 10 (x86)
gcc (GCC) 4.1.2 20070115 (prerelease) (SUSE Linux) g++ (GCC) 4.1.2 20070115 (prerelease) (SUSE Linux) 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O1 -g
 LDFLAGS = -static-libgcc
 PICOPT = -fPIC
SuSE Linux Enterprise Server 10 (AMD64 / Intel EM64T)
gcc (GCC) 4.1.2 20070115 (prerelease) (SUSE Linux) g++ (GCC) 4.1.2 20070115 (prerelease) (SUSE Linux) 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O1 -g -m64
 LDFLAGS = -L/usr/X11R6/lib64 -static-libgcc
 PICOPT = -fPIC
SuSE Linux Enterprise Server 10 (IA64)
gcc (GCC) 4.1.0 (SUSE Linux) g++ (GCC) 4.1.0 (SUSE Linux) 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O1 -g
SuSE Linux Enterprise Server 9 (x86)
gcc (GCC) 3.3.3 (SuSE Linux) g++ (GCC) 3.3.3 (SuSE Linux) 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O1 -g
 LDFLAGS = -static-libgcc
 PICOPT = -fPIC
SuSE Linux Enterprise Server 9 (AMD64 / Intel EM64T)
gcc (GCC) 3.3.3 (SuSE Linux) g++ (GCC) 3.3.3 (SuSE Linux) 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O1 -g -m64
 LDFLAGS = -L/usr/X11R6/lib64 -static-libgcc
 PICOPT = -fPIC
SuSE Linux Enterprise Server 9 (IA64)
gcc (GCC) 3.3.3 (SuSE Linux) g++ (GCC) 3.3.3 (SuSE Linux) 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O1 -g
 LDFLAGS = -static-libgcc
 PICOPT = -fPIC
Solaris 10 (SPARC, 64-bit)
Sun C 5.9 SunOS_sparc Patch 124867-09 2008/11/25 Sun C++ 5.9 SunOS_sparc Patch 124863-11 2009/03/10 2.6.2 5.1.31
 CC = cc-5.0
 CXXFLAGS = -xO2 -xtarget=generic -m64 -mt
 LDFLAGS = -m64
 PICOPT = -KPIC
Solaris 10 (SPARC, 32-bit)
Sun C 5.9 SunOS_sparc Patch 124867-09 2008/11/25 Sun C++ 5.9 SunOS_sparc Patch 124863-11 2009/03/10 2.6.2 5.1.31
 CC = cc-5.0
 CXXFLAGS = -xO2 -xtarget=generic -m32 -mt
 PICOPT = -KPIC
Solaris 10 (x86, 32-bit)
Sun C 5.9 SunOS_i386 Patch 124868-08 2008/11/25 Sun C++ 5.9 SunOS_i386 Patch 124864-11 2009/03/10 2.6.2 5.1.31
 CC = cc
 CXXFLAGS = -xO2 -xtarget=generic -m32 -mt
 PICOPT = -KPIC
Solaris 10 (AMD64 / Intel EM64T, 64-bit)
Sun C 5.9 SunOS_i386 Patch 124868-08 2008/11/25 Sun C++ 5.9 SunOS_i386 Patch 124864-11 2009/03/10 2.6.2 5.1.31
 CC = cc
 CXXFLAGS = -xO2 -xtarget=generic -m64 -mt
 LDFLAGS = -m64
 PICOPT = -KPIC
Solaris 9 (SPARC, 64-bit)
Sun C 5.9 SunOS_sparc Patch 124867-09 2008/11/25 Sun C++ 5.9 SunOS_sparc Patch 124863-11 2009/03/10 2.6.2 5.1.31
 CC = cc-5.0
 CXXFLAGS = -xO2 -xtarget=generic -m64 -mt
 LDFLAGS = -m64
 PICOPT = -KPIC
Solaris 9 (SPARC, 32-bit)
Sun C 5.9 SunOS_sparc Patch 124867-09 2008/11/25 Sun C++ 5.9 SunOS_sparc Patch 124863-11 2009/03/10 2.6.2 5.1.31
 CC = cc-5.0
 CXXFLAGS = -xO2 -xtarget=generic -m32 -mt
 PICOPT = -KPIC
Solaris 9 (x86, 32-bit)
Sun C 5.9 SunOS_i386 Patch 124868-08 2008/11/25 Sun C++ 5.9 SunOS_i386 Patch 124864-11 2009/03/10 2.6.2 5.1.31
 CC = cc
 CXXFLAGS = -xO2 -xtarget=generic -m32 -mt
 PICOPT = -KPIC
Solaris 8 (SPARC, 64-bit)
Sun C 5.8 Patch 121015-04 2007/01/10 Sun C++ 5.8 Patch 121017-10 2007/02/21 2.6.2 5.1.31
 CC = cc-5.0
 CXXFLAGS = -xO2 -g -xtarget=generic64 -mt
 LDFLAGS = -xtarget=generic64
 PICOPT = -KPIC
Solaris 8 (SPARC, 32-bit)
Sun C 5.8 Patch 121015-04 2007/01/10 Sun C++ 5.8 Patch 121017-10 2007/02/21 2.6.2 5.1.31
 CC = cc-5.0
 CXXFLAGS = -xO2 -g -xtarget=generic -mt
 PICOPT = -KPIC
Solaris 8 (x86, 32-bit)
Sun C 5.8 Patch 121016-05 2007/01/10 Sun C++ 5.8 Patch 121018-10 2007/02/21 2.6.2 5.1.31
 CC = cc
 CXXFLAGS = -xO1 -g -xtarget=generic -mt
 PICOPT = -KPIC
FreeBSD 7.x (x86)
gcc (GCC) 4.2.1 20070719 [FreeBSD] g++ (GCC) 4.2.1 20070719 [FreeBSD] 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O1 -g
FreeBSD 7.x (x86_64)
gcc (GCC) 4.2.1 20070719 [FreeBSD] g++ (GCC) 4.2.1 20070719 [FreeBSD] 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O1 -g
 PICOPT = -fPIC
FreeBSD 6.x (x86)
gcc (GCC) 3.4.6 [FreeBSD] 20060305 g++ (GCC) 3.4.6 [FreeBSD] 20060305 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O1 -g
FreeBSD 6.x (x86_64)
gcc (GCC) 3.4.6 [FreeBSD] 20060305 g++ (GCC) 3.4.6 [FreeBSD] 20060305 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O1 -g
 PICOPT = -fPIC
Mac OS X 10.5 (x86)
i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5490) i686-apple-darwin9-g++-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5490) 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O2 -g -arch i386 -fno-common -felide-constructors
 LDFLAGS = -arch i386 -Wl,-search_paths_first
Mac OS X 10.5 (x86_64)
Mac OS X 10.4 (x86)
i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5247) i686-apple-darwin8-g++-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5247) 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O2 -g -fno-common -felide-constructors
 LDFLAGS = -Wl,-search_paths_first
Mac OS X 10.4 (PowerPC, 32-bit)
powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5370) powerpc-apple-darwin8-g++-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5370) 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O2 -g -fno-common -felide-constructors
 LDFLAGS = -Wl,-search_paths_first
Mac OS X 10.4 (PowerPC, 64-bit)
powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5370) powerpc-apple-darwin8-g++-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5370) 2.6.2 5.1.31
 CC = gcc
 CXXFLAGS = -O2 -g -arch ppc64 -fno-common -felide-constructors
 LDFLAGS = -arch ppc64 -Wl,-search_paths_first
HP-UX 11.23 (IA64, 64-bit)
HP aC++/ANSI C B3910B A.06.01 [Jan 05 2005] aCC: HP aC++/ANSI C B3910B A.06.01 [Jan 05 2005] 2.6.2 5.1.31
 CC = cc
 CXXFLAGS = "$CXXFLAGS -AA"
 LDFLAGS = +DD64
 PICOPT = +Z
HP-UX 11.11 (PA-RISC 1.1, 32-bit only)
cpp.ansi: HP92453-01 B.11.11.14 HP C Preprocessor (ANSI) aCC: HP ANSI C++ B3910B A.03.65 2.6.2 5.1.31
 CC = cc
 CXXFLAGS = +O2 -g +DAportable -mt -Aa -AA
 PICOPT = +Z
HP-UX 11.11 (PA-RISC 2.0, 64-bit only)
cpp.ansi: HP92453-01 B.11.11.14 HP C Preprocessor (ANSI) aCC: HP ANSI C++ B3910B A.03.65 2.6.2 5.1.31
 CC = cc
 CXXFLAGS = +O2 +DD64 -mt -Aa -AA
 LDFLAGS = +DD64
 PICOPT = +Z
AIX 5.3 (POWER, 64-bit)
vac.C 6.0.0.17 C F C for AIX Compiler vacpp.cmp.core 6.0.0.18 C F VisualAge C++ Compiler 2.6.2 5.1.31
 CC = xlc_r
 CXXFLAGS = -O2 -g -ma -qstrict -qoptimize=2 -qmaxmem=8192 -q64
 LDFLAGS = -Wl,-brtl -Wl,-bnoipath -q64
AIX 5.3 (POWER, 32-bit)
vac.C 6.0.0.17 C F C for AIX Compiler vacpp.cmp.core 6.0.0.18 C F VisualAge C++ Compiler 2.6.2 5.1.31
 CC = xlc_r
 CXXFLAGS = -O2 -g -ma -qstrict -qoptimize=2 -qmaxmem=8192
 LDFLAGS = -Wl,-brtl -Wl,-bnoipath
AIX 5.2 (POWER, 64-bit)
vac.C 6.0.0.12 C F C for AIX Compiler vacpp.cmp.core 6.0.0.13 C F VisualAge C++ Compiler 2.6.2 5.1.31
 CC = xlc_r
 CXXFLAGS = -O2 -g -ma -qstrict -qoptimize=2 -qmaxmem=8192 -q64
 LDFLAGS = -Wl,-brtl -Wl,-bnoipath -q64
AIX 5.2 (POWER, 32bit)
vac.C 6.0.0.12 C F C for AIX Compiler vacpp.cmp.core 6.0.0.13 C F VisualAge C++ Compiler 2.6.2 5.1.31
 CC = xlc_r
 CXXFLAGS = -O2 -g -ma -qstrict -qoptimize=2 -qmaxmem=8192
 LDFLAGS = -Wl,-brtl -Wl,-bnoipath
i5/OS (POWER, 32-bit)
Unknown Unknown 2.6.3 5.1.32
 CC = xlc_r
 LDFLAGS = -Wl,-brtl -Wl,-bnoipath
 CXXFLAGS = -O2 -g -ma -qstrict -qoptimize=2 -qmaxmem=8192
i5/OS (POWER, 64-bit)
Unknown Unknown 2.6.3 5.1.32
 CC = xlc_r
 LDFLAGS = -Wl,-brtl -Wl,-bnoipath
 CXXFLAGS = -O2 -g -ma -qstrict -qoptimize=2 -qmaxmem=8192 -q64

Retrieved from "http://forge.mysql.com/wiki/Connector_C%2B%2B_Binary_Builds"

This page has been accessed 4,066 times. This page was last modified 11:42, 21 April 2009.

Find

Browse
MySQLForge
Main Page
Current events
Recent changes
Random page
Help
Edit
Edit this page
Editing help
This page
Discuss this page
Post a comment
Printable version
Context
Page history
What links here
Related changes
My pages
Special pages
New pages
File list
Statistics
Bug reports
More...