| Bug #44310 | C++ compile error (ICC): operator overload missing | ||
|---|---|---|---|
| Submitted: | 16 Apr 2009 9:33 | Modified: | 14 May 2009 13:40 |
| Reporter: | Joerg Bruehe | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Cluster: Cluster (NDB) storage engine | Severity: | S1 (Critical) |
| Version: | mysql-5.1-telco-7.0 | OS: | Linux (IA64 / ICC only) |
| Assigned to: | Magnus Blåudd | CPU Architecture: | Any |
[16 Apr 2009 9:42]
Jonas Oreland
- assign to bocklin - to my knowledge, we never tried ICC on 7.0 (atleast PB doesnt...) - likely trivial to find...iff we have platform with these compiler - is it blocking anything ?
[16 Apr 2009 10:24]
Joerg Bruehe
"Is it blocking ...": The decision is to build all distro-specific RPMs (SuSE, RedHat) for IA64 CPUs using ICC, so we cannot have any such RPMs until this bug is fixed. Such machines are available in Uppsala.
[16 Apr 2009 15:46]
Magnus Blåudd
It's just a debug printout that fails, please comment it out if you want to try again with icc.
msvensson@pilot:~/mysql/7.0/storage/ndb/src/kernel/blocks$ bzr diff
=== modified file 'storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp'
--- storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp 2009-04-15 14:08:26 +0000
+++ storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp 2009-04-16 15:46:01 +0000
@@ -1997,7 +1997,7 @@ private:
return;
}
- D("before add op" << *trans_ptr.p);
+ //D("before add op" << *trans_ptr.p);
if (trans_ptr.p->m_transId != req->transId) {
jam();
[28 Apr 2009 8:26]
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/72881
[28 Apr 2009 8:26]
Bugs System
Pushed into 5.1.32-ndb-7.0.6 (revid:magnus.blaudd@sun.com-20090428082551-b326jsst302lygx3) (version source revid:magnus.blaudd@sun.com-20090428082551-b326jsst302lygx3) (merge vers: 5.1.32-ndb-7.0.6) (pib:6)
[14 May 2009 13:40]
Jon Stephens
DOcumented bugfix in the NDB-7.0.6 changelog as follows:
Building the MySQL Cluster 7.0 tree failed when using the icc compiler.

Description: Compile error in the build of 7.0.5 when using ICC: ===== icpc -static-intel -static-libgcc -DHAVE_CONFIG_H -DNDB_DEBUG -DVM_TRACE -DERROR_INSERT -DARRAY_GUARD -I. -I../../../../../include -I../../../../../storage/ndb/src/kernel/blocks/dblqh -I../../../../../zlib -I. -I../../../../../include -I../../../../../storage/ndb/include -I../../../../../include -I../../../../../storage/ndb/include -I../../../../../storage/ndb/src/kernel/vm -I../../../../../storage/ndb/src/kernel/error -I../../../../../storage/ndb/src/kernel -I../../../../../storage/ndb/include/kernel -I../../../../../storage/ndb/include/transporter -I../../../../../storage/ndb/include/debugger -I../../../../../storage/ndb/include/mgmapi -I../../../../../storage/ndb/include/mgmcommon -I../../../../../storage/ndb/include/ndbapi -I../../../../../storage/ndb/include/util -I../../../../../storage/ndb/include/portlib -I../../../../../storage/ndb/include/logger -I../../../../../zlib -g -DSAFE_MUTEX -mp -restrict -no-ftz -no-prefetch -fno-implicit-templates -fno-exceptions -fno-rtti -MT Dbdict.o -MD -MP -MF .deps/Dbdict.Tpo -c -o Dbdict.o `test -f 'dbdict/Dbdict.cpp' || echo './'`dbdict/Dbdict.cpp .... dbdict/Dbdict.hpp(1997): error: no operator "<<" matches these operands operand types are: NdbOut << Dbdict::SchemaTrans D("before add op" << *trans_ptr.p); ^ compilation aborted for dbdict/Dbdict.cpp (code 2) make[6]: *** [Dbdict.o] Error 2 make[6]: Leaving directory `/data0/mysqldev/tmp-200904141426-7.0.5-27551/rpm/BUILD/mysql-cluster-gpl-7.0.5/sto rage/ndb/src/kernel/blocks' ===== I have not scanned logs of previous builds, this may be an older bug which was left un-reported. How to repeat: Just try it ...