Installing Sphinx on Mac OS X Leopard
Download the latest release from http://www.sphinxsearch.com/downloads.html
The usual
./configure
make
make installgives me an error:
g++ -Wall -g -D_FILE_OFFSET_BITS=64 -O3 -DNDEBUG -o indexer indexer.o libsphinx.a -L/opt/local/lib -L/opt/local/lib/mysql5/mysql -lmysqlclient -L/opt/local/lib -lz -lm -L/opt/local/lib -lssl -lcrypto -liconv -lexpat -L/usr/local/lib
Undefined symbols:
"_iconv_close", referenced from:
xmlUnknownEncoding(void*, char const*, XML_Encoding*)in libsphinx.a(sphinx.o)
"_iconv", referenced from:
xmlUnknownEncoding(void*, char const*, XML_Encoding*)in libsphinx.a(sphinx.o)
"_iconv_open", referenced from:
xmlUnknownEncoding(void*, char const*, XML_Encoding*)in libsphinx.a(sphinx.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [indexer] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1These two articles detail how you can resolve the error:
I hate TSA and laugh at their stupidity
Seriously, TSA is just wasting the government’s (hence our tax) money and does not provide much in return. They are known to harrass regular traverlers. I was once a victim while traveling on work. I wrote an essay about it but am not sure if I should post it…
FUCK TSA!
Another reason not to get the Macbook Air...
Apparently, the Macbook Air is known to disappear into thin air... LOL
Setting up Ruby on Rails, MySQL, Mongrel, memcached, and RMagick using MacPorts on Mac OS X 10.5 Leopard 5
I recently got the new Santa Rosa Macbook with Leopard pre-installed and I need to set up the Rails development environment.
Basically there are 3 ways to achieve that:
1. Locomotive
Locomotive method is simple and self contained. It works very well for Mac OS X 10.4 Tiger. However, the author acknowledges that Locomotive may not be Leopard ready.
2. Rails comes with Leopard
That’s right. Apple has included Rails by default, as noted by DHH. This sounds great. However, that means you will also have to manually install Imagick, RMagick, and all those other stuff that you need for development. Also, it may be harder to upgrade Ruby or Rails when new versions come out. You probably need to install from source to upgrade or what not…
3. MacPorts
You might already have your Rails environment set up using MacPorts. If that’s the case, why not just use that? Even if you are like me with a fresh installed Leopard, MacPorts still has its advantages. For example, you can use MacPorts to upgrade ruby in the future.
I used MacPorts to set up my Rails environment based on these other great articles:
1. Install the latest Xcode version for Leopard. Download from the Apple website.
2. Install the latest MacPorts version for Leopard. Download from the MacPorts website.
Run this to update MacPorts:
sudo port selfupdate3. Install Ruby, RubyGems, and Rails.
sudo port install ruby
sudo port install rb-rubygems
sudo gem update --system
sudo gem install rails -y4. Install MySQL (directly from Andrew Nesbitt, shown here for completeness).
sudo port install mysql5 +server
sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
sudo -u mysql mysql_install_db5
cd /opt/local ; sudo /opt/local/lib/mysql5/bin/mysqld_safe &
sudo ln -s /opt/local/var/run/mysql5/mysqld.sock /tmp/mysql.sock5. Install mongrel and mongrel_cluster.
sudo gem install mongrel
sudo gem install mongrel_cluster6. Install memcached.
sudo port install memcached
sudo gem install memcache-clientCreate a file called /Library/LaunchDaemons/com.danga.memcached.plist, and insert the following:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.danga.memcached</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/opt/local/bin/memcached</string>
<string>-d</string>
<string>-m</string>
<string>64</string>
<string>-u</string>
<string>www</string>
<string>-p</string>
<string>11211</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>In order to launch memcached on boot, enter this in the terminal:
sudo launchctl load -w /Library/LaunchDaemons/com.danga.memcached.plist7. Install ImageMagick and RMagick
sudo port install ImageMagick
sudo gem install rmagickNEW! There are now instructions on how to install ImageMagick and RMagick.
8. Optional – I found out if you have the loaded_plugins gem installed, you may see the following error when running script/console:
/opt/local/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:477:in `const_missing':NameError: uninitialized constant Gem::Version::NUM_REThe reason is MacPorts create two directories to store the RubyGems stuff in /opt/local/lib/ruby/site_ruby and /opt/local/lib/ruby/vendor_ruby. Ruby’s $LOAD_PATH looks in site_ruby first but the version.rb in site_ruby does not define Gem::Version::NUM_RE whereas the version.rb in vendor_ruby does. I’ve outlined the issue here. So I simply swap them:
sudo mv /opt/local/lib/ruby/site_ruby /opt/local/lib/ruby/vendor_ruby_tmp
sudo mv /opt/local/lib/ruby/vendor_ruby /opt/local/lib/ruby/site_ruby
sudo mv /opt/local/lib/ruby/vendor_ruby_tmp /opt/local/lib/ruby/vendor_rubyThis fixes the error and everything runs well for me, but I would like to hear the experts out there about why there are separate vendor_ruby and site_ruby.
That’s it. Hope you find this helpful and please report any problems.
My new Macbook so far
I ordered a white Santa Rosa white Macbook (comes with Leopard at 2.2GHz) from Amazon with $75 rebate and it took them a week to begin shipping on 11/19, but it arrived on 11/21, just in time for me to explore it over the Thanksgiving break.
Here’s what I think: So far so good. This is my first Mac, as well as my first Apple product :) I am happy that Amazon puts the Macbook in another brown box so that my Macbook box does not look trashy when it arrived. So kudos to Amazon. They are really a great place to shop at, as well as Newegg.
The box opening experience was cool but not spectacular. I have taken some pictures during the process. When I took the Macbook out, I got excited and was mad at myself putting my own fingerprints on it…LOL
Turned it on, saw the Apple logo, arrived at the Select Language screen. That’s it. I was not going to take anymore pictures to ruin my experience.
During the initial setup process, I heard the fan came on very loud several times and I was like: Shit, is my Macbook going to be this loud when I do anything. Fortunately, that goes away once the setup process is over with.
The display is beautiful and I had no problems with the glossy screen. When the display is turned off, it is glossy that you can see a reflection of yourself, but once you turn it on, it feels just like a regular LCD display, only brighter and sharper.
I am learning a lot of keyboard shortcuts and installed some applications, but there’s just a lot more stuff to explore with. So far so good.


