[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