[This is the first message in what unfortunately must become a series. I am trying to install Trac - a package that bundles together issue tracking, source code control (via svn) and a wiki. It is just an experiment for home use, but the installation has not been easy. Read on and feel the pain.]
I spent a quiet evening at home trying to get Trac [1] and Subversion [2] up and running on OS X. This post is more of a HOWTO than an explanation of "vendor selection," but suffice to say that I like the idea of source control, issue tracking, and a wiki being all wrapped up into one thing - for free! Anyway, if you are going to try this yourself on OS X, be sure to refer to the wiki page [3] on the topic.
Using OS X, the easiest way to get this stuff going it to use fink [4], or so the wiki told me. The first problem I ran into was that my installation of fink could not find the sqlite package. This fella [5] ran into the same problem. The fix was to instruct fink to look in the unstable packages for sqlite - like so:
1) vi /sw/etc/fink.conf
2) Search for Trees:
3) add "unstable/main unstable/crypto" (without the quotes) to the end of the Trees: line
I was then able to continue on to the next problem by entering the command:
> fink install sqlite sqlite-dev sqlite-shlibs
This did lots of stuff, but then failed with the following message:
Failed: No mirror site list file found for mirror 'gnu'.
This problem is solved [6] by installing fink-mirrors with the following command:
> fink install fink-mirrors
I then reissued the fink install sqlite etc. command and was off and running! Lots of downloading, lots of compiling, reminds of the good old days of building my linux kernel. After many minutes of updates and compilations and linkings, the installation of sqlite finally succeeded.
Next I was instructed to install subversion itself (I think) with the following command:
## DIDN'T WORK
> apt-get install svn svn-client svn-swig-py23
Which didn't work for me. Something about not finding the dist or some such nonsense. On a hunch, I tried the following:
> fink install svn svn-client svn-swig-py23
And was then launched on to another installation odyssey of those 3 packages and some 50 additional dependencies. Is this correct? I don't really know. But the last thing I want to do is *not* let fink do its thing.
After some unknown amount of time (I went to bed while this last one was running) I
began the next step - installing the clearsilver template engine. After downloading the package from clearsilver.net [7], I ran the suggested commands:
> ./configure --prefix=/sw/ --with-python=/sw/bin/python2.3
> make install
but this failed with the following message:
Running ruby test
dyld: /usr/bin/ruby Undefined symbols:
_cgi_register_strfuncs
Failed Ruby Test: hdftest.rb
See hdftest.out and hdftest.err
The issue here turned out to be a problem with the configure script. Namely, it was looking in lots of logical locations to find my installation of ruby, but was NOT looking in /sw which is where fink puts it. I fixed this by going into the configure script in the clearsilver top level directory, searching for "ruby_search_path", and inserting /sw into the space-delimited list of directories to search for ruby in.
This change got me a little further - on to the link stage of one of the ruby directories, but once there I ran into the same problem again.
So now I have to go to work and do tribe.net things. So I will leave this work to be completed later on. I feel like I am close now, because I know that the symbol that is being searched for is in fact in the clearsilver hierarchy. I have already tried to brut force that symbol into the link line that is now failing but that resulted in more errors occurring. Gonna have to do a little googling to figure that out.
[1] projects.edgewall.com/trac/
[2] subversion.tigris.org/
[3] projects.edgewall.com/trac/wi...racOnOsx
[4] fink.sourceforge.net/
[5] lists.edgewall.com/archive/...1245.html
[6] sourceforge.net/mailarchive/forum.php
[7] www.clearsilver.net/downloads/
I spent a quiet evening at home trying to get Trac [1] and Subversion [2] up and running on OS X. This post is more of a HOWTO than an explanation of "vendor selection," but suffice to say that I like the idea of source control, issue tracking, and a wiki being all wrapped up into one thing - for free! Anyway, if you are going to try this yourself on OS X, be sure to refer to the wiki page [3] on the topic.
Using OS X, the easiest way to get this stuff going it to use fink [4], or so the wiki told me. The first problem I ran into was that my installation of fink could not find the sqlite package. This fella [5] ran into the same problem. The fix was to instruct fink to look in the unstable packages for sqlite - like so:
1) vi /sw/etc/fink.conf
2) Search for Trees:
3) add "unstable/main unstable/crypto" (without the quotes) to the end of the Trees: line
I was then able to continue on to the next problem by entering the command:
> fink install sqlite sqlite-dev sqlite-shlibs
This did lots of stuff, but then failed with the following message:
Failed: No mirror site list file found for mirror 'gnu'.
This problem is solved [6] by installing fink-mirrors with the following command:
> fink install fink-mirrors
I then reissued the fink install sqlite etc. command and was off and running! Lots of downloading, lots of compiling, reminds of the good old days of building my linux kernel. After many minutes of updates and compilations and linkings, the installation of sqlite finally succeeded.
Next I was instructed to install subversion itself (I think) with the following command:
## DIDN'T WORK
> apt-get install svn svn-client svn-swig-py23
Which didn't work for me. Something about not finding the dist or some such nonsense. On a hunch, I tried the following:
> fink install svn svn-client svn-swig-py23
And was then launched on to another installation odyssey of those 3 packages and some 50 additional dependencies. Is this correct? I don't really know. But the last thing I want to do is *not* let fink do its thing.
After some unknown amount of time (I went to bed while this last one was running) I
began the next step - installing the clearsilver template engine. After downloading the package from clearsilver.net [7], I ran the suggested commands:
> ./configure --prefix=/sw/ --with-python=/sw/bin/python2.3
> make install
but this failed with the following message:
Running ruby test
dyld: /usr/bin/ruby Undefined symbols:
_cgi_register_strfuncs
Failed Ruby Test: hdftest.rb
See hdftest.out and hdftest.err
The issue here turned out to be a problem with the configure script. Namely, it was looking in lots of logical locations to find my installation of ruby, but was NOT looking in /sw which is where fink puts it. I fixed this by going into the configure script in the clearsilver top level directory, searching for "ruby_search_path", and inserting /sw into the space-delimited list of directories to search for ruby in.
This change got me a little further - on to the link stage of one of the ruby directories, but once there I ran into the same problem again.
So now I have to go to work and do tribe.net things. So I will leave this work to be completed later on. I feel like I am close now, because I know that the symbol that is being searched for is in fact in the clearsilver hierarchy. I have already tried to brut force that symbol into the link line that is now failing but that resulted in more errors occurring. Gonna have to do a little googling to figure that out.
[1] projects.edgewall.com/trac/
[2] subversion.tigris.org/
[3] projects.edgewall.com/trac/wi...racOnOsx
[4] fink.sourceforge.net/
[5] lists.edgewall.com/archive/...1245.html
[6] sourceforge.net/mailarchive/forum.php
[7] www.clearsilver.net/downloads/
-
Re: Trac installation woes on Mac OS X...
Thu, May 19, 2005 - 7:38 PMSUCCESS!
Using projects.edgewall.com/trac/wi...racOnOsx I was now able to install Trac. All of the dependencies came down via fink, and I built everything from source flawlessly. Mind you, it did take quite a while, but that is the way it goes when you are downloading packages and their many dependencies. As long as the program handled it for me, I had plenty of time to watch the compilation lines go by and surf the web.
Once everything was all together, actually getting Apache set up was a little tricky, but mostly because the stock OS X directories are quite different from your vanilla UNIX setup. Once I got to the bottom of all that, which is a process that I didn't really document, everything worked correctly. So what went wrong you ask. Let me try to count the things:
1) SVN was not yet initialized. Duh. I had to set up the SVN repository before I could have a project management software connect to it.
2) Permissions permissions permissions. I had set up trac in /usr/local/trac as root, and I had to get the www user privilege to get there.
3) Apache configuration. This is trickier for the non-Apache initiated, which I was and still am. Things have to be in the right order in httpd.conf for one thing. The Trac install guide gives you all the info that you need to include in the Apache config for things to work, but it is up to you to put it in the right place. Aliases go with Aliases. <Location> directives go with <Location> directives, etc. Furthermore, if you go with the stock httpd.conf that came on my version of OS X, mod_env will be disabled which means that the configuration info provided in the Trac installation will not work as it uses a SetEnv directive to tell Trac where to find stuff. Therefore, you need to uncomment mod_env for this to work.
One of the most important things, though it to *not* use the System Preferences dialog box to stop and start your Apache configuration. This is a pain, and if you have syntax errors in your httpd.conf, you don't know what they are and the UI doesn't let you stop and start again. This is kind of a drag. The better way to do this is to just type in httpd at the command prompt at root and see if the thing actually starts.
So now I have SVN for version control and a project wiki and version control up and running. You can see for youself at daflink.net/cgi-bin/trac.cgi ! Now back to your regularly scheduled skills update...