Chapter 5 in the Teaching Open Source textbook, the author walked through how to build the source code of Freeciv, which is an open source turn-based strategy game. As I am going through the author's walk through on building the code, I did not get past installing the dependencies because I experienced a few problems.
The first problem I came across was installing the atk (Accessibility Tool Kit) dependency. I found out later that it was not required, but once I installed it I noticed I was having problems opening new windows. When I clicked on something to open it, the task bar would notify me that it was opening, but after a few seconds the task bar notification would disappear and nothing would open. So, I decided that a restart might fix the issue. Once I restarted my machine, my Ubuntu would not load. It would just stay at the loading screen for several minutes, which isn't normal, so I had to uninstall Ubuntu and then reinstall it. I figured that the problem with it crashing on me was due to it not being updated, so the next time around I updated the system before initiating anymore dependency installs.
The next round, I had to install everything before the atk dependency, but this time since atk was optional I did not even bother with it. My next step was to install a dependency called Pango. While going through the install process for this package, I found that Pango required a backend called FreeType, so I had to go out and find this package and install it. Once I had it installed, I tried installing Pango again only to get the same message that FreeType was required to install Pango. So, I decided to open up a file in Pango to investigate further only to find that I have run into an Ubuntu crash again! It was the same problem as last time, so I decided that it was just too much trouble to keep going so I gave up with trying to get these dependencies installed.
So, from my whole experience I found that I had more trouble installing the dependencies than the author did. His dependency installs were all just single install commands from the terminal which turned out successful. Mine, on the other hand, were going out and finding the dependency tar balls online and installing from those since the packages could not be found in Ubuntu. Sometimes they would install in a breeze and sometimes they required other dependencies in order for the main dependencies to run!
I guess the lesson here is that in the real world of open source development, building code can sometimes be a breeze and other times can be a throw your computer across the room experience. This will be the third time that my Ubuntu machine has crashed, so it looks like I'm going to have to start from scratch again...which is very annoying, by the way.
No comments:
Post a Comment