Bug #31367 Compile fails with -mcpu GCC compiler setting
Submitted: 3 Oct 2007 9:04 Modified: 28 Oct 2007 13:51
Reporter: D. Giffeler Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:5.1.22rc OS:MacOS (10.4.n)
Assigned to: CPU Architecture:Any
Tags: BOOL, Contribution, gcc, mcpu

[3 Oct 2007 9:04] D. Giffeler
Description:
It is still (comp. BUG 30356)  impossible to compile the actual release candidate with the -mcpu option.
All occurences of type »bool« should consequently be replaced by »my_bool«.

How to repeat:
ac_cv_c_bigendian=yes \
MACOSX_DEPLOYMENT_TARGET=10.3 \
LDFLAGS="-B static" \
CC=gcc-4.0 CFLAGS="-w -O3 -mcpu=G5 -mtune=G5 -mmacosx-version-min=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk" \
CXX=g++-4.0 CXXFLAGS="-w -O3 -mcpu=G5 -mtune=G5 -mmacosx-version-min=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk" \
./configure \
--disable-dependency-tracking \
--with-mysqld-ldflags=-all-static \
--with-client-ldflags=-all-static \
--disable-shared \
--enable-static \
--enable-assembler \
--with-embedded-server \
--enable-thread-safe-client \
--prefix=/usr/local/mysql \
--localstatedir=/data \
--with-big-tables \
--with-charset=latin1 \
--with-collation=latin1_german1_ci \
--with-extra-charsets=utf8 \
--with-unix-socket-path=/var/mysql/mysql.sock \
--sysconfdir=/etc \
--enable-local-infile \
--with-mysqld-user=mysql \
--without-debug \
--without-bench \
--without-docs \
--without-man \
--without-isam \
--without-innodb

Suggested fix:
Replace the occurences of »bool« to »my_bool«. I edited the following files and everything went just fine (file line number(s)):

./include/my_sys.h 915,918
./include/thr_lock.h 151
./include/my_time.h 114
./mysys/queues.c 281
./mysys/charset.c 609,641
./mysys/thr_lock.c 698,1052
./extra/replace.c 70
./regex/reginit.c 8
./libmysql/libmysql.c 3436,4253
./client/mysqldump.c 1031
./client/mysqltest.c 3688,4972,6895,6900
./storage/heap/hp_update.c 24
./storage/myisam/myisamdef.h 496
./storage/myisam/mi_open.c 919
./storage/myisam/mi_search.c 1472
./storage/myisam/mi_dynrec.c 410
./storage/myisam/mi_update.c 27
./storage/myisam/mi_write.c 105,196
./storage/myisam/mi_check.c 3252
./storage/myisam/myisamlog.c 38,70,842
./storage/myisam/myisampack.c 126,439
./unittest/mysys/bitmap-t.c 32,55,78,84,126,232,258,283,302,337

It's possible that there're more occurences, not needed by my actual configuration.
[28 Oct 2007 13:51] Valeriy Kravchuk
Please do not submit the same bug more than once. Your bug report, bug #30356, already describes this very problem. Even if you feel that your current issue is somewhat different, the resolution is likely to be the same (and you suggested it). Because of this, we hope you add your comments to the original bug instead.

Thank you for your interest in MySQL.