[Mono-list] Mono on Solaris 10/Sparc

jeff clausius jeffc at sourcegear.com
Mon Jan 9 10:25:20 EST 2006


I just finished building Mono on Solaris 10 for the SPARC for a customer
having problems with SourceGear Vault.

I was able to get things running, but I did encounter some hurdles which
caused build/installation issues on Solaris.  I want to pass the info
along for others on Solaris/SPARC.  If someone at Novell/Mono would like
additional information, please feel free to contact me.


Here is some of the issues I encountered:


1)  Using Solaris' tar will lead to failed builds due to a rules problem
in jay.  A work around was eventually found in an old mailing list
reference to this problem.  The work around suggested using cpio, pax,
or GNU's tar to "untar" the file.  It would have been helpful to have a
mention of this on the web site or in the README file.


2)  Do not use any of Sun's tools for the build.  configure may find
some of Sun's tools when run.  However, I had compilation problems when
they were used.  Instead, using gmake for make, and CC=gcc within the
CFLAGS will provide a better chance of a successful build.


3)  The generated Makefile had an incorrect INSTALL variable.  "gmake
install" was failing because the INSTALL was set to ./install-sh.  The
script goes into numerous sub directories where install-sh does not
exist.  I had to edit Makefile to set the correct path to install-sh.

Note, I'm not sure if there was a problem during the run of configure or
something in my setup, but this was something I wanted to report just in
case.


4)  This problem is not related to build/installation, but I thought
someone may want to take a look at it, as it *does not* occur when Vault
is run on Linux (installed by use of binaries).  When the Vault command
line client is called, the following error occurs:


System.TypeInitializationException: An exception was thrown by the type
initializer for System.Xml.Serialization.XmlSerializer --->
System.Configuration.ConfigurationException: The `indentsize' attribute
must be an integral value.
(/export/home/build/mono/etc/mono/1.0/machine.config line 1) --->
System.NotImplementedException: The requested feature is not implemented.
in <0x00000> <unknown method>
in (wrapper managed-to-native) System.Threading.Thread:MemoryBarrier ()
in <0x0004c> System.Diagnostics.TraceImpl:InitOnce ()
in <0x00004> System.Diagnostics.TraceImpl:get_Listeners ()
in <0x00004> System.Diagnostics.TraceImpl:get_ListenersSyncRoot ()
in <0x00010> System.Diagnostics.TraceImpl:set_IndentSize (Int32 value)
in <0x00208>
System.Diagnostics.DiagnosticsConfigurationHandler:AddTraceAttributes
(IDictionary d, System.Xml.XmlNode node)--- End of inner exception stack
trace ---

in <0x0026c>
System.Diagnostics.DiagnosticsConfigurationHandler:AddTraceAttributes
(IDictionary d, System.Xml.XmlNode node)
in <0x0001c>
System.Diagnostics.DiagnosticsConfigurationHandler:AddTraceNode
(IDictionary d, System.Xml.XmlNode node)
in (wrapper delegate-invoke)
System.MulticastDelegate:invoke_void_IDictionary_XmlNode
(System.Collections.IDictionary,System.Xml.XmlNode)
in <0x00368>
System.Diagnostics.DiagnosticsConfigurationHandler:Create (System.Object
parent, System.Object configContext, System.Xml.XmlNode section)
in <0x001cc>
System.Configuration.ConfigurationData:GetConfigInternal (System.String
sectionName)
in <0x000d0> System.Configuration.ConfigurationData:GetConfig
(System.String sectionName)
in <0x00024> System.Configuration.DefaultConfig:GetConfig
(System.String sectionName)
in <0x00028> System.Configuration.ConfigurationSettings:GetConfig
(System.String sectionName)
in <0x00204> System.Xml.Serialization.XmlSerializer:.cctor ()---
End of inner exception stack trace ---

in <0x00000> <unknown method>
in <0x000b4> System.Web.Services.Protocols.TypeStubInfo:Initialize ()
in <0x00090>
System.Web.Services.Protocols.LogicalTypeInfo:CreateTypeStubInfo
(System.Type type)
in <0x00074>
System.Web.Services.Protocols.LogicalTypeInfo:GetTypeStub (System.String
protocolName)
in <0x00024>
System.Web.Services.Protocols.TypeStubManager:GetTypeStub (System.Type
t, System.String protocolName)
in <0x00024>
System.Web.Services.Protocols.SoapHttpClientProtocol:.ctor ()
in <0x00008> VaultClientNetLib.ClientService.VaultService:.ctor ()

<SNIP - Vault Command Line call stack/>



However, a work around exists.  Editing the
$MONO_HOME/etc/mono/1.0/machine.config file to the following text causes
the Vault command line client to operate correctly:

    <system.diagnostics>
       <!-- <trace autoflush="false" indentsize="4" />  -->
    </system.diagnostics>

As far as testing the Vault command line client goes, everything else
seems to be working correctly.


Thanks for the great platform!

Jeff Clausius
SourceGear



More information about the Mono-list mailing list