Bug #25773 Error during compilation of 4.0-BK
Submitted: 23 Jan 2007 8:58 Modified: 26 Jan 2007 14:36
Reporter: Valeriy Kravchuk Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:4.0-BK OS:Linux (Linux)
Assigned to: Jani Tolonen CPU Architecture:Any

[23 Jan 2007 8:58] Valeriy Kravchuk
Description:
Current 4.0-BK (ChangeSet@1.2206, 2007-01-22 02:32:07+02:00, jani@... +8 -0) does not compile on Linux:

Making all in myisam
make[2]: Entering directory `/home/openxs/work/mysql-4.0/myisam'
if gcc -DMAP_TO_USE_RAID -I. -I. -I.. -I./../include -I../include    -O3 -DDBUG_
OFF    -MT mi_open.o -MD -MP -MF ".deps/mi_open.Tpo" -c -o mi_open.o mi_open.c;
\
then mv -f ".deps/mi_open.Tpo" ".deps/mi_open.Po"; else rm -f ".deps/mi_open.Tpo
"; exit 1; fi
In file included from fulltext.h:21,
                 from mi_open.c:19:
myisamdef.h:206: error: syntax error before "pthread_rwlock_t"
myisamdef.h:206: warning: no semicolon at end of struct or union
myisamdef.h:208: warning: data definition has no type or storage class
myisamdef.h:221: error: syntax error before "MYISAM_SHARE"
myisamdef.h:221: warning: no semicolon at end of struct or union
myisamdef.h:246: error: `checksum' redeclared as different kind of symbol
../include/my_sys.h:764: error: previous declaration of `checksum'
myisamdef.h:277: error: syntax error before '}' token
myisamdef.h:495: error: syntax error before '*' token
myisamdef.h:664: error: syntax error before "MYISAM_SHARE"
myisamdef.h:665: error: syntax error before '*' token
myisamdef.h:666: error: syntax error before '*' token
mi_open.c: In function `test_if_reopen':
mi_open.c:58: error: `share' undeclared (first use in this function)
mi_open.c:58: error: (Each undeclared identifier is reported only once
mi_open.c:58: error: for each function it appears in.)
mi_open.c:58: error: dereferencing pointer to incomplete type
mi_open.c: In function `mi_open':
mi_open.c:82: error: storage size of `info' isn't known
mi_open.c:83: error: syntax error before "share_buff"
mi_open.c:93: error: `share_buff' undeclared (first use in this function)
mi_open.c:100: error: `share' undeclared (first use in this function)
mi_open.c:289: error: `pthread_rwlock_t' undeclared (first use in this function)

mi_open.c:463: error: dereferencing pointer to incomplete type
mi_open.c:469: error: dereferencing pointer to incomplete type
mi_open.c:476: error: invalid application of `sizeof' to an incomplete type
mi_open.c:540: error: dereferencing pointer to incomplete type
mi_open.c:542: error: dereferencing pointer to incomplete type
mi_open.c:544: error: dereferencing pointer to incomplete type
mi_open.c:545: error: dereferencing pointer to incomplete type
mi_open.c: In function `mi_alloc_rec_buff':
mi_open.c:595: error: dereferencing pointer to incomplete type
mi_open.c:602: error: dereferencing pointer to incomplete type
mi_open.c:602: error: dereferencing pointer to incomplete type
mi_open.c:602: error: dereferencing pointer to incomplete type
mi_open.c:602: error: dereferencing pointer to incomplete type
mi_open.c:609: error: dereferencing pointer to incomplete type
mi_open.c: At top level:
mi_open.c:635: error: syntax error before '*' token
mi_open.c: In function `mi_setup_functions':
mi_open.c:637: error: `share' undeclared (first use in this function)
mi_open.c: At top level:
mi_open.c:1078: error: syntax error before "MYISAM_SHARE"
mi_open.c:1098: error: syntax error before '*' token
mi_open.c: In function `mi_open_keyfile':
mi_open.c:1100: error: `share' undeclared (first use in this function)
make[2]: *** [mi_open.o] Error 1
make[2]: Leaving directory `/home/openxs/work/mysql-4.0/myisam'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/openxs/work/mysql-4.0'
make: *** [all] Error 2

openxs@suse:~/work/mysql-4.0> uname -a
Linux suse 2.6.11.4-20a-default #1 Wed Mar 23 21:52:37 UTC 2005 i686 i686 i386 G
NU/Linux
openxs@suse:~/work/mysql-4.0> gcc --version
gcc (GCC) 3.3.5 20050117 (prerelease) (SUSE Linux)
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

How to repeat:
Try the following commands:

./configure --prefix=/home/openxs/dbs/4.0
make

with current 4.0-BK sources.
[24 Jan 2007 16:59] Valeriy Kravchuk
I can not repeat this on our sles9-x86.mysql.com :(. 4.0-30-BK compiles without any problems there.
[26 Jan 2007 14:36] Valeriy Kravchuk
Sorry, but I was not able to repeat this with a fresh clone of the same 4.0-BK tree, even on my system. Nothing to fix, it seems.