[MacPorts] #1936: BUG: devel/mono doesn't look in /opt/local/lib at runtime

MacPorts noreply at macports.org
Sun Nov 21 02:35:12 PST 2010


#1936: BUG: devel/mono doesn't look in /opt/local/lib at runtime
-----------------------------------+----------------------------------------
  Reporter:  chris.ridd@…          |       Owner:  mww@…           
      Type:  defect                |      Status:  reopened        
  Priority:  Normal                |   Milestone:                  
 Component:  ports                 |     Version:  1.0             
Resolution:                        |    Keywords:                  
      Port:  mono                  |  
-----------------------------------+----------------------------------------

Comment(by ionic@…):

 Is this still a problem for anyone?

 First off, libgdiplus is still not added to the dllmap, so that's bad, but
 can easily be fixed.

 But: even if libgdiplus is found by mono, you won't be able to use it on
 OS X, as the default installation of Cairo doesn't use Quartz (which is
 good, trust me.)
 libgdiplus bundles an old cairo version, but this is only used iff this
 bundled version is newer or at least the same version as the currently
 installed system cairo. As being said, it's pretty old, so this check will
 most likely always fail, and libgdiplus use the system cairo, with
 following implication: as this version doesn't have Quartz support (unlike
 the bundled cairo version which is getting configured with Quartz
 support), mono/libgdiplus won't find the function
 GdipCreateFromContext_macosx.

 Ok, bad.

 We basically have two or three options, neither which is really good, but
 at least both seem to work:

 1.) use the system cairo and assume Quartz support is not enabled (nobody
 does that anyway and uses X11, I guess). In this case, we have to patch
 mono to use X11 drawing for WinForms instead of the Carbon functions. I
 haven't tested it yet, but am pretty sure it will work fine. Just
 rebuilding mono and testing this method in a few minutes, then reporting
 back.

 2.) use the bundled cairo version and let gdiplus build its own Quartz
 enabled cairo library. We can do this by defining a bundled cairo version
 of like 9.9.9 to make sure libgdiplus will always use its bundled cairo
 library and statically link to it. Won't break your system and works, but
 doesn't look that good (flickering etc.).

 3.) same as above, but unpack a new version of cairo which may be working
 much better on OS X before calling configure of gdiplus etc. Haven't
 tested this yet either, but will give it a shot later.

 However, if nobody is interested in this (this bug is pretty old and only
 a few whined), I wonder whether the effort of getting it into ports is
 worth the benefits. Yeah, you will be able to use WinForms again with mono
 from MacPorts on OS X, but hum, still. Who does that, besides me
 currently?

-- 
Ticket URL: <https://trac.macports.org/ticket/1936#comment:25>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list