Re: mono-2.0-service ubuntu server 10.04
Hi Joe
I believe I have found the issue, if one takes a look at: http://packages.ubuntu.com/lucid/all/libmono2.0-cil/filelist
You will notice /usr/lib/mono/gac/mono-service/2.0.0.0__0738eb9f132ed756/mono-service.exe
When I copy the /usr/lib/mono/gac/mono-service folder from my dev box to the server's /usr/lib/mono/gac/ the service now works with just the mono-2.0-service and system-data2.0-cil(see the last email I sent you) packages and their dependencies. I am not sure why /usr/lib/mono/gac/mono-service/2.0.0.0__0738eb9f132ed756/mono-service.exe is part of the libmono2.0-cil package and why it is not present in mono-2.0-service, or why it is even neccessary in the first place (this is my first .net app :P).
I would apreciate if you could advise how I should proceed, should I use libmono2.0-cil as a dependancy or will /usr/lib/mono/gac/mono-service/2.0.0.0__0738eb9f132ed756/mono-service.exe be intergrated into mono-2.0-service or should I just add /usr/lib/mono/gac/mono-service/2.0.0.0__0738eb9f132ed756/mono-service.exe to my .deb?
Thanks again for all your help,
Gavin
--- On Fri, 11/6/10, Jo Shields <directhex@apebox.org> wrote:
> From: Jo Shields <directhex@apebox.org>
> Subject: Re: mono-2.0-service ubuntu server 10.04
> To: "Gavin Phaup" <gavin4p@yahoo.co.uk>
> Cc: ubuntu-mono@lists.ubuntu.com, debian-cli@lists.debian.org
> Date: Friday, 11 June, 2010, 15:10
> On Fri, 2010-06-11 at 12:12 +0000,
> Gavin Phaup wrote:
> > Hi Joe
> >
> > The following is the contents of /usr/lib/mono/2.0/
> after installing just the mono-2.0-service package.
> >
> > CustomMarshalers.dll
> System.Core.dll
> > gacutil.exe
> System.dll
> > I18N.dll
> System.Drawing.dll
> > I18N.West.dll
> System.EnterpriseServices.dll
> > Mono.Posix.dll
> System.Management.dll
> > Mono.Security.dll
> System.Security.dll
> > mono-service.exe
> System.ServiceProcess.dll
> > mscorlib.dll
> System.Transactions.dll
> > System.Configuration.dll
> System.Xml.dll
> > System.Configuration.Install.dll
> System.Xml.Linq.dll
> >
> > As you can see mono-service.exe exists. The following
> is the list of the dependancies that where installed with
> mono-2.0-service package.
> >
> > --\ Packages being automatically installed to satisfy
> dependencies (10)
> > ciA binfmt-support
> +168kB <none>
> 1.2.18
> > piA cli-common
> +344kB <none>
> 0.7
> > piA libmono-corlib2.0-cil
> +2,679k <none>
> 2.4.4~svn1
> > piA libmono-i18n-west2.0-cil +225kB
> <none> 2.4.4~svn1
> > piA libmono-posix2.0-cil
> +303kB <none>
> 2.4.4~svn1
> > piA
> libmono-security2.0-cil +418kB
> <none> 2.4.4~svn1
> > piA libmono-system2.0-cil
> +4,510k <none>
> 2.4.4~svn1
> > piA mono-2.0-gac
> +147kB <none>
> 2.4.4~svn1
> > piA mono-gac
> +135kB <none>
> 2.4.4~svn1
> > ciA mono-runtime
> +3,379k <none>
> 2.4.4~svn1
> >
> > I dont have any other services to test mono-service2
> with, however I managed to fix the problem by installing
> libmono2.0-cil package. Should this be a dependancy of the
> mono-2.0-service package? If it should not be neccesary I
> would prefer not to use it as the libmono2.0-cil package has
> a lot of dependancies and with this being a customer's
> production server I would like to install as little as
> possible.
>
> It looks like mono-service simply gives incredibly
> unhelpful errors when
> it fails.
>
> If your *APP* has any required assemblies missing, then
> mono-service
> reports that it's missing.
>
> For example:
>
> $ mono hello.exe
>
> ** (hello.exe:8946): WARNING **: The following assembly
> referenced
> from /tmp/hello.exe could not be loaded:
>
> Assembly: System.Windows.Forms
> (assemblyref_index=0)
> Version: 2.0.0.0
> Public Key: b77a5c561934e089
> The assembly was not found in the Global Assembly Cache, a
> path listed
> in the MONO_PATH environment variable, or in the location
> of the
> executing assembly (/tmp/).
>
>
> ** (hello.exe:8946): WARNING **: Could not load file or
> assembly
> 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
> PublicKeyToken=b77a5c561934e089' or one of its
> dependencies.
> The entry point method could not be loaded
>
> $ mono-service2 --no-daemon hello.exe
>
> Unhandled Exception: System.IO.FileNotFoundException: Could
> not load
> file or assembly 'mono-service, Version=2.0.0.0,
> Culture=neutral,
> PublicKeyToken=0738eb9f132ed756' or one of its
> dependencies. The system
> cannot find the file specified.
> File name: 'mono-service, Version=2.0.0.0,
> Culture=neutral,
> PublicKeyToken=0738eb9f132ed756'
> at (wrapper xdomain-invoke)
> System.AppDomain:CreateInstanceAndUnwrap
> (string,string,bool,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo,object[],System.Security.Policy.Evidence)
> at (wrapper remoting-invoke-with-check)
> System.AppDomain:CreateInstanceAndUnwrap
> (string,string,bool,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo,object[],System.Security.Policy.Evidence)
> at MonoServiceRunner.Main (System.String[] args)
> [0x00000] in
> <filename unknown>:0
>
>
> So I think it's the app missing things, nothing to do with
> mono-service
> itself.
>
> Check the app's dependencies via "monodis --assemblyref
> app.exe" - or
> simply try running it without mono-service and see what
> explodes.
>
Reply to: