Search code examples
.netmonooctopus-deploy

Unable to build Calamari on CentOS 7 with Mono


I am trying to setup a Linux machine as Octopus SSH deployment target. As described in the Octopus guide, I installed the required softwares. While building the Calamari package, I am getting the following error.

(2459,59): error CS0012: The type 'Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.

It seems so many people have faced this issue in the past in windows/linux enviroment. I tried the suggestions provided in those forums, but nothing worked for me.

It would be really helpful if any one can shed some light on this issue.

Configuration which I am using:

Linux distribution: CentOS 7.3

dotnet SDK: 2.2.300

mono-complete: 5.14.0.177

python: 3.6.3

Link to Calamari source: https://github.com/OctopusDeploy/Calamari

Link to Octopus Guide: https://octopus.com/docs/infrastructure/deployment-targets/linux/requirements#mono-calamari


Solution

  • I raised the same query with Octopus dev team and I got the reply.

    From: Michael_Richardson
    
    Hi,
    
    You shouldn’t need to compile Calamari yourself. Calamari is bundled with the Octopus server and is automatically pushed to the deployment targets.
    
    When configuring the SSH target in Octopus, you are provided with the choice of two flavours of Calamari, self-contained or Mono. In general, we recommend using the self-contained option as it means Mono does not need to be installed.
    
    I hope that helps. Please follow up if I’ve misunderstood :slight_smile:
    

    The only requirements for a Linux agent are as follows.

    1) Python 3

    2) Pip

    3) Mono