Mac MGR: Fix serious memory leak under OS 10.5 by upgrading to wxMac 2.8.7.

svn path=/trunk/boinc/; revision=14388
This commit is contained in:
Charlie Fenton 2007-12-17 13:20:03 +00:00
parent f0fbf22972
commit 71c2a34dc0
3 changed files with 33 additions and 81 deletions

View File

@ -12085,7 +12085,7 @@ Charlie 4 Dec 2007
buildcurl.sh buildcurl.sh
buildjpeg.sh buildjpeg.sh
BuildMacBOINC.sh BuildMacBOINC.sh
HowToBuildBOINC_XCode copy.rtf HowToBuildBOINC_XCode.rtf
David 4 Dec 2007 David 4 Dec 2007
- ops: in team import script, send email to team founder - ops: in team import script, send email to team founder
@ -12272,3 +12272,13 @@ Rom 14 Dec 2007
configure.ac configure.ac
version.h version.h
Charlie 17 Dec 07
- Mac MGR: Fix serious memory leak under OS 10.5 by upgrading to
wxMac 2.8.7. This causes a minor cosmetic bug in SimpleGUI which
needs fixing.
mac_build/
buildWxMac.sh
HowToBuildBOINC_XCode.rtf
boinc.xcodeproj/
project.pbxproj

View File

@ -11,7 +11,7 @@
\b0\fs24 \cf0 \ \b0\fs24 \cf0 \
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\qc
\cf0 Written by Charlie Fenton\ \cf0 Written by Charlie Fenton\
Last updated 12/6/07\ Last updated 12/17/07\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\cf0 \ \cf0 \
This document applies to BOINC version 6.1.0 and later. It has instructions for building BOINC for Macintosh OSX, plus information for building science project applications to run under BOINC on Macintosh OSX. \ This document applies to BOINC version 6.1.0 and later. It has instructions for building BOINC for Macintosh OSX, plus information for building science project applications to run under BOINC on Macintosh OSX. \
@ -125,15 +125,15 @@ If you prefer, you can cross-compile on one Mac running OS 10.4.x or OS 10.5.x.
\b0\fs24 \cf0 \ \b0\fs24 \cf0 \
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\cf0 BOINC depends on three third-party libraries: wxMac-2.6.3, curl-7.17.1, and jpeg-6b. (We have reverted to using wxMac-2.6.3 because we have found several bugs in later versions of wxMac.) You can obtain these from the following URLs:\ \cf0 BOINC depends on three third-party libraries: wxMac-2.8.7, curl-7.17.1, and jpeg-6b. You can obtain these from the following URLs:\
\ \
wxMac-2.6.3 (needed only if you are building the BOINC Manager):\ wxMac-2.8.7 (needed only if you are building the BOINC Manager):\
{\field{\*\fldinst{HYPERLINK "http://www.wxwidgets.org"}}{\fldrslt {\field{\*\fldinst{HYPERLINK "http://www.wxwidgets.org"}}{\fldrslt
\f1\fs26 http://www.wxwidgets.org}} \f1\fs26 http://www.wxwidgets.org}}
\f1\fs26 \ \f1\fs26 \
\f0\fs24 {\field{\*\fldinst{HYPERLINK "http://prdownloads.sourceforge.net/wxwindows/wxMac-2.6.3.tar.gz"}}{\fldrslt \f0\fs24 {\field{\*\fldinst{HYPERLINK "http://prdownloads.sourceforge.net/wxwindows/wxMac-2.8.7.tar.gz"}}{\fldrslt
\f1\fs26 http://prdownloads.sourceforge.net/wxwindows/wxMac-2.6.3.tar.gz}} \f1\fs26 http://prdownloads.sourceforge.net/wxwindows/wxMac-2.8.7.tar.gz}}
\f1\fs26 \ \f1\fs26 \
\f0\fs24 \ \f0\fs24 \
@ -178,7 +178,7 @@ XCode installed these utilities in the /usr/bin/ directory, but the upgrades by
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
\cf0 As stated above, all BOINC software for Power PC Macs must be built using MacOS10.3.9 SDK and (for libraries) GCC 3.3 to assure backward compatibility with OS 10.3. All 32-bit BOINC software for Intel Macs must be built using GCC 4.0 and MacOS10.4.u SDK to allow cross-compiling. And all 64-bit BOINC software for Intel Macs must be built using GCC 4.0 and MacOS10.5 SDK. \ \cf0 As stated above, all BOINC software for Power PC Macs must be built using MacOS10.3.9 SDK and (for libraries) GCC 3.3 to assure backward compatibility with OS 10.3. All 32-bit BOINC software for Intel Macs must be built using GCC 4.0 and MacOS10.4.u SDK to allow cross-compiling. And all 64-bit BOINC software for Intel Macs must be built using GCC 4.0 and MacOS10.5 SDK. \
\ \
These are not done by either the XCode projects which come with wxMac-2.6.3, nor the AutoMake scripts supplied with wxMac-2.6.3, curl-7.17.1, or jpeg-6b. So be sure to use our special scripts to build these packages.\ These are not done by either the XCode projects which come with wxMac-2.8.7, nor the AutoMake scripts supplied with wxMac-2.8.7, curl-7.17.1, or jpeg-6b. So be sure to use our special scripts to build these packages.\
\ \
Building BOINC and the library packages on which it depends requires OS 10.4.4 (or later) and XCode 2.4.1 (or later). It may be possible to use XCode 2.3 and/or versions of OS X earlier than 10.4.4, but this has not been tested by the authors.\ Building BOINC and the library packages on which it depends requires OS 10.4.4 (or later) and XCode 2.4.1 (or later). It may be possible to use XCode 2.3 and/or versions of OS X earlier than 10.4.4, but this has not been tested by the authors.\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
@ -188,7 +188,7 @@ Building BOINC and the library packages on which it depends requires OS 10.4.4 (
[2] Put the following 3 directories inside the BOINC_dev folder (omit any you don't need):\ [2] Put the following 3 directories inside the BOINC_dev folder (omit any you don't need):\
curl-7.17.1\ curl-7.17.1\
jpeg-6b\ jpeg-6b\
wxMac-2.6.3\ wxMac-2.8.7\
\ \
Important: do not change the names of any of these 3 directories.\ Important: do not change the names of any of these 3 directories.\
\ \

View File

@ -20,13 +20,14 @@
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
# #
# #
# Script to build the wxMac-2.6.3 library for BOINC as a Universal Binary # Script to build the wxMac-2.8.7 library for BOINC as a Universal Binary
# #
# by Charlie Fenton 10/26/07 # by Charlie Fenton 7/21/06
# Updated for wx-Mac 2.8.7 12/17/07
# #
# ## In Terminal, CD to the wxMac-2.8.7 directory.
## In Terminal, CD to the wxMac-2.6.3 directory. ## cd [path]/wxMac-2.8.7/
## cd [path]/wxMac-2.6.3/
## then run this script: ## then run this script:
## source [ path_to_this_script ] [ -clean ] ## source [ path_to_this_script ] [ -clean ]
## ##
@ -40,80 +41,21 @@ else
doclean="" doclean=""
fi fi
mv -n include/wx/mac/setup.h include/wx/mac/setup_obs.h if [ "$1" != "-clean" ] && [ -f src/build/Deployment/libwx_mac_static.a ]; then
cp -np include/wx/mac/setup0.h include/wx/mac/setup.h echo "Deployment libwx_mac_static.a already built"
# Create wx include directory if necessary
if [ ! -d src/build/include/wx ]; then
mkdir -p src/build/include/wx
fi
cp -n include/wx/mac/setup0.h src/build/include/wx/setup.h
if [ "$1" != "-clean" ] && [ -f src/build/Deployment/libwx_mac_ppc.a ]; then
echo "libwx_mac_ppc.a already built"
else else
xcodebuild -project src/wxWindows.xcodeproj -target static -configuration Deployment $doclean build GCC_VERSION_ppc=4.0 MACOSX_DEPLOYMENT_TARGET_ppc=10.3 SDKROOT_ppc=/Developer/SDKs/MacOSX10.3.9.sdk GCC_VERSION_i386=4.0 MACOSX_DEPLOYMENT_TARGET_i386=10.4 SDKROOT_i386=/Developer/SDKs/MacOSX10.4u.sdk ARCHS="i386 ppc" OTHER_CPLUSPLUSFLAGS="-fvisibility=hidden -fvisibility-inlines-hidden"
rm -f src/build/Deployment/libwx_mac.a
xcodebuild -project src/wxWindows.xcodeproj -target static -configuration Deployment $doclean build GCC_VERSION_ppc=4.0 MACOSX_DEPLOYMENT_TARGET_ppc=10.3 SDKROOT_ppc=/Developer/SDKs/MacOSX10.3.9.sdk ARCHS="ppc" EXECUTABLE_NAME="libwx_mac_ppc.a" OTHER_CFLAGS="-fvisibility=hidden -fvisibility-inlines-hidden"
if [ $? -ne 0 ]; then return 1; fi if [ $? -ne 0 ]; then return 1; fi
fi fi
if [ "$1" != "-clean" ] && [ -f src/build/Development/libwx_mac_static.a ]; then
if [ "$1" != "-clean" ] && [ -f src/build/Deployment/libwx_mac_i386.a ]; then echo "Development libwx_mac_static.a already built"
echo "libwx_mac_i386.a already built"
else else
xcodebuild -project src/wxWindows.xcodeproj -target static -configuration Development $doclean build GCC_VERSION_ppc=4.0 MACOSX_DEPLOYMENT_TARGET_ppc=10.3 SDKROOT_ppc=/Developer/SDKs/MacOSX10.3.9.sdk GCC_VERSION_i386=4.0 MACOSX_DEPLOYMENT_TARGET_i386=10.4 SDKROOT_i386=/Developer/SDKs/MacOSX10.4u.sdk OTHER_CPLUSPLUSFLAGS="-fvisibility=hidden -fvisibility-inlines-hidden"
rm -f src/build/Deployment/libwx_mac.a ## The above line does Development build for only the native architecture.
## Use line below instead for Universal Binary Development build
xcodebuild -project src/wxWindows.xcodeproj -target static -configuration Deployment $doclean build GCC_VERSION_i386=4.0 MACOSX_DEPLOYMENT_TARGET_i386=10.4 SDKROOT_i386=/Developer/SDKs/MacOSX10.4u.sdk ARCHS="i386" EXECUTABLE_NAME="libwx_mac_i386.a" OTHER_CFLAGS="-fvisibility=hidden -fvisibility-inlines-hidden" ## xcodebuild -project src/wxWindows.xcodeproj -target static -configuration Development $doclean build MACOSX_DEPLOYMENT_TARGET_ppc=10.3 SDKROOT_ppc=/Developer/SDKs/MacOSX10.3.9.sdk MACOSX_DEPLOYMENT_TARGET_i386=10.4 SDKROOT_i386=/Developer/SDKs/MacOSX10.4u.sdk ARCHS="i386 ppc" OTHER_CPLUSPLUSFLAGS="-fvisibility=hidden -fvisibility-inlines-hidden"
if [ $? -ne 0 ]; then return 1; fi
fi
if [ "$1" != "-clean" ] && [ -f src/build/Deployment/libwx_mac.a ]; then
echo "libwx_mac.a already built"
else
lipo -create src/build/Deployment/libwx_mac_ppc.a src/build/Deployment/libwx_mac_i386.a -output src/build/Deployment/libwx_mac.a
if [ $? -ne 0 ]; then return 1; fi
fi
if [ "$1" != "-clean" ] && [ -f src/build/Deployment/libwx_macd_ppc.a ]; then
echo "libwx_macd_ppc.a already built"
else
rm -f src/build/Deployment/libwx_macd.a
xcodebuild -project src/wxWindows.xcodeproj -target static -configuration Deployment $doclean build GCC_VERSION_ppc=4.0 MACOSX_DEPLOYMENT_TARGET_ppc=10.3 SDKROOT_ppc=/Developer/SDKs/MacOSX10.3.9.sdk ARCHS="ppc" EXECUTABLE_NAME="libwx_macd_ppc.a" OTHER_CFLAGS="-fvisibility=hidden -fvisibility-inlines-hidden"
if [ $? -ne 0 ]; then return 1; fi
fi
if [ "$1" != "-clean" ] && [ -f src/build/Deployment/libwx_macd_i386.a ]; then
echo "libwx_macd_i386.a already built"
else
rm -f src/build/Deployment/libwx_macd.a
xcodebuild -project src/wxWindows.xcodeproj -target static -configuration Deployment $doclean build GCC_VERSION_i386=4.0 MACOSX_DEPLOYMENT_TARGET_i386=10.4 SDKROOT_i386=/Developer/SDKs/MacOSX10.4u.sdk ARCHS="i386" EXECUTABLE_NAME="libwx_macd_i386.a" OTHER_CFLAGS="-fvisibility=hidden -fvisibility-inlines-hidden"
if [ $? -ne 0 ]; then return 1; fi
fi
if [ "$1" != "-clean" ] && [ -f src/build/Deployment/libwx_macd.a ]; then
echo "libwx_macd.a already built"
else
lipo -create src/build/Deployment/libwx_macd_ppc.a src/build/Deployment/libwx_macd_i386.a -output src/build/Deployment/libwx_macd.a
if [ $? -ne 0 ]; then return 1; fi if [ $? -ne 0 ]; then return 1; fi
fi fi