How to build Haiku on Mac OS X etc2009. 3. 10. 23:13
Requirements
- You will need the Xcode Tools: use the installer on your Mac OS X Install DVD, or download the latest version from Apple Developer Connection (free registration required).
- You must be logged in as administrator to install some tools.
- MacPorts will also be required (see Step 3 for installation tips)
Step 1: Case-sensitive disk image
The Mac OS file system, HFS+, is case-insensitive by default. This causes troubles during the
build of some Haiku components, because of wrong headers inclusion ("String.h" (from Haiku) instead of "string.h" (from the system) for instance).
If your Mac OS X partition is not in case-sensitive HFS+ (which is very likely), you need to create a case-sensitive disk image and put Haiku buildtools and source code on it.
1) Open Disk Utility (in /Application/Utilities)
2) Click "New Image", and enter the following parameters:
- Volume name: You should enter a short name without special character or spaces.
- Volume size: this is just a size limit. Do not worry, you can enter here a big value (20GB or more), only the consumed space will be used on your hard drive.
- Volume format: Mac OS Extended (Case-sensitive, Journaled)
- Encryption: You should say "none", unless you really want to slow down Haiku building…
- Partitions: (Tiger users will not have this - just skip it): Choose No partition map.
- Image format: Choose “sparse disk image”.
The image is automatically mounted on the Desktop. If you want to remount it later, just double-click on the image file.
Step 2: Fetching the buildtools and the Haiku source code
Open a Terminal (in /Application/Utilities), and enter:
cd /Volumes/Haiku/
"/Volumes/Haiku" refers here (and in all this tutorial) to the mounted disk image name. I named it "Haiku", so if you chose another name, use it instead of "Haiku" after "/Volumes/".
Checkout the buildtools:
svn checkout svn://svn.berlios.de/haiku/buildtools/trunk buildtools
[ Note to Tiger users: IIRC, Subversion is not available with Xcode 2.5. You have to install it manually. ]
And the sourcecode:
svn checkout svn://svn.berlios.de/haiku/haiku/trunk haiku
You should now have two folders "haiku" and "buildtools" into the mounted disk image.
Step 3: Install required software
First, install MacPorts (A standard Installer package is provided)
Close your Terminal, and enter in a new one:
sudo port install gnuregex gawk
(You will be prompted for the administrator password of the current account - Do not worry if nothing you type shows after the Password prompt, this is intended ;-) )
If you get an error "port: command not found", create/edit your .bash_profile file :
nano ~/.bash_profile
Add at the end of the file :
export PATH=/opt/local/bin:$PATH export MANPATH=$MANPATH:/opt/local/share/man export INFOPATH=$INFOPATH:/opt/local/share/info
To save the file and quit the editor, type Ctrl-X, Y and Return.
You can now retry the port install...
command in a new Terminal.
After MacPorts finished installing the tools, install the modified Haiku jam:
cd /Volumes/Haiku/buildtools/jam make sudo ./jam0 install [Enter your password] cd ..
Reopen a new Terminal, and enter jam -v
.
You should get:
Jam 2.5-haiku-20080327. OS=MACOSX. Copyright 1993-2002 Christopher Seiwald.
Step 4: Let's Patch
With your favorite text editor, open the file [Mounted Disk Image]/buildtools/legacy/gcc/config.guess
.
Find (line 522):
*:FreeBSD:*:*) if test -x /usr/bin/objformat -a "elf" = "`/usr/bin/objformat`"; then echo ${UNAME_MACHINE}-unknown-freebsdelf else echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'` fi exit 0 ;;
Add before:
*:Darwin:*:*) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'` exit 0 ;;
Warning! When you copy-paste preformatted text from a web page, some versions of Safari replace every space with a no-break space.
You can use the search/replace function of your text editor to replaces these “spaces” with real ones. (or copy the text by hand… or use another browser…)
Save the file, and open [Mounted Disk Image]/buildtools/legacy/gcc/Makefile.in
.
Replace (line 144):
MAKEINFO = `if [ -f $$r/texinfo/makeinfo/Makefile ] ; \ then echo $$r/texinfo/makeinfo/makeinfo ; \ else echo makeinfo ; fi`
By:
MAKEINFO = `if which -s makeinfo ; \ then echo makeinfo ; \ else echo $$r/texinfo/makeinfo/makeinfo ; fi`
These patches are from the haiku-development mailing list, thank to their authors !
Step 5: Building the buildtools ;-)
Now, you can compile GCC2 with:
cd /Volumes/Haiku/haiku ./configure --build-cross-tools ../buildtools
If you want to build Haiku with GCC4, use :
./configure --build-cross-tools-gcc4 x86 ../buildtools/
If you do not now which one you should use, choose gcc2 : Original BeOS R5 binaries (and many Haiku optional packages) will not run on a gcc4 build.
./configure
has some more options: use ./configure --help
to list them.
After a (long) time, you should get:
binutils and gcc for cross compilation have been built successfully!
Step 6: Building Haiku
Since on-disk install from Mac OS X does not seems possible at this time, you will need to use an emulation or virtualisation software.
Instructions for VMWare Fusion:
The command:
cd /Volumes/Haiku/haiku jam -q haiku-vmware-image
will build a VMWare disk image: [Mounted Disk Image]/haiku/generated/haiku.vmdk
.
To use it, follow these steps:
- Create a folder at the root of the disk image.
- Copy
[Mounted Disk Image]/3rdparty/vmware/haiku.vmx
inside this folder, and edit the copy. - Change
ide0:0.fileName = "haiku.vmdk"
toide0:0.fileName = "../haiku/generated/haiku.vmdk"
. Save the file. - Double-clicking on the file should start VMWare Fusion and launch Haiku.
VMWare will create some files in the folder you put haiku.vmx.
If you want easy access to the virtual machine file, make an alias of the haiku.vmx file (or put it into the Dock).
Lanching this alias will mount the disk image and start the VM, automatically. Cool, isn't it ? ;-)
Instructions for other virtualisation/emulation software:
I haven't tested all of them, but Haiku should run in Q (free), Parallels Desktop (commercial) or VirtualBox (free).
Some of them (Parallels, …) can use the VMWare disk image (see above).
For the others, you can create a raw disk image with:
cd /Volumes/Haiku/haiku jam haiku-image
The image will be created in [Mounted Disk Image]/haiku/generated/haiku.image
.
'etc' 카테고리의 다른 글
Don't try to hack my System. (0) | 2009.03.12 |
---|---|
Don't try to hack my System. (0) | 2009.03.12 |
Windows와 MAC의 역사 (0) | 2009.03.10 |
Windows와 MAC의 역사 (0) | 2009.03.10 |
윈도우즈에서 걱정하는 백신 프로그램 (1) | 2009.03.10 |