Setup of Development Environment for Debian: Difference between revisions
Line 35: | Line 35: | ||
== xgettext and msgfmt == | == xgettext and msgfmt == | ||
* apt-get install gettext | * apt-get install gettext | ||
if <code>nant translationCompilePOFile</code> results in this error: | |||
/usr/bin/msgfmt: C# compiler not found, try installing pnet | |||
solution: ln -s /usr/bin/gmcs /usr/bin/mcs | |||
== dos2unix == | == dos2unix == |
Revision as of 13:11, 5 September 2011
Required software
Bazaar
- TODO: how to install bazaar. does
apt-get install bzr
return a version that is compatible with bzr 2.2 on the server?
Mono 2.x
- need to use Lenny Backports, since Lenny only provides Mono 1.x
echo "deb http://www.backports.org/debian lenny-backports main contrib non-free" >> /etc/apt/sources.list apt-get update apt-get install debian-backports-keyring apt-get -t lenny-backports install mono-runtime mono-xbuild libmono-microsoft-build2.0-cil monodevelop
- if you get this error: ICSharpCode.SharpZipLib.Tar.TarArchive does not contain a definition for Close
- solution: sudo gacutil -u ICSharpCode.SharpZipLib; sudo gacutil --install csharp/ThirdParty/ICSharpCode/ICSharpCode.SharpZipLib.dll
- another problem without a solution yet: error CS0006: cannot find metadata file `ICSharpCode.SharpZipLib.dll'
- solution: I realised the symbolic link was broken.
sudo rm /usr/lib/mono/2.0/ICSharpCode.SharpZipLib.dll sudo ln -s /usr/lib/mono/gac/ICSharpCode.SharpZipLib/0.85.5.452__1b03e6acf1164f73/ICSharpCode.SharpZipLib.dll /usr/lib/mono/2.0/ICSharpCode.SharpZipLib.dll
NAnt
- apt-get -t lenny-backports install nant
- Problem: NAnt 0.85 (Build 0.85.2478.0; release; 10/14/2006) does not seem to support the task "solution" on Linux?
Invalid element <solution>. Unknown task or datatype.
- Problem: exec spawn is not supported in 0.85
- Solution: copy binary zip from sourceforge (http://nant.sourceforge.net/nightly/latest/nant-bin.tar.gz), unzip, and change /usr/bin/nant to point at the latest NAnt.exe
- to avoid all the warnings "Could not load file or assembly" run: apt-get install libmono-microsoft-build2.0-cil
- to avoid problems finding log4net etc, make sure the property NAntBin.dir in your OpenPetra.build.config is set correctly
- Also you need to make a symbolic link:
- Problem: NAnt 0.85 (Build 0.85.2478.0; release; 10/14/2006) does not seem to support the task "solution" on Linux?
ln -s /usr/lib/mono/2.0/Microsoft.CSharp.targets /usr/lib/mono/2.0/Microsoft.CSharp.Targets
SQLite or PostgreSQL or MySQL
- apt-get install sqlite3 (requires 3.6.1 or higher; might need to use another repository, eg testing)
- or apt-get install postgresql
- or apt-get install mysql-server
xgettext and msgfmt
- apt-get install gettext
if nant translationCompilePOFile
results in this error:
/usr/bin/msgfmt: C# compiler not found, try installing pnet
solution: ln -s /usr/bin/gmcs /usr/bin/mcs
dos2unix
- this is needed for building releases (nant buildRelease)
- apt-get install tofrodos
MonoDevelop
- see our page on MonoDevelop for some hints
Get the source code
The source code is managed with Bazaar.
Follow the instructions at How to work with bazaar on the command line to get the source code.
Please have a look at the following page: Submitting patches and features!
Configuration of Development Environment
Please check your OpenPetra.build.config file and make sure the paths are all adjusted to your system and the version numbers in the paths are correct.
This OpenPetra.build.config file is also the file where you set the database you want to use. If you want to switch the database system later, see Setup_of_Development_environment#Use_another_database_system.
NAnt script
There is a central NAnt script that is able to generate a lot of code and is able to do all automated tasks in the OpenPetra project.
Please see OpenPetra NAnt script for details
If you want to switch from SQLite to PostgreSQL which we recommend for serious development, please follow the instructions at Setup_of_Development_environment#Use_another_database_system.