Opened 14 years ago

Closed 13 years ago

#1022 closed Defect (fixed)

32 bit build fails on Mac OS X 10.6.4 (Snow Leopard)

Reported by: coturnix Owned by: davea
Priority: Undetermined Milestone: Undetermined
Component: BOINC - API Version: 6.10.58
Keywords: Cc:

Description

Building BOINC on Snow Leopard as a 32 bit application fails with the following error message:

/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../lib -I../api -I../db -I../client -I../tools -I../sched -I../lib/mac -D_THREAD_SAFE -fno-common -DPIC -D_THREAD_SAFE -O2 -m32 -MT libboinc_la-QBacktrace.lo -MD -MP -MF .deps/libboinc_la-QBacktrace.Tpo -c -o libboinc_la-QBacktrace.lo `test -f 'mac/QBacktrace.c' || echo './'`mac/QBacktrace.c
gcc -DHAVE_CONFIG_H -I. -I.. -I../lib -I../api -I../db -I../client -I../tools -I../sched -I../lib/mac -D_THREAD_SAFE -fno-common -DPIC -D_THREAD_SAFE -O2 -m32 -MT libboinc_la-QBacktrace.lo -MD -MP -MF .deps/libboinc_la-QBacktrace.Tpo -c mac/QBacktrace.c -fno-common -DPIC -o .libs/libboinc_la-QBacktrace.o
mac/QBacktrace.c: In function 'PowerPCHandleLeaf':
mac/QBacktrace.c:1040: error: 'ppc_thread_state_t' has no member named 'srr0'
mac/QBacktrace.c:1041: error: 'ppc_thread_state_t' has no member named 'lr'
mac/QBacktrace.c:1042: error: 'ppc_thread_state_t' has no member named 'r1'
mac/QBacktrace.c:1045: error: 'ppc_thread_state64_t' has no member named 'srr0'
mac/QBacktrace.c:1046: error: 'ppc_thread_state64_t' has no member named 'lr'
mac/QBacktrace.c:1047: error: 'ppc_thread_state64_t' has no member named 'r1'
mac/QBacktrace.c: In function 'IntelHandleLeaf?':
mac/QBacktrace.c:1589: error: 'x86_thread_state64_t' has no member named 'rip'
mac/QBacktrace.c:1590: error: 'x86_thread_state64_t' has no member named 'rsp'
mac/QBacktrace.c:1591: error: 'x86_thread_state64_t' has no member named 'rbp'
mac/QBacktrace.c:1594: error: 'x86_thread_state32_t' has no member named 'eip'
mac/QBacktrace.c:1595: error: 'x86_thread_state32_t' has no member named 'esp'
mac/QBacktrace.c:1596: error: 'x86_thread_state32_t' has no member named 'ebp'
mac/QBacktrace.c: In function 'QBTCreateThreadStateSelf':
mac/QBacktrace.c:2478: error: 'x86_thread_state32_t' has no member named 'eip'
mac/QBacktrace.c:2479: error: 'x86_thread_state32_t' has no member named 'ebp'
make[2]: * [libboinc_la-QBacktrace.lo] Error 1

configure command line: CXXFLAGS="-O2 -m32" CFLAGS="-O2 -m32" ./configure --disable-server --disable-manager --disable-client --enable-bitness=32

$ gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5664~105/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5664)

Building BOINC as a 64 bit application succeeds.

Attachments (1)

boinc_6_10_58_darwin_10_6_4.patch (3.7 KB) - added by coturnix 14 years ago.

Download all attachments as: .zip

Change History (5)

Changed 14 years ago by coturnix

comment:1 Changed 14 years ago by coturnix

The patch I just attached solves the problem for me. But I am not sure whether it will properly work on earlier versions of Mac OS X.

comment:2 Changed 14 years ago by charlief

Resolution: wontfix
Status: newclosed

Building BOINC on a Mac using config and make is not supported. Please use the build scripts and XCode project provided, which work correctly as is. See the file boinc.mac_build/HowToBuildBOINC_XCode.rtf for details. For a more up to date version see here.

comment:3 Changed 13 years ago by charlief

Resolution: wontfix
Status: closedreopened

comment:4 Changed 13 years ago by charlief

Resolution: fixed
Status: reopenedclosed

Modified the two source files QBacktrace.c and QCrashReport.c so they now build properly using OS OS 10.5 SDk and OS 10.6 SDk as well as OS 10.4 SDK.

Note: See TracTickets for help on using tickets.