Bug #41270 | Configure fails when including Falcon on Mac OS X | ||
---|---|---|---|
Submitted: | 5 Dec 2008 19:45 | Modified: | 13 Dec 2008 10:00 |
Reporter: | Olav Sandstå | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Falcon storage engine | Severity: | S3 (Non-critical) |
Version: | 6.0.8-alpha | OS: | MacOS |
Assigned to: | CPU Architecture: | Any | |
Tags: | F_PLATFORM, pushbuild |
[5 Dec 2008 19:45]
Olav Sandstå
[5 Dec 2008 19:50]
Olav Sandstå
C++ code for test compiled and linked by configure
Attachment: conftest.cc (text/x-c++src), 7.76 KiB.
[5 Dec 2008 19:52]
Olav Sandstå
I have attached the C++ file that configure is trying to compile and link. This is named conftest.cc. Configure uses the following command to compile and link this file: ccache gcc -o conftest -Wno-invalid-offsetof -fimplicit-templates -fexceptions -lstdc++ -D_DEBUG conftest.cc -lm According to the config.log file, this fails with the following error: ld: Undefined symbols: typeinfo for int ___cxa_allocate_exception ___cxa_begin_catch ___cxa_end_catch ___cxa_throw ___gxx_personality_v0
[5 Dec 2008 19:56]
Olav Sandstå
There is a report of a linking problem for Falcon on MAC OS X, see bug #40680. The reason for submitting this report is that they are not identical, particularly not in what is suggested as a solution for bug #40680. In bug #40680 the solution/workaround is suggested to be to add: -fexceptions when linking mysqld with Falcon. In the failing command in this bug -fexceptions is included.
[5 Dec 2008 20:01]
Olav Sandstå
This problem started to occur after a patch for bug #39419 was checked into the source code. This code extends configure to do an explicit check for that the compiler with the given compiler settings and options are able to compile, link and run successfully a program that includes C++ exceptions. So this patch should catch a situation like this where linking with C++ exceptions fails.
[5 Dec 2008 21:44]
Olav Sandstå
Workaround: Changing from setting CXX=gcc to setting CXX=g++ makes the command run by configure to compile and link successfully.
[9 Dec 2008 18:39]
Timothy Smith
Building 6.0 is not supported with CXX=gcc. Falcon, in particular, requires full C++ support (including exceptions). I'm closing this as Not a Bug. Regards, Timothy
[11 Dec 2008 16:14]
Hakan Küçükyılmaz
Setting CXX=g++ fixes this problem. Setting to "Documenting".
[13 Dec 2008 10:00]
MC Brown
A note has been added to the 6.0.8 changelog: Compiling using --with-falcon on Mac OS X fails if you use CXX=gcc. You must specify that the g++ compiler should be used for C++ using CXX=g++.