Compile fails on Mac OS X PPC

Bug #415475 reported by Hakan Küçükyılmaz
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
PBXT
Fix Committed
Medium
Paul McCullagh

Bug Description

Compile fails on Mac OS X PPC

How to reproduce:

* bzr branch lp:maria
* BUILD/compile-ppc-debug-max

Full build log can be found at http://askmonty.org/buildbot/
for instance:
    http://askmonty.org/buildbot/builders/macosx-g5-dbg/builds/7/steps/compile/logs/stdio

make[3]: warning: -jN forced in submake: disabling jobserver mode.
if ccache gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -I../../../include -I../../../include -I../../../regex -I../../../storage/innobase/include -I../../../sql -I. -g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused-function -Wunused-label -Wunused-value -Wunused-variable -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -DUNIV_MUST_NOT_INLINE -DEXTRA_DEBUG -DFORCE_INIT_OF_VARS -DSAFEMALLOC -DPEDANTIC_SAFEMALLOC -O0 -g3 -gdwarf-2 -fno-implicit-templates -fno-exceptions -fno-rtti -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL -MT libpbxt_a-bsearch_xt.o -MD -MP -MF ".deps/libpbxt_a-bsearch_xt.Tpo" -c -o libpbxt_a-bsearch_xt.o `test -f 'bsearch_xt.cc' || echo './'`bsearch_xt.cc; \
 then mv -f ".deps/libpbxt_a-bsearch_xt.Tpo" ".deps/libpbxt_a-bsearch_xt.Po"; else rm -f ".deps/libpbxt_a-bsearch_xt.Tpo"; exit 1; fi
if ccache gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -I../../../include -I../../../include -I../../../regex -I../../../storage/innobase/include -I../../../sql -I. -g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused-function -Wunused-label -Wunused-value -Wunused-variable -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -DUNIV_MUST_NOT_INLINE -DEXTRA_DEBUG -DFORCE_INIT_OF_VARS -DSAFEMALLOC -DPEDANTIC_SAFEMALLOC -O0 -g3 -gdwarf-2 -fno-implicit-templates -fno-exceptions -fno-rtti -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL -MT libpbxt_a-cache_xt.o -MD -MP -MF ".deps/libpbxt_a-cache_xt.Tpo" -c -o libpbxt_a-cache_xt.o `test -f 'cache_xt.cc' || echo './'`cache_xt.cc; \
 then mv -f ".deps/libpbxt_a-cache_xt.Tpo" ".deps/libpbxt_a-cache_xt.Po"; else rm -f ".deps/libpbxt_a-cache_xt.Tpo"; exit 1; fi
if ccache gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -I../../../include -I../../../include -I../../../regex -I../../../storage/innobase/include -I../../../sql -I. -g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused-function -Wunused-label -Wunused-value -Wunused-variable -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -DUNIV_MUST_NOT_INLINE -DEXTRA_DEBUG -DFORCE_INIT_OF_VARS -DSAFEMALLOC -DPEDANTIC_SAFEMALLOC -O0 -g3 -gdwarf-2 -fno-implicit-templates -fno-exceptions -fno-rtti -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL -MT libpbxt_a-ccutils_xt.o -MD -MP -MF ".deps/libpbxt_a-ccutils_xt.Tpo" -c -o libpbxt_a-ccutils_xt.o `test -f 'ccutils_xt.cc' || echo './'`ccutils_xt.cc; \
 then mv -f ".deps/libpbxt_a-ccutils_xt.Tpo" ".deps/libpbxt_a-ccutils_xt.Po"; else rm -f ".deps/libpbxt_a-ccutils_xt.Tpo"; exit 1; fi
if ccache gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -I../../../include -I../../../include -I../../../regex -I../../../storage/innobase/include -I../../../sql -I. -g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused-function -Wunused-label -Wunused-value -Wunused-variable -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -DUNIV_MUST_NOT_INLINE -DEXTRA_DEBUG -DFORCE_INIT_OF_VARS -DSAFEMALLOC -DPEDANTIC_SAFEMALLOC -O0 -g3 -gdwarf-2 -fno-implicit-templates -fno-exceptions -fno-rtti -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL -MT libpbxt_a-database_xt.o -MD -MP -MF ".deps/libpbxt_a-database_xt.Tpo" -c -o libpbxt_a-database_xt.o `test -f 'database_xt.cc' || echo './'`database_xt.cc; \
 then mv -f ".deps/libpbxt_a-database_xt.Tpo" ".deps/libpbxt_a-database_xt.Po"; else rm -f ".deps/libpbxt_a-database_xt.Tpo"; exit 1; fi
if ccache gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -I../../../include -I../../../include -I../../../regex -I../../../storage/innobase/include -I../../../sql -I. -g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused-function -Wunused-label -Wunused-value -Wunused-variable -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -DUNIV_MUST_NOT_INLINE -DEXTRA_DEBUG -DFORCE_INIT_OF_VARS -DSAFEMALLOC -DPEDANTIC_SAFEMALLOC -O0 -g3 -gdwarf-2 -fno-implicit-templates -fno-exceptions -fno-rtti -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL -MT libpbxt_a-datadic_xt.o -MD -MP -MF ".deps/libpbxt_a-datadic_xt.Tpo" -c -o libpbxt_a-datadic_xt.o `test -f 'datadic_xt.cc' || echo './'`datadic_xt.cc; \
 then mv -f ".deps/libpbxt_a-datadic_xt.Tpo" ".deps/libpbxt_a-datadic_xt.Po"; else rm -f ".deps/libpbxt_a-datadic_xt.Tpo"; exit 1; fi
if ccache gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -I../../../include -I../../../include -I../../../regex -I../../../storage/innobase/include -I../../../sql -I. -g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused-function -Wunused-label -Wunused-value -Wunused-variable -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -DUNIV_MUST_NOT_INLINE -DEXTRA_DEBUG -DFORCE_INIT_OF_VARS -DSAFEMALLOC -DPEDANTIC_SAFEMALLOC -O0 -g3 -gdwarf-2 -fno-implicit-templates -fno-exceptions -fno-rtti -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL -MT libpbxt_a-datalog_xt.o -MD -MP -MF ".deps/libpbxt_a-datalog_xt.Tpo" -c -o libpbxt_a-datalog_xt.o `test -f 'datalog_xt.cc' || echo './'`datalog_xt.cc; \
 then mv -f ".deps/libpbxt_a-datalog_xt.Tpo" ".deps/libpbxt_a-datalog_xt.Po"; else rm -f ".deps/libpbxt_a-datalog_xt.Tpo"; exit 1; fi
lock_xt.h: In function 'void xt_atomic_inc2(volatile u_int16_t*)':
lock_xt.h:194: error: '__sync_fetch_and_add' was not declared in this scope
lock_xt.h: In function 'void xt_atomic_dec2(volatile u_int16_t*)':
lock_xt.h:209: error: '__sync_fetch_and_sub' was not declared in this scope
lock_xt.h: At global scope:
lock_xt.h:584: warning: 'struct XTRowLockList' only defines private constructors and has no friends
lock_xt.h:640: warning: 'struct XTRowLocks' only defines private constructors and has no friends
xactlog_xt.h:376: warning: 'struct XTDatabaseLog' only defines private constructors and has no friends
datalog_xt.h:89: warning: 'struct XTDataLogFile' only defines private constructors and has no friends
datalog_xt.h:110: warning: 'struct XTDataLogCache' only defines private constructors and has no friends
datalog_xt.h:148: warning: 'struct XTDataLogBuffer' only defines private constructors and has no friends
datalog_xt.h:172: warning: 'struct XTSeqLogRead' only defines private constructors and has no friends
datalog_xt.h:192: warning: 'struct XTDataSeqRead' only defines private constructors and has no friends
make[3]: *** [libpbxt_a-bsearch_xt.o] Error 1
make[3]: *** Waiting for unfinished jobs....
lock_xt.h: In function 'void xt_atomic_inc2(volatile u_int16_t*)':
lock_xt.h:194: error: '__sync_fetch_and_add' was not declared in this scope
lock_xt.h: In function 'void xt_atomic_dec2(volatile u_int16_t*)':
lock_xt.h:209: error: '__sync_fetch_and_sub' was not declared in this scope
lock_xt.h: At global scope:
lock_xt.h:584: warning: 'struct XTRowLockList' only defines private constructors and has no friends
lock_xt.h:640: warning: 'struct XTRowLocks' only defines private constructors and has no friends
xactlog_xt.h:376: warning: 'struct XTDatabaseLog' only defines private constructors and has no friends
datalog_xt.h:89: warning: 'struct XTDataLogFile' only defines private constructors and has no friends
datalog_xt.h:110: warning: 'struct XTDataLogCache' only defines private constructors and has no friends
datalog_xt.h:148: warning: 'struct XTDataLogBuffer' only defines private constructors and has no friends
datalog_xt.h:172: warning: 'struct XTSeqLogRead' only defines private constructors and has no friends
datalog_xt.h:192: warning: 'struct XTDataSeqRead' only defines private constructors and has no friends
make[3]: *** [libpbxt_a-ccutils_xt.o] Error 1
lock_xt.h: In function 'void xt_atomic_inc2(volatile u_int16_t*)':
lock_xt.h:194: error: '__sync_fetch_and_add' was not declared in this scope
lock_xt.h: In function 'void xt_atomic_dec2(volatile u_int16_t*)':
lock_xt.h:209: error: '__sync_fetch_and_sub' was not declared in this scope
lock_xt.h: At global scope:
lock_xt.h:584: warning: 'struct XTRowLockList' only defines private constructors and has no friends
lock_xt.h:640: warning: 'struct XTRowLocks' only defines private constructors and has no friends
xactlog_xt.h:376: warning: 'struct XTDatabaseLog' only defines private constructors and has no friends
datalog_xt.h:89: warning: 'struct XTDataLogFile' only defines private constructors and has no friends
datalog_xt.h:110: warning: 'struct XTDataLogCache' only defines private constructors and has no friends
datalog_xt.h:148: warning: 'struct XTDataLogBuffer' only defines private constructors and has no friends
datalog_xt.h:172: warning: 'struct XTSeqLogRead' only defines private constructors and has no friends
datalog_xt.h:192: warning: 'struct XTDataSeqRead' only defines private constructors and has no friends
datadic_xt.h:247: warning: 'class XTDDTable' only defines private constructors and has no friends
index_xt.h:377: warning: 'struct XTIndexLog' only defines private constructors and has no friends
index_xt.h:409: warning: 'struct XTIndexLogPool' only defines private constructors and has no friends
tabcache_xt.h:209: warning: 'struct XTTabCache' only defines private constructors and has no friends
make[3]: *** [libpbxt_a-cache_xt.o] Error 1
lock_xt.h: In function 'void xt_atomic_inc2(volatile u_int16_t*)':
lock_xt.h:194: error: '__sync_fetch_and_add' was not declared in this scope
lock_xt.h: In function 'void xt_atomic_dec2(volatile u_int16_t*)':
lock_xt.h:209: error: '__sync_fetch_and_sub' was not declared in this scope
lock_xt.h: At global scope:
lock_xt.h:584: warning: 'struct XTRowLockList' only defines private constructors and has no friends
lock_xt.h:640: warning: 'struct XTRowLocks' only defines private constructors and has no friends
xactlog_xt.h:376: warning: 'struct XTDatabaseLog' only defines private constructors and has no friends
datalog_xt.h:89: warning: 'struct XTDataLogFile' only defines private constructors and has no friends
datalog_xt.h:110: warning: 'struct XTDataLogCache' only defines private constructors and has no friends
datalog_xt.h:148: warning: 'struct XTDataLogBuffer' only defines private constructors and has no friends
datalog_xt.h:172: warning: 'struct XTSeqLogRead' only defines private constructors and has no friends
datalog_xt.h:192: warning: 'struct XTDataSeqRead' only defines private constructors and has no friends
datadic_xt.h:247: warning: 'class XTDDTable' only defines private constructors and has no friends
index_xt.h:377: warning: 'struct XTIndexLog' only defines private constructors and has no friends
index_xt.h:409: warning: 'struct XTIndexLogPool' only defines private constructors and has no friends
tabcache_xt.h:209: warning: 'struct XTTabCache' only defines private constructors and has no friends
restart_xt.h:69: warning: 'struct XTXactRestart' only defines private constructors and has no friends
make[3]: *** [libpbxt_a-database_xt.o] Error 1
lock_xt.h: In function 'void xt_atomic_inc2(volatile u_int16_t*)':
lock_xt.h:194: error: '__sync_fetch_and_add' was not declared in this scope
lock_xt.h: In function 'void xt_atomic_dec2(volatile u_int16_t*)':
lock_xt.h:209: error: '__sync_fetch_and_sub' was not declared in this scope
lock_xt.h: At global scope:
lock_xt.h:584: warning: 'struct XTRowLockList' only defines private constructors and has no friends
lock_xt.h:640: warning: 'struct XTRowLocks' only defines private constructors and has no friends
xactlog_xt.h:376: warning: 'struct XTDatabaseLog' only defines private constructors and has no friends
datalog_xt.h:89: warning: 'struct XTDataLogFile' only defines private constructors and has no friends
datalog_xt.h:110: warning: 'struct XTDataLogCache' only defines private constructors and has no friends
datalog_xt.h:148: warning: 'struct XTDataLogBuffer' only defines private constructors and has no friends
datalog_xt.h:172: warning: 'struct XTSeqLogRead' only defines private constructors and has no friends
datalog_xt.h:192: warning: 'struct XTDataSeqRead' only defines private constructors and has no friends
datadic_xt.h:247: warning: 'class XTDDTable' only defines private constructors and has no friends
index_xt.h:377: warning: 'struct XTIndexLog' only defines private constructors and has no friends
index_xt.h:409: warning: 'struct XTIndexLogPool' only defines private constructors and has no friends
tabcache_xt.h:209: warning: 'struct XTTabCache' only defines private constructors and has no friends
restart_xt.h:69: warning: 'struct XTXactRestart' only defines private constructors and has no friends
datadic_xt.cc:79: warning: 'class XTToken' only defines private constructors and has no friends
make[3]: *** [libpbxt_a-datadic_xt.o] Error 1
../../../sql/item.h:1023: warning: 'class Field_enumerator' only defines private constructors and has no friends
../../../sql/sql_class.h:55: warning: 'class Reprepare_observer' only defines private constructors and has no friends
lock_xt.h: In function 'void xt_atomic_inc2(volatile u_int16_t*)':
lock_xt.h:194: error: '__sync_fetch_and_add' was not declared in this scope
lock_xt.h: In function 'void xt_atomic_dec2(volatile u_int16_t*)':
lock_xt.h:209: error: '__sync_fetch_and_sub' was not declared in this scope
lock_xt.h: At global scope:
lock_xt.h:584: warning: 'struct XTRowLockList' only defines private constructors and has no friends
lock_xt.h:640: warning: 'struct XTRowLocks' only defines private constructors and has no friends
xactlog_xt.h:376: warning: 'struct XTDatabaseLog' only defines private constructors and has no friends
datalog_xt.h:89: warning: 'struct XTDataLogFile' only defines private constructors and has no friends
datalog_xt.h:110: warning: 'struct XTDataLogCache' only defines private constructors and has no friends
datalog_xt.h:148: warning: 'struct XTDataLogBuffer' only defines private constructors and has no friends
datalog_xt.h:172: warning: 'struct XTSeqLogRead' only defines private constructors and has no friends
datalog_xt.h:192: warning: 'struct XTDataSeqRead' only defines private constructors and has no friends
datadic_xt.h:247: warning: 'class XTDDTable' only defines private constructors and has no friends
index_xt.h:377: warning: 'struct XTIndexLog' only defines private constructors and has no friends
index_xt.h:409: warning: 'struct XTIndexLogPool' only defines private constructors and has no friends
tabcache_xt.h:209: warning: 'struct XTTabCache' only defines private constructors and has no friends
restart_xt.h:69: warning: 'struct XTXactRestart' only defines private constructors and has no friends
make[3]: *** [libpbxt_a-datalog_xt.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

Revision history for this message
Hakan Küçükyılmaz (hakan-askmonty) wrote :

There was a similar bug with InnoDB and __sync_lock_test_and_set:
    InnoDB plugin incompatible with gcc 4.1 (at least: on PPC): "Undefined symbol"
    http://bugs.mysql.com/bug.php?id=46718

Changed in pbxt:
assignee: nobody → Paul McCullagh (paul-mccullagh)
status: New → In Progress
Revision history for this message
Paul McCullagh (paul-mccullagh) wrote :

PBXT now compiles on Power PC Mac OS X 1.5. This bug was fixed in revision 642 (see below), now in the MariaDB trunk (lp:maria).

Note that PBXT compiles but an assertion will fail at runtime on PPC. An implementation of atomic ops for PPC is still required for this platform.

$ bzr log -r642
------------------------------------------------------------
revno: 642
committer: Paul McCullagh <email address hidden>
branch nick: work-in-progress
timestamp: Wed 2009-05-20 14:35:34 +0200
message:
  Atomic operations are no longer required to compile an run

Changed in pbxt:
importance: Undecided → Medium
status: In Progress → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.