OSX 10.6.4 Snow Leopard: Difference between revisions
No edit summary |
No edit summary |
||
Line 195: | Line 195: | ||
find . | grep icu | find . | grep icu | ||
popd | popd | ||
Revision as of 01:46, 2 June 2011
Building Exodus on Mac is similar to building on Linux.
This build was performed on OSX 10.6.4 (Snow Leopard) on Macbook Pro
Installing C++ compiler
Insert mac osx install disk Open optional utilities folder Open xcode Follow instructions
The XCODE package includes subversion
Installing Postgres
This is Postgres 9.0.1 but you can use any version back to 8.1.0
http://www.postgresql.org/download/macosx
http://www.enterprisedb.com/products/pgdownload.do#osx
https://www.enterprisedb.com/getfile.jsp?fileid=1517
Once downloaded, just do a standard install and remember the admin user password.
Building ICU, Boost and Exodus
#!/bin/bash # 1. Build and install ICU cd ~ #svn co http://source.icu-project.org/repos/icu/icu/tags/release-4-8/ icu rm icu4c-4_8-src.tgz curl -L -O http://download.icu-project.org/files/icu4c/4.8/icu4c-4_8-src.tgz tar xvf icu4c-4_8-src.tgz cd icu/source ./configure --enable-extras=no \ --enable-extras=no \ --enable-icuio=no \ --enable-layout=no \ --enable-tests=no \ --enable-samples=no make clean make sudo make install # 2. Build and install Boost cd ~ rm -f boost_1_46_1.tar.gz #wget http://sourceforge.net/projects/boost/files/boost/1.46.1/boost_1_46_1.tar.gz curl -L -O http://sourceforge.net/projects/boost/files/boost/1.46.1/boost_1_46_1.tar.gz echo untarring boost, be patient, lots of files. tar xfz boost_1_46_1.tar.gz cd boost_1_46_1 #bjam should say "has_icu builds: yes" otherwise check your icu installation above ./bootstrap.sh sudo ./bjam --with-date_time --with-filesystem --with-regex --with-system --with-thread install -a # 3. Build and install Exodus export PATH=/Library/PostgreSQL/9.0/bin/:$PATH #see XCODE's Cross-Development Programming Guide:Configuring a Makefile-Based Project #export MACOSX_DEPLOYMENT_TARGET=10.4 cd ~ svn co HTTPS://exodusdb.googlecode.com/svn/trunk/ exodus cd ~/exodus #./configure --with-sysroot=/Developer/SDKs/MacOSX10.4.0.sdk ./configure make clean #in case half-built with wrong boost libs make sudo make install # 4. Configure Exodus for Postgres and vice versa After exodus is installed, to setup postgres do the following. configexodus # 5. Test Exodus #To get an exodus console (sets the right environment variables) exodus testsort #To see the exodus command line utilities and find some documentation on using exodus ls cli/src
Packaging Exodus
You need Bitrock http://installbuilder.bitrock.com/installbuilder-enterprise-7.2.0-osx-installer.app.zip
cd ~exodus #cp configlocalEXAMPLE.cmd configlocal.cmd nano configlocal.cmd
/pack.sh
General Info
Installing Ports
This is not needed for Exodus but it is useful to install unix-like tools on mac
- http://www.macports.org/install.php
- http://distfiles.macports.org/MacPorts/MacPorts-1.9.1-10.6-SnowLeopard.dmg
At the console command prompt
sudo port -v selfupdate sudo port install <put your favourite packages>
Dependencies
otool -L /usr/local/lib/libexodus*.dylib
/usr/local/lib/libexodus-11.5.0.dylib: /usr/local/lib/libexodus-11.5.0.dylib (compatibility version 1.0.0, current version 1.0.0) libpq.5.dylib (compatibility version 5.0.0, current version 5.3.0) libboost_date_time.dylib (compatibility version 0.0.0, current version 0.0.0) libboost_filesystem.dylib (compatibility version 0.0.0, current version 0.0.0) libboost_thread.dylib (compatibility version 0.0.0, current version 0.0.0) libboost_regex.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 103.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 123.0.0)
otool -L /usr/local/lib/libboost_*.dylib
libboost_date_time.dylib: libboost_date_time.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 123.0.0) libboost_filesystem.dylib: libboost_filesystem.dylib (compatibility version 0.0.0, current version 0.0.0) libboost_system.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 123.0.0) libboost_regex.dylib: libboost_regex.dylib (compatibility version 0.0.0, current version 0.0.0) libicui18n.48.dylib (compatibility version 48.0.0, current version 48.0.0) ../lib/libicudata.48.0.dylib (compatibility version 48.0.0, current version 48.0.0) libicuuc.48.dylib (compatibility version 48.0.0, current version 48.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 123.0.0) libboost_system.dylib: libboost_system.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 123.0.0) libboost_thread.dylib: libboost_thread.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 123.0.0)
Uninstalling ICU and Boost
#!/bin/bash #ICU pushd /usr/local/include sudo rm -rf unicode layout cd /usr/local/bin sudo rm derb genbrk gencfu gencnval genctd genrb icu-config icuinfo makeconv uconv cd /usr/local/lib sudo rm libicu* sudo rm -rf icu sudo rm pkgconfig/icu*.pc cd /usr/local/share sudo rm -rf icu sudo rm -f man/man1/icu-config.1 sudo rm -f man/man8/icupkg.8 cd /usr/local/sbin sudo rm -f icupkg cd /usr/local find . | grep icu popd #Boost pushd /usr/local/include sudo rm -rf boost cd /usr/local/lib sudo rm libboost* sudo rm pkgconfig/boost*.pc cd /usr/local find . | grep boost popd