[Mono-bugs] [Bug 74395][Wis] New - Mono handling multiple GAC locations.

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Tue, 5 Apr 2005 01:55:34 -0400 (EDT)

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by tmclaugh@sdf.lonestar.org.


--- shadow/74395	2005-04-05 01:55:34.000000000 -0400
+++ shadow/74395.tmp.2718	2005-04-05 01:55:34.000000000 -0400
@@ -0,0 +1,52 @@
+Bug#: 74395
+Product: Mono: Runtime
+Version: 1.1
+OS: other
+OS Details: FreeBSD 5.3-RELEASE-p5
+Status: NEW   
+Priority: Wishlist
+Component: misc
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: tmclaugh@sdf.lonestar.org               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+Summary: Mono handling multiple GAC locations.
+The Mono framework currenly assumes by default that the GAC is installed in
+the same prefix as the mono binary (ie. /usr/local/bin/mono,
+/usr/local/lib/mono/gac).  Additional GAC prefixes can be defined in the
+user's environment using the MONO_GAC_PREFIX variable.  On operating
+systems which use multiple installation prefixes, FreeBSD in particular,
+this is a problem.  Mono is installed under /usr/local while GTK# is
+installed under /usr/X11R6.  I can't move the installation prefixes around
+because that would violate the FreeBSD filesystem hierarchy standard and
+instructing users to perform manual setup in their environment would be
+useless because let's face it, most users don't read instructions.
+My request is that a key be added to a file, say etc/mono/config, where
+extra GAC prefixes could be defined which the Mono framework will check. 
+This would allow OSes to add their own additional values to match their own
+filesyetm layout standards.
+        <dllmap dll="cygwin1.dll" target="libc.so" />
+        <dllmap dll="libc" target="libc.so" />
+        <dllmap dll="libintl" target="libintl.so" />
+        <dllmap dll="libxslt.dll" target="libxslt.so" />
+        <dllmap dll="libmySQL.dll" target="libmysqlclient.so" />
+        <dllmap dll="odbc32.dll" target="libodbc.so" />
+        <dllmap dll="oci" target="clntsh" />
+        <dllmap dll="db2cli" target="libdb2_36.so"/>
+        <dllmap dll="msvcrt" target="libc.so"/>
+        <dllmap dll="MonoPosixHelper" target="libMonoPosixHelper.so"/>
+        <gac prefix="/usr/X11R6" />
+        <gac prefix="/usr/local" />
+In the above, if Mono were installed under /usr it would still check
+/usr/X11R6 and /usr/local automatically when attempting to load assemblies.