Bug #18332 gcc 4.1 compile errors
Submitted: 18 Mar 2006 17:01 Modified: 23 Jul 2006 0:44
Reporter: Hartmut Holzgraefe Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:5.1 OS:Linux (linux)
Assigned to: Hartmut Holzgraefe CPU Architecture:Any

[18 Mar 2006 17:01] Hartmut Holzgraefe
Description:
compiling 5.1 with gcc4.1 fails in  storage/ndb/src/kernel/blocks/pgman.cpp with

pgman.cpp:313: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:343: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:388: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:406: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:441: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:486: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:536: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:571: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:804: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:839: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << clean_ptr’
pgman.cpp:846: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << clean_ptr’
pgman.cpp:889: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:932: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:968: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:988: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << req_ptr’
pgman.cpp:1064: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:1073: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:1187: error: no match for ‘operator<<’ in ‘ndbout << ptr’
pgman.cpp:1292: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:1307: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:1329: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:1374: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:1393: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:1519: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:1520: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << tmp’
pgman.cpp:1645: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << req_ptr’
pgman.cpp:1657: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:1676: error: no match for ‘operator<<’ in ‘((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)"PGMAN: ")) << ptr’
pgman.cpp:2027: error: no match for ‘operator<<’ in ‘((NdbOut*)((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)((char*)(& buf))))
)->NdbOut::operator<<(((const char*)" ")) << iter.DLHashTableImpl<ArrayPool<Pgman::Page_entry>, Pgman::Page_entry, Pgman::Page_entry>::Iterator::cu
rr’
pgman.cpp:2036: error: no match for ‘operator<<’ in ‘((NdbOut*)((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)((char*)(& buf))))
)->NdbOut::operator<<(((const char*)" ")) << ptr’
pgman.cpp:2044: error: no match for ‘operator<<’ in ‘((NdbOut*)((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)((char*)(& buf))))
)->NdbOut::operator<<(((const char*)" ")) << ptr’
pgman.cpp:2055: error: no match for ‘operator<<’ in ‘((NdbOut*)((Pgman*)this)->Pgman::debugOut. NdbOut::operator<<(((const char*)((char*)(& buf))))
)->NdbOut::operator<<(((const char*)" ")) << ptr’

How to repeat:
compile 5.1 with cluster ndbcluster using gcc 4.1.0
[18 Mar 2006 17:13] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/3957
[20 Mar 2006 20:01] Mike Hillyer
need version number to post changelog entry. Please provide and set status back to Documenting.
[22 Jul 2006 22:47] Kent Boortz
This change was in 5.1.9
[23 Jul 2006 0:44] Paul DuBois
I think no changelog entry is needed.