GSOC Day 1 – Merging the branches

Today, I worked on merging the tp04 branch with the changes that have since occurred in the mainline. With some excellent tips from mithro, I was able to complete the merge successfully.

First, I had to merge the submodules: libtpclient-py and libtpproto-py. This required creating tp04 branches in each:

git checkout –track -b tp04 origin/tp04

And then I had to do the merge:

git merge stable

This created a few minor conflicts in version lines, which were quickly resolved.

After a few commits and adds, I was able to merge a few final conflicts in the version and requirements files for tpclient-pywx.

The result:

The connect screen after the merge - the new Single Player button is visible.

After finishing this merge, I attempted to set up the server (tpserver-cpp), which presented more of a challenge than I had expected.

I first attempted to use to create the configure script, but ran into the problem that it was trying to find libtoolize and couldn’t – it turned out that Mac OS X calls it glibtoolize. I submitted a patch to fix the problem.

Then, I was unable to get the configure script to find Boost::Signals – it kept giving the error:

checking whether the Boost::Signals library is available… yes
configure: error: Could not link against  !

I was able, finally, to figure out with the help of llnz that this was due to MacPorts installing Boost’s libraries in /opt/local/lib. Using:

./configure –with-boost-libdir=/opt/local/lib

I was able to fix the problem.

Finally, I came upon another problem, still trying to configure. Even though both mzscheme and guile are installed, I have been unable to get the configure script to find them:

checking for scheme_basic_env in -lmzscheme… no
checking for scheme_basic_env in -lmzscheme3m… no
configure: WARNING: Not going to build MzScheme module
checking for guile-config… /opt/local/bin/guile-config
checking for scm_init_guile in -lguile… no
configure: WARNING: Cannot find Guile library
configure: error: Either MzScheme or Guile must be used.  Please install mzscheme or guile. See ./configure –help if one is already installed.

Even changing environment variables and using flags such as –with-guile=/opt/local/ or other paths has not fixed this problem – I’ll have to come back and look at it tomorrow.

Edit: After one last late-night debugging, I found the problem! Even though guile was being detected in the right location, the configure script was for some reason failing to add the -L/opt/local/lib to the compile command to test it. So it couldn’t find the guile library. This fixed the problem (note: terrible hack, I’ll tell llnz about the problem so he can use his automake expertise to fix it properly):

export LPATH=/opt/local/lib

So it was on to compiling for me. Only one small bug there – it seems I needed to include:

#include <sys/types.h>
#include <sys/stat.h>

So that the compiler could find the umask() function. Llnz has pushed that change as well.


~ by greywhind on May 23, 2009.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: