Do

Cannot compile using Monodevelop

Asked by Alberto César Rodríguez Tejeda on 2009-06-21

Hi,

I just downloaded the solution with "bzr branch lp:do" and opened the solution in Ubuntu using Monodevelop 2.0.

The problem is that when I try to compile I get:

[Task:File=, Line=0, Column=0, Type=Error, Priority=Normal, Description=Source file `/home/alberto/dev/do/Do.Universe/src/AssemblyInfo.cs' could not be found(CS2001)]

I have noticed that the file AssemblyInfo.cs is missing from all the projects in the solution, but instead I find a file named "AssemblyInfo.cs.in". If I rename the file to remove the ".in" I get this error:

[Task:File=/home/alberto/dev/do/Do.Universe/src/AssemblyInfo.cs, Line=39, Column=12, Type=Error, Priority=Normal, Description=Error during emitting `System.Reflection.AssemblyVersionAttribute'
attribute. The reason is `Specified version `@ABI_VERSION@.0.0' is not valid'(CS0647)]

I want to compile the project to study the source code and to hopefully try to help in the development of the project. If someone can give me some insight into what I am doing wrong I would be very grateful.

Greetings,

Alberto Rodríguez

Question information

Language:
English Edit question
Status:
Solved
For:
Do Edit question
Assignee:
No assignee Edit question
Solved by:
Alberto César Rodríguez Tejeda
Solved:
2009-06-26
Last query:
2009-06-26
Last reply:

I have tried to compile with autogen.sh,
it told me to install autoconf, automake and libtool.
I installed those and now I get this output:

-------
alberto@alberto-laptop:~/dev/do$ ./autogen.sh

I am going to run ./configure with no arguments - if you wish
to pass any to it, please specify them on the ./autogen.sh command line.
Running libtoolize ...
libtoolize: putting auxiliary files in `.'.
libtoolize: copying file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltsugar.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'
Running aclocal -I . -I m4/shamrock ...
configure.ac:44: warning: macro `AM_GCONF_SOURCE_2' not found in library
Running automake --gnu ...
data/Makefile.am:20: GCONF_SCHEMAS_INSTALL does not appear in AM_CONDITIONAL
Running autoconf ...
./autogen.sh: line 5: error: command not found
./autogen.sh: line 8: intltoolize: command not found
./autogen.sh: line 14: [: -lt: unary operator expected
Running intltoolize --force --copy --automake ...
./autogen.sh: line 27: intltoolize: command not found
./autogen.sh: line 30: error: command not found
rm: cannot remove `.autogen.log': No such file or directory
Running ./configure ...
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking how to create a pax tar archive... gnutar
./configure: line 2831: syntax error near unexpected token `0.35.0'
./configure: line 2831: `IT_PROG_INTLTOOL(0.35.0)'
-------

One thing: I renamed "AssemblyInfo.cs.in" to "AssemblyInfo.cs" and changed the line
"[assembly: AssemblyVersion("@ABI_VERSION@.0.0")]"
to
"[assembly: AssemblyVersion("8.0.0")]"
and that project was built without any error. I am going to try that with all the projects in the solution to see if it works.

Problem solved. The fact is that to compile GNOME Do from monodevelop you have to compile it first with autotools using the steps described here: http://do.davebsd.com/wiki/index.php?title=Installing_Do#From_Source .

This two answers helped me to compile from Monodevelop:

------------------
You also need 'libgconf2-dev' and 'intltool' (on Ubuntu). In order to
build using MonoDevelop you will need to first be able to build from
the command-line. Check here for more information.

http://do.davebsd.com/wiki/index.php?title=Installing_Do#From_Source

- Robert
------------------

------------------
We don't compile within Monodevelop anymore. We use autotools. I would just go to the directory you've got the source in and type in the following commands.

./autogen.sh
make
sudo make install

--Ashton
------------------