Difference between revisions of "HowTo compile on Mac"

From AMule Project FAQ
Jump to: navigation, search
(small corrections)
Line 15: Line 15:
 
# "Getting ADC ID"->"Log In"->"Download Software"->"Developer Tools"->"Download Xcode Tools last release">"Install"
 
# "Getting ADC ID"->"Log In"->"Download Software"->"Developer Tools"->"Download Xcode Tools last release">"Install"
 
# Install (or verify installation if already installed) [http://fink.sourceforge.net Fink], since [http://www.gnu.org/software/gettext gettext] and [[wxMac]] are installed along with [http://fink.sourceforge.net Fink], from http://fink.sourceforge.net/download
 
# Install (or verify installation if already installed) [http://fink.sourceforge.net Fink], since [http://www.gnu.org/software/gettext gettext] and [[wxMac]] are installed along with [http://fink.sourceforge.net Fink], from http://fink.sourceforge.net/download
# Install [http://www.gnu.org/software/gettext gettext] and [[wxMac]] ([[wxMac]] is only available through [http://fink.sourceforge.net Fink] [http://fink.sourceforge.net/faq/usage-fink.php?phpLang=en#unstable unstable] on [http://www.apple.com/macosx MacOS] 10.3. If you are using [http://fink.sourceforge.net Fink] stable or [http://www.apple.com/macosx MacOS] 10.2 or earlier, either [http://fink.sourceforge.net/faq/usage-fink.php?phpLang=en#unstable upgrade Fink to unstable] and/or [http://www.apple.com/macosx MacOS] to 10.3, or check the  [[#Installing wxMac form sources|Installing wxMac form sources section]] of this document and then go on with this section) through [http://fink.sourceforge.net Fink]. Read [http://fink.sourceforge.net/download Fink's installation guide] to learn how to install applications through [http://fink.sourceforge.net Fink] (the [http://www.gnu.org/software/gettext gettext] package is ''gettext'' and the [[wxMac]] package is ''wxmac'' and ''wxmac-shlibs''),
+
# Install [http://www.gnu.org/software/gettext gettext] and [[wxMac]] ([[wxMac]] is only available through [http://fink.sourceforge.net Fink] [http://fink.sourceforge.net/faq/usage-fink.php?phpLang=en#unstable unstable] on [http://www.apple.com/macosx MacOS] 10.3. If you are using [http://fink.sourceforge.net Fink] stable or [http://www.apple.com/macosx MacOS] 10.2 or earlier, either [http://fink.sourceforge.net/faq/usage-fink.php?phpLang=en#unstable upgrade Fink to unstable] and/or [http://www.apple.com/macosx MacOS] to 10.3, or check the  [[#Installing wxMac from sources|Installing wxMac from sources section]] of this document and then go on with this section) through [http://fink.sourceforge.net Fink]. Read [http://fink.sourceforge.net/download Fink's installation guide] to learn how to install applications through [http://fink.sourceforge.net Fink] (the [http://www.gnu.org/software/gettext gettext] package is ''gettext'' and the [[wxMac]] package is ''wxmac'' and ''wxmac-shlibs''),
 
# Read the documentation at http://fink.sourceforge.net/download to learn how to install [[wxMac]].
 
# Read the documentation at http://fink.sourceforge.net/download to learn how to install [[wxMac]].
 
# Make ''amule'' dir in your home directory: ''mkdir ~/amule''
 
# Make ''amule'' dir in your home directory: ''mkdir ~/amule''
 
# Enter the ''amule'' directory you just created: ''cd ~/amule''
 
# Enter the ''amule'' directory you just created: ''cd ~/amule''
# Get [[aMule]]'s latest source code (aMule 2.0.0-rc8 sourcecode: [http://download.berlios.de/amule/aMule-2.0.0rc8.tar.bz2 http://download.berlios.de/amule/aMule-2.0.0rc8.tar.bz2]) and place it in your ''~/amule'' directory: curl -O http://download.berlios.de/amule/aMule-2.0.0rc8.tar.bz2
+
# Get [[aMule]]'s latest source code (aMule 2.0.0-rc8 sourcecode: [http://download.berlios.de/amule/aMule-2.0.0rc8.tar.bz2 http://download.berlios.de/amule/aMule-2.0.0rc8.tar.bz2]) and place it in your ''~/amule'' directory: ''curl -O !http://download.berlios.de/amule/aMule-2.0.0rc8.tar.bz2''
 
# Extract it: ''tar -xjf aMule-2.0.0rc8.tar.bz2''
 
# Extract it: ''tar -xjf aMule-2.0.0rc8.tar.bz2''
 
# Enter [[aMule]]'s sources directory: ''cd aMule-2.0.0rc8''
 
# Enter [[aMule]]'s sources directory: ''cd aMule-2.0.0rc8''
Line 32: Line 32:
 
## Optionally, if you if you decided to remove the extracted [[aMule]] sources, remove the ''~/amule'' directory (which should be empty by now): ''rmdir ~/amule''
 
## Optionally, if you if you decided to remove the extracted [[aMule]] sources, remove the ''~/amule'' directory (which should be empty by now): ''rmdir ~/amule''
  
== Installing [[wxMac]] form sources ==
+
== Installing [[wxMac]] from sources ==
  
 
Only follow this part of the guide if [[wxMac]] is not available through your [http://fink.sourceforge.net Fink] installation or if you really know what you're doing. In any other case, just jump to the next section.
 
Only follow this part of the guide if [[wxMac]] is not available through your [http://fink.sourceforge.net Fink] installation or if you really know what you're doing. In any other case, just jump to the next section.

Revision as of 11:17, 6 January 2005

The following steps will lead you to install aMule in your MacOS X box.

You can get also the most recent binnary of aMule for MacOS X dowloading this: http://download.berlios.de/amule/aMule.zip aMule.zip


This HowTo is written to compile and install aMule 2.0.0-rc8. It will not work for older versions. Please note that you should always download the latest aMule version available.

ATTENTION: wxMac 2.5.3 has a bug which causes aMule 2.0.0-rc8 to crash just after starting up :-(. The only work-around to compile wxMac without this bug and to have aMule 2.0.0-rc8 running is to pull the wxWidgets sources from CVS! See [1] to see how to do that. Then cd to the newly created directory wxWidgets and continue with step 6 in the chapter "Installing wxMac form sources" below.

NOTE: This document explains how to download files using curl. However, curl might not be installed on your system: either install it (you can use Fink to instal it) or download the files with whatever application you want (maybe your web browser), but place then in the directory that's being used on each part of the guide, otherwise the commands that are shown here will not work.

Compiling and installing aMule

  1. Install Xcode Tools from http://developer.apple.com/tools/download
  2. "Getting ADC ID"->"Log In"->"Download Software"->"Developer Tools"->"Download Xcode Tools last release">"Install"
  3. Install (or verify installation if already installed) Fink, since gettext and wxMac are installed along with Fink, from http://fink.sourceforge.net/download
  4. Install gettext and wxMac (wxMac is only available through Fink unstable on MacOS 10.3. If you are using Fink stable or MacOS 10.2 or earlier, either upgrade Fink to unstable and/or MacOS to 10.3, or check the Installing wxMac from sources section of this document and then go on with this section) through Fink. Read Fink's installation guide to learn how to install applications through Fink (the gettext package is gettext and the wxMac package is wxmac and wxmac-shlibs),
  5. Read the documentation at http://fink.sourceforge.net/download to learn how to install wxMac.
  6. Make amule dir in your home directory: mkdir ~/amule
  7. Enter the amule directory you just created: cd ~/amule
  8. Get aMule's latest source code (aMule 2.0.0-rc8 sourcecode: http://download.berlios.de/amule/aMule-2.0.0rc8.tar.bz2) and place it in your ~/amule directory: curl -O !http://download.berlios.de/amule/aMule-2.0.0rc8.tar.bz2
  9. Extract it: tar -xjf aMule-2.0.0rc8.tar.bz2
  10. Enter aMule's sources directory: cd aMule-2.0.0rc8
  11. Prepare the compilation (thanks to one_2_one and Babboia for his test&fix): ./configure --disable-systray --disable-gtk --with-wx-config=/sw/bin/wx-config
  12. And compile it: make
  13. Optional: You can reduce the size of aMule from 44MB to 3MB by doing the following (anyway, this will make the aMule binnary loose debug info, so you'll be unable to report problems to the aMule Team to make aMule a better program, which it is not recommended): strip src/amule
  14. Copy the amule binnary to the app-Container directory: cp src/amule amule.app/Contents/MacOS/
  15. And copy amule.app directory to your Applications folder: cp -R amule.app /Applications
  16. If everything went ok, you can safely remove the downloaded packages:
    1. Remove aMule's sources package: rm ~/amule/aMule-2.0.0rc8.tar.bz2
    2. Optionally remove the extracted aMule sources (not recommended, since you might want to compile it again someday): rm -r ~/amule/aMule-2.0.0rc8
    3. Optionally, if you if you decided to remove the extracted aMule sources, remove the ~/amule directory (which should be empty by now): rmdir ~/amule

Installing wxMac from sources

Only follow this part of the guide if wxMac is not available through your Fink installation or if you really know what you're doing. In any other case, just jump to the next section.

  1. Create a directory where all the work will be done: mkdir ~/wxmac
  2. Enter that directory: cd ~/wxmac
  3. Download wxMac sources: curl -O ftp://biolpc22.york.ac.uk/pub/2.5.3/wxMac-2.5.3.tar.gz
  4. Extract the file: tar -xzf wxMac-2.5.3.tar.gz
  5. Enter the extracted sources' directory: cd wxMac-2.5.3
  6. Directory build should already be there. If not, create it with: mkdir build
  7. Now enter build directory: cd build
  8. Prepare the compilation: ../configure
  9. And compile: make
  10. Now install wxMac compilation: sudo make install
  11. Get back to your home directory, you're done: cd ~
  12. If everything went ok, you can safely remove:
    1. wxMac's sources package: rm wxMac-2.5.3.tar.gz
    2. Optionally remove the extracted wxMac sources (not recommended, since you might want to compile it again someday): rm -r ~/wxmac

NOTE: Since you're installing wxMac from sources instead of through Fink, use ./configure --disable-systray --disable-gtk --with-wx-config=/usr/local/bin/wx-config as your configure command at aMule's compilation instead of ./configure --disable-systray --disable-gtk --with-wx-config=/sw/bin/wx-config

Problems and solutions

  • If Fink reports something like: After unpacking 11.2GB will be freed, don't be afraid. Fink has evolved into a different way of managing packet's size and some old ("old": at least some months old) packages' sizes aren't handled correctly on the output. If this is your case, devide the number by 1024. So, what the above example really means is: After unpacking 11.2MB will be freed.
  • If you get an error like this: You cannot open the application "amule" because it may be damaged or incomplete, right click on amule, then click on Show Packages Contents, go to "Contents">"MacOS"> and double click on amule. Next time you start from amule.app it will run fine. If you still get the same error, move amule.app to the desktop and run it from there.

Older releases

In older releases (aMule 2.0.0-rc7 and earlier), the app container wasn't included with the sources. If you are compiling any of this older releases and do not whish to upgrade (remember it is strongly recommended to upgrade to the latest release), you can:

You must extract the app container in your amule directory: possible ~/amule To extract it: tar -xjf aMule-App-Container.tar.bz2

NOTE: If the app-Container failed to extract try running this command instead of the app-Container extraction step: mkdir -p amule.app/Contents/MacOS

Once the installation is finished, you can safely remove the app-Container package: rm aMule-App-Container.tar.bz2