Compiling and Running Lagoon
From LagoonWiki
←Older revision | Newer revision→
Contents |
Getting a Copy
Right now the best way to get a copy is to download one of the tgz's we have laying around, hopefuly we will put one up soon.
Gyarados - The version of lagoon we will be using for the lagoon craft class is accessible to anyone with an account on the cs network. By the second third of the semester we will have write access set up for students, hopefully with some clever branching so everyones projects can get along. Downloading via svn:
svn checkout svn+ssh://username@cse.unr.edu/staff/sushil/svnroot/gyarados
It may ask for your password several times if you don't have automated logins, after which it should cleanly download it for you.
--Enkiduo 12:12, 1 September 2006 (PDT)
Bootstrapping
Lagoon requires several environment variables to be setup
`cd lagoon/bin`
`source setup.sh`
will run a quick script ot load those variables.
NOTE: This has to be done for EVERY shell script that is using lagoon.
As a more permanent solution you can copy the contests of setup.sh into your .bashrc, and set the NEBULADIR variable to be a link to the root lagoon directory -> /home/whoami/lagoon
If you are on windows you will have to manually set several environment variables, they are the same as those in setup.sh, ignore the aliases.
--Enkiduo 18:09, 9 June 2006 (PDT)
Compiling
`cd lagoon`
`make`
Will first compile the packages that lagoon uses, which we have included in the distribution, and then compile lagoon itself. Compiling lagoon is a two step process, firstly creating the makefiles and then compiling all of the files. The complete process takes somewhere around 20 minutes.
--Enkiduo 18:09, 9 June 2006 (PDT)
Required Libraries
- tcl
- tk
- glut
- python2.4 / 2.3
- wxPython
- devIL -> included
- ode -> included
- tnl -> included
- libtomcrypt -> included
--Enkiduo 12:14, 1 September 2006 (PDT)
Optional
Library install command for FC5
- > yum install tcl-devel tk-devel glut-devel python-devel wxPython-devel DevIL-devel
--Npenrod 12:57, 14 September 2006 (PDT)
Library install command for Gentoo 2006.1
Depending on what you already have on your system...
- > emerge -va tcl tk freeglut wxpython devil
You must USE unicode for some of the stuff, or Lagoon will not build. In the above, wxpython will cause wxGTK to be built, but if it was already built without unicode you will have to rebuild it.
You may want to emerge wxpython-docs as well.
Library install command for Ubuntu
See Compiling on Ubuntu.
Known Compilation Issues
We do our best to get lagoon to compile smoothly, but sometimes there are still bumps in the road. As people encounter said bumps feel free to post them and any solutions discovered here so that others may learn.
1. Infinite compilation
Sometimes, generally due to incorrect time settings on the files, the compilation will run in an infinite loop as it creates the makefiles, to fix this just ctrl-c the compilation and run it again. If this continues to a `touch -R .` in the lagoon directory, to set everyones time stamp to the current time, note this will then require a complete rebuild. --Enkiduo 18:09, 9 June 2006 (PDT)
2. G++32 Problems
OS: FC5
There is an issue of finding G++32 for Fedora. How do you install this command it does not appear to be part of Fedora Core.
Solution:
Get the latest version of Lagoon, we have stopped using g++32
3. Tcl.h not found
OS: FC5
Solution:
Install tcl / tk you can download them here --- http://www.tcl.tk/software/tcltk/downloadnow84.html. It should be a straightforward tar xvzf; ./configure; make; make install to get them installed from there.
4. cannot restore segment prot
OS: FC5
/home/towle/gyarados/bin/linuxd/libenkiduo.so: cannot restore segment prot
Solution:
The runtime error is resolved by disabling SELinux. To do so, change the SELinux policy line 'SELINUX=enforcing' in '/etc/selinux/config' to either 'permissive' or 'disabled', and restart the system. SELinux's 3 settings are: disabled: Don't do any SELinux checks permissive: Warn if any SELinux rules are broken, but don't stop the access enforcing: Don't allow anything that breaks any of the SELinux rules.
I have no idea what SELinux is, as I haven't used it, but it causes problems for some reason, and needs to be disabled on FC5.
