views:

519

answers:

2

I wrote the following script to install the svn version of MonoDevelop

#!/usr/bin/env bash

PREFIX=/opt/local

check_errs()
{
    if [[ $? -ne 0 ]]; then
        echo "${1}"
        exit 1
    fi
}

download()
{
    if [ ! -d ${1} ]
    then
        svn co http://anonsvn.mono-project.com/source/trunk/${1}
    else
        (cd ${1}; svn update) 
    fi
}

download mono
download mcs
download libgdiplus

(
    cd mono
    ./autogen.sh --prefix=$PREFIX
    make
    make install
    check_errs
)

(
    cd libgdiplus
    ./autogen.sh --prefix=$PREFIX
    make
    make install
    check_errs
)

download monodevelop

export PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig

(
    cd monodevelop

    ./configure --prefix=$PREFIX --select 
    check_errs

    make 
    check_errs

)

Everything works fine until the last make step for the monodevelop pacakge, where the script exits with the error:

./MonoDevelop.WebReferences/MoonlightChannelBaseExtension.cs(320,82): error CS1061: Type `System.ServiceModel.Description.OperationContractGenerationContext' does not contain a definition for `SyncMethod' and no extension method `SyncMethod' of type `System.ServiceModel.Description.OperationContractGenerationContext' could be found (are you missing a using directive or an assembly reference?)
./MonoDevelop.WebReferences/MoonlightChannelBaseExtension.cs(325,49): error CS1061: Type `System.ServiceModel.Description.OperationContractGenerationContext' does not contain a definition for `SyncMethod' and no extension method `SyncMethod' of type `System.ServiceModel.Description.OperationContractGenerationContext' could be found (are you missing a using directive or an assembly reference?)
./MonoDevelop.WebReferences/MoonlightChannelBaseExtension.cs(345,115): error CS1061: Type `System.ServiceModel.Description.OperationContractGenerationContext' does not contain a definition for `SyncMethod' and no extension method `SyncMethod' of type `System.ServiceModel.Description.OperationContractGenerationContext' could be found (are you missing a using directive or an assembly reference?)
./MonoDevelop.WebReferences/MoonlightChannelBaseExtension.cs(365,82): error CS1061: Type `System.ServiceModel.Description.OperationContractGenerationContext' does not contain a definition for `BeginMethod' and no extension method `BeginMethod' of type `System.ServiceModel.Description.OperationContractGenerationContext' could be found (are you missing a using directive or an assembly reference?)
Compilation failed: 4 error(s), 1 warnings
make[4]: *** [../../../build/AddIns/MonoDevelop.WebReferences/MonoDevelop.WebReferences.dll] Error 1
make[4]: Leaving directory `/home/drufat/Desktop/Checkout/mono/monodevelop/main/src/addins/MonoDevelop.WebReferences'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/drufat/Desktop/Checkout/mono/monodevelop/main/src/addins'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/drufat/Desktop/Checkout/mono/monodevelop/main/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/drufat/Desktop/Checkout/mono/monodevelop/main'
make: *** [all-recursive] Error 1

Any ideas on how to fix this? I suppose the build gets mixed up with the default installation of mono in Ubuntu, and is looking for a symbol that is not present there.

My build configuration looks as follows:

1. [X] main
2. [ ] extras/JavaBinding
3. [ ] extras/BooBinding
4. [X] extras/ValaBinding
5. [ ] extras/AspNetEdit
6. [ ] extras/GeckoWebBrowser
7. [ ] extras/WebKitWebBrowser
8. [ ] extras/MonoDevelop.Database
9. [ ] extras/MonoDevelop.Profiling
10. [ ] extras/MonoDevelop.AddinAuthoring
11. [ ] extras/MonoDevelop.CodeAnalysis
12. [ ] extras/MonoDevelop.Debugger.Mdb
13. [ ] extras/MonoDevelop.Debugger.Gdb
14. [ ] extras/PyBinding
15. [ ] extras/MonoDevelop.IPhone
16. [ ] extras/MonoDevelop.MeeGo
+3  A: 

You should set a up a parallel Mono environment - http://www.mono-project.com/Parallel_Mono_Environments

mhutch
+2  A: 

If you're just interested in installing the latest release of MonoDevelop, I highly recommend Badgerports: http://badgerports.org/

David Siegel