[Pkg-mono-devel] Installing Monodoc on Debian Unstable?

Morgan LaMoore Morgan LaMoore <morganl@gmail.com>
Mon, 23 May 2005 20:33:11 -0500


------=_Part_3836_3964405.1116898391532
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Hi, everyone.

I've had Mono installed for a while from the 1.0.5 packages, but recently=
=20
SharpDevelop (0.5) stopped working unless I ran it through sudo. I've also=
=20
been wanting to try System.Windows.Forms. When I saw they had
1.1.6available for Debian, I decided to grab it. The new version of
mono seems to
have installed fine; the .Net apps I've written work fine.

Monodevelop, however, doesn't work. It throws an exception while loading; i=
t=20
can't find /usr/lib/monodoc/monodoc.xml. I checked and the file doesn't=20
exist:

morgan@morgan-debian:~$ ls /usr/lib/monodoc
assembler.exe browser.exe mod.exe monodocer.exe normalize.exe

According to apt, the package monodoc isn't installed. I went to install it=
,=20
but I got an error. Running apt-get again produced this output:

morgan-debian:/home/morgan# apt-get install monodoc monodoc-browser
Reading Package Lists... Done
Building Dependency Tree... Done
monodoc is already the newest version.
monodoc-browser is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 322 not upgraded.
2 not fully installed or removed.
Need to get 0B of archives.
After unpacking 0B of additional disk space will be used.
Setting up monodoc-browser (1.0.6-2) ...
generating monodoc search index...

Unhandled Exception: System.IO.FileNotFoundException: Could not find file=
=20
"/usr/lib/monodoc/monodoc.xml". : /usr/lib/monodoc/monodoc.xml
in [0x001d4] (at
/home/ingo/mono-1.1.6/mcs/class/corlib/System.IO/FileStream.cs:193)
System.IO.FileStream:.ctor (System.String name, FileMode mode, FileAccess=
=20
access, FileShare share, Int32 bufferSize, Boolean isAsync, Boolean=20
anonymous)
in [0x0000d] (at
/home/ingo/mono-1.1.6/mcs/class/corlib/System.IO/FileStream.cs:116)
System.IO.FileStream:.ctor (System.String name, FileMode mode, FileAccess=
=20
access, FileShare share)
in (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,
System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
in [0x00076] (at
/home/ingo/mono-1.1.6/mcs/class/System.XML/System.Xml/XmlUrlResolver.cs:76)
System.Xml.XmlUrlResolver:GetEntity (System.Uri absoluteUri, System.Stringr=
ole,=20
System.Type ofObjectToReturn)
in [0x0007b] (at
/home/ingo/mono-1.1.6/mcs/class/System.XML/System.Xml/XmlTextReader.cs:106)
System.Xml.XmlTextReader:.ctor (System.String url, System.Xml.XmlNameTablen=
t)
in [0x00009] (at
/home/ingo/mono-1.1.6/mcs/class/System.XML/System.Xml/XmlDocument.cs:620)
System.Xml.XmlDocument:Load (System.String filename)
in [0x00021] (at /home/ingo/monodoc-1.0.6/browser/provider.cs:697)=20
Monodoc.RootTree:LoadTree (System.String basedir)
in [0x0005d] (at /home/ingo/monodoc-1.0.6/browser/provider.cs:680)=20
Monodoc.RootTree:LoadTree ()
in [0x00000] (at /home/ingo/monodoc-1.0.6/browser/provider.cs:1151)=20
Monodoc.RootTree:MakeIndex ()
in <0x00118> Monodoc.Driver:Main (System.String[] args)
dpkg: error processing monodoc-browser (--configure):
subprocess post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of monodoc:
monodoc depends on monodoc-browser (>=3D 1.0.6-2); however:
Package monodoc-browser is not configured yet.
dpkg: error processing monodoc (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
monodoc-browser
monodoc
E: Sub-process /usr/bin/dpkg returned an error code (1)

It looks like there's a circular dependency: monodoc needs monodoc-browser,=
=20
but monodoc-browser tries to index files that aren't there yet. Any ideas o=
n=20
how to fix this?

Also, I don't know if this is something for you guys to handle, but the=20
library Tao.Sdl comes with a config file to tell Mono to use
libSDL.soinstead of
SDL.dll, as well as other libraries:

<configuration>
<dllmap dll=3D"SDL.dll" target=3D"libSDL.so" />
<dllmap dll=3D"SDL_image.dll" target=3D"libSDL_image.so" />
<dllmap dll=3D"SDL_mixer.dll" target=3D"libSDL_mixer.so" />
<dllmap dll=3D"SDL_ttf.dll" target=3D"libSDL_ttf.so" />
<dllmap dll=3D"smpeg.dll" target=3D"libsmpeg.so" />
<dllmap dll=3D"SDL_gfx.dll" target=3D"libSDL_gfx.so" />
</configuration>

Apparently this should allow Mono to transparently use the corresponding=20
Linux library instead of the sdl dlls. On my computer, though, and probably=
=20
all Debian unstable installations, these files don't exist directly; they=
=20
have names like this: libSDL-1.2.so.0, libSDL_net-1.2.so.0, libSDL_ttf-
2.0.so.0, and so on. On my system I just created symlinks from the library=
=20
names in the config file to the actual libraries. That doesn't seem like a=
=20
good thing to require my users to do, though. If I just change the config=
=20
file, that may make it compatible with other Linux distros. What would be=
=20
the best way to handle this mapping?

Thanks,
Morgan LaMoore

------=_Part_3836_3964405.1116898391532
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Hi, everyone.<br>
<br>
I've had Mono installed for a while from the 1.0.5 packages, but
recently SharpDevelop (0.5) stopped working unless I ran it through
sudo. I've also been wanting to try System.Windows.Forms. When I saw
they had 1.1.6 available for Debian, I decided to grab it. The new
version of mono seems to have installed fine; the .Net apps I've
written work fine.<br>
<br>
Monodevelop, however, doesn't work. It throws an exception while
loading; it can't find /usr/lib/monodoc/monodoc.xml. I checked and the
file doesn't exist:<br>
<br>
morgan@morgan-debian:~$ ls /usr/lib/monodoc<br>
assembler.exe&nbsp; browser.exe&nbsp; mod.exe&nbsp; monodocer.exe&nbsp; nor=
malize.exe<br>
<br>
According to apt, the package monodoc isn't installed. I went to
install it, but I got an error. Running apt-get again produced this
output:<br>
<br>
morgan-debian:/home/morgan# apt-get install monodoc monodoc-browser<br>
Reading Package Lists... Done<br>
Building Dependency Tree... Done<br>
monodoc is already the newest version.<br>
monodoc-browser is already the newest version.<br>
0 upgraded, 0 newly installed, 0 to remove and 322 not upgraded.<br>
2 not fully installed or removed.<br>
Need to get 0B of archives.<br>
After unpacking 0B of additional disk space will be used.<br>
Setting up monodoc-browser (1.0.6-2) ...<br>
generating monodoc search index...<br>
<br>
Unhandled Exception: System.IO.FileNotFoundException: Could not find
file &quot;/usr/lib/monodoc/monodoc.xml&quot;. : /usr/lib/monodoc/monodoc.x=
ml<br>
in [0x001d4] (at
/home/ingo/mono-1.1.6/mcs/class/corlib/System.IO/FileStream.cs:193)
System.IO.FileStream:.ctor (System.String name, FileMode mode,
FileAccess access, FileShare share, Int32 bufferSize, Boolean isAsync,
Boolean anonymous)<br>
in [0x0000d] (at
/home/ingo/mono-1.1.6/mcs/class/corlib/System.IO/FileStream.cs:116)
System.IO.FileStream:.ctor (System.String name, FileMode mode,
FileAccess access, FileShare share)<br>
in (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor
(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)<br>
in [0x00076] (at
/home/ingo/mono-1.1.6/mcs/class/System.XML/System.Xml/XmlUrlResolver.cs:76)
System.Xml.XmlUrlResolver:GetEntity (System.Uri absoluteUri,
System.String role, System.Type ofObjectToReturn)<br>
in [0x0007b] (at
/home/ingo/mono-1.1.6/mcs/class/System.XML/System.Xml/XmlTextReader.cs:106)
System.Xml.XmlTextReader:.ctor (System.String url,
System.Xml.XmlNameTable nt)<br>
in [0x00009] (at
/home/ingo/mono-1.1.6/mcs/class/System.XML/System.Xml/XmlDocument.cs:620)
System.Xml.XmlDocument:Load (System.String filename)<br>
in [0x00021] (at /home/ingo/monodoc-1.0.6/browser/provider.cs:697) Monodoc.=
RootTree:LoadTree (System.String basedir)<br>
in [0x0005d] (at /home/ingo/monodoc-1.0.6/browser/provider.cs:680) Monodoc.=
RootTree:LoadTree ()<br>
in [0x00000] (at /home/ingo/monodoc-1.0.6/browser/provider.cs:1151) Monodoc=
.RootTree:MakeIndex ()<br>
in &lt;0x00118&gt; Monodoc.Driver:Main (System.String[] args)<br>
dpkg: error processing monodoc-browser (--configure):<br>
&nbsp;subprocess post-installation script returned error exit status 1<br>
dpkg: dependency problems prevent configuration of monodoc:<br>
&nbsp;monodoc depends on monodoc-browser (&gt;=3D 1.0.6-2); however:<br>
&nbsp; Package monodoc-browser is not configured yet.<br>
dpkg: error processing monodoc (--configure):<br>
&nbsp;dependency problems - leaving unconfigured<br>
Errors were encountered while processing:<br>
&nbsp;monodoc-browser<br>
&nbsp;monodoc<br>
E: Sub-process /usr/bin/dpkg returned an error code (1)<br>
<br>
It looks like there's a circular dependency: monodoc needs
monodoc-browser, but monodoc-browser tries to index files that aren't
there yet. Any ideas on how to fix this?<br>
<br>
Also, I don't know if this is something for you guys to handle, but the
library Tao.Sdl comes with a config file to tell Mono to use libSDL.so
instead of SDL.dll, as well as other libraries:<br>
<br>
&lt;configuration&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;dllmap dll=3D&quot;SDL.dll&quot; target=3D&quot;libS=
DL.so&quot; /&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;dllmap dll=3D&quot;SDL_image.dll&quot; target=3D&quo=
t;libSDL_image.so&quot; /&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;dllmap dll=3D&quot;SDL_mixer.dll&quot; target=3D&quo=
t;libSDL_mixer.so&quot; /&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;dllmap dll=3D&quot;SDL_ttf.dll&quot; target=3D&quot;=
libSDL_ttf.so&quot; /&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;dllmap dll=3D&quot;smpeg.dll&quot; target=3D&quot;li=
bsmpeg.so&quot; /&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;dllmap dll=3D&quot;SDL_gfx.dll&quot; target=3D&quot;=
libSDL_gfx.so&quot; /&gt;<br>
&lt;/configuration&gt;<br>
<br>
Apparently this should allow Mono to transparently use the
corresponding Linux library instead of the sdl dlls. On my computer,
though, and probably all Debian unstable installations, these files
don't exist directly; they have names like this:&nbsp; libSDL-1.2.so.0,
libSDL_net-1.2.so.0, libSDL_ttf-2.0.so.0, and so on. On my system I
just created symlinks from the library names in the config file to the
actual libraries. That doesn't seem like a good thing to require my
users to do, though. If I just change the config file, that may make it
compatible with other Linux distros. What would be the best way to
handle this mapping?<br>
<br>
Thanks,<br>
Morgan LaMoore<br>

------=_Part_3836_3964405.1116898391532--