Tag Archives: snow leopard

Installing GEARMAN on MAC OSX 10.6


So, today I set about installing gearmand on my laptop, to test out some massively distributed computing ideas I’m working on. Turns out, it’s not just a matter of downloading the .dmg file and hitting ‘RUN’. Nope.. you better have 1/2 a pot of coffee and your copy of XCode installed on the machine or you are dead in the water.

Actually, you’re going to need more than that, if you are working with a vanilla Snow Leopard install.

Step 1 – install XCode:

But first things first. You can download XCode from the Apple website, or you can install it from your ‘Extras’ folder on the OS disk. I did the later, since the distro is pretty big, something like 600MB. Get that done first.

Step 2 – install MacPorts:

Now this is where the fun begins. Now, if you followed my other blog page on installing MacPorts, you can move onto Step 3. If you have not, then, proceed at hast to installing it (follow this link too).

Step 3 – install libevent

If you enjoyed installing MacPorts, you are going to LOVE this! 🙂 Now, the step of building libevent from source, probably not *required* but, after three installs that were not picked up by the gearmand, I though I’d just, do this the old fashioned way too. I have a writeup for installing libevent here (link to my page).

Step 3 – install wget

wget. How I love you, let me count the ways… MANY. wget is great. It’s a non-interactive text web client. Some of the cool things that wget can do, is recursively traverse a page, grabbing all the content, images, links pages (and their images, objects etc.). It’s also almost impossible to compromise with conventional XSS or other tricky DOM / JavaScript methods. No drive-by downloads here folks!

So, go ahead and get wget installed, because it’s going to be used to reach the final objective, retrieving gearman.

#root: port install wget

For me, on my lousy ComCrap connection, it took me a fairly long time. I think it’s safe to say, run the install command, and walk away. Check back in 10-15 minutes, see if it’s done. How will you konw if it worked? Simple, if you download the file in Step 5, it worked.

Step 5 – Finally, download and extract the Gearman bundle

This is where wget comes into play. Make sure you are in the directly you want. I suggest /opt. And execute the wget command to grab the distro. NOTE: The current distribution might be later than this (higher number). A check of the Gearman main site will probably give you the number you need, if this is not the latest and greatest:

#root: wget http://launchpad.net/gearmand/trunk/0.12/+download/gearmand-0.12.tar.gz
#root: gunzip gearmand-0.12.tar.gz,
#root: tar xvf gearmand-0.12.tar

Step 6 – BUILD!

Build the package. This part is the simplest of all the steps.

#root: ./configure
#root: make
#root: make install

YOU ARE DONE (installing that is)

Next article, will be a writeup on how to use Gearman, some time in the next week.


NOTE: This is part of a series of posts, centered around installation and evaluation of Gearman as a distributed scheduling product. Here are the other articles in this group:

Installing libevent on MAC OSX 10.6

So, today I set about installing libevent on my laptop. It’s a required library for system event handling applications. An example of that would be Gearman.

First off, you are going to need to have install MacPorts installed.

Step 1 – install MacPorts:

Now this is where the fun begins. Now, if you followed my other blog page on installing MacPorts, you can move onto Step 3. If you have not, then, proceed at hast to installing it (follow this link too).

Step 2 – install libevent

If you enjoyed installing MacPorts, you are going to LOVE this! 🙂 Now, the step of building libevent from source, probably not *required* but, after three installs that were not picked up by the gearmand, I though I’d just, do this the old fashioned way too.

First off, run the standard install. This did not toss errors for me on the normal install. You can stop with this Step after it installs and move of if you like. I’m going to show the extra couple of steps I took.

#root: port install libevent

Step 3 – locate tarball, extract and build from source

UPDATE: 6-JUN-2013. Get the latest tarball from [HERE].

Now, move the distribution for libevent, and untar the tarball. The path here is from my current build. The one you eventually get will possibly have a higher number (more recent build). Don’t freak out if this exact path is not on your system. If you are building from source, I’m going to assume you also know how to find things on your computer. The reason I built this from source, was to provide the option –prefix=/usr/local to configure. It establishes where it will deploy it’s libraries.

#root: cd local/var/macports/distfiles/libevent
#root: gunzip libevent-1.4.13-stable.tar.gz
#root: cd /opt
#root: tar xvf libevent-1.4.13-stable.tar
#root: cd libevent-1.4.13-stable
#root: make
#root: make install

Now, you should have a nice clean build of libevent on your computer. Having accomplished this, you can install an array of scheduling and system event driven applications.

Enjoy.

Installing MacPorts on MAC OSX 10.6

Good times, installing MacPorts that is. This is the basis for unleashing the power of LINUX/UNIX/BSD in full, on your MAC OSX system. One of the utilities I’ve used most is wget. I makes short work of taking apart websites you think might be malicious, basically defanging them. Fun times! 🙂

Now, to get MacPorts installed was not small effort, compared to how MANY blogs and posts on the net make it sound. Well, I’m here to tell you that, you got here because those didn’t work, right? Well, maybe you came here first. If that’s the case, I’m going to save some some frustration.

Now, first things first, I’m going to tell you to unlock the root user on your computer. Look, before you become totally indignant, let me beat you to the punch. I’ve been there, done that. I’ve been a professional UNIX (real UNIX HP-UX and SGI’s IRIX, IBM’s AIX just to name a couple) for over 20 years. I don’t want to hear about how ‘bad’ or ‘dangerous’ it is running as root. Tough beans, I don’t care. I’m not a paranoid ninny, I’m a code cowboy. Deal with it. If you prefer, you can prefix all your commands with the less ‘scary’ sudo, but don’t whine to me if something in this post does not work. Not that I’d care anyway.

So, now that we understand each other, let’s move on.

Step 1 — check out the MacPorts source code

I stumbled across this suggestion here: [ Snow Leopard and MacPorts ]. Worked like a charm to get a hold of the latest MacPorts build.

Using svn (aka Subversion, a most detestable tool IMHO), get the source code and plop it down in /opt. This is how I did that.

reguser#: su -
root#: cd /opt
root#: svn co http://svn.macports.org/repository/macports/trunk/base/ macports-svn

Step 2 – build the package from source

OK, I might have lost a couple of your ‘click-to-install’ types with that, but really, as long as it does not nuke itself (you’ll see that happen in other blog articles I have) it’s very straight forward. Run the three commands to build the package, and viola… update your environment and.. bingo.. you’re onto installing your new packages! 🙂

Here is how it’s done. First, move yourself into the package you just checked out:

root#: cd macports-svn

Next, you’ll want to run the configure script to test your system’s capability to compile, and to generate the primary make file:

root#: ./configure

Compile and make the install package:

root#: make

Finally, execute the install:

root#: make install

Step 3 – set your LIBDIR path

That’s about all there is to it! Now, you’ll probably want to edit your ~/.bash_source file, adding the future path of all these cool libs. Believe me when I tell you, it can save you a lot of pain and bewilderment later one, when you’ve compiled those critical libraries and the application you really want to install insists that it cannot find them.

So, here is how I do it, open the file:

root#: vi ~/.bash_profile

Now add the line for LIBDIR to the file and save it. The other line there is helpful too, might as well toss it in, because it makes running port just that much easier.

export LIBDIR=$LIBDIR:/usr/local/lib
export PATH=$PATH:/opt/local/bin:/opt/local/sbin

Now, just editing the file does not do much, unless you reload your user environment (this happens on login, but only at login, so.. you’ll need to do it manually here, using the source operation. Really, it’s much easier than it all might sound.

root#: source ~/.bash_profile

Step 4 – update with the latest Portfiles

So, that’s all I had to do, to get the base MacPorts installed. Now, there are two more commands that you should run now, to make sure that your MacPorts install is all up to date, and registered. Do you need to run both, probably not. But I did, and it worked for me. Now, documentation says this will happen automatically. Didn’t seem to for me, so I ran them myself, just to be certain.

root#: port -v selfupdate
root#: port -r selfupdate

That should just about do it. Now you are ready to install fun extras like webget, libevent and eventually, Gearman.

Now, if you are really picky about your OS’d filesystem, you might go and remove the macports source you checked out. I, personally, hate having to track source code down again, so unless I’m out of disk space, I leave it for future reference.