[Mono-list] [mono-list] Merging compiled SVN with installed version.

Eric Morgan eric at rengeo.com
Tue Mar 13 16:25:51 EDT 2007


Sabastien,

I think the reason I submitted this to mono-list, is because my main
question was with the compilation of mono, not to the bugs I was
experiencing.  I think the bugs are from my custom installation, and I
wanted to make sure I was doing these things right.


Test cases are hard to produce, because our codebase is rather large and
tangled.  It's also commercial .NET software, so I can't just upload the
source code somewhere...  It may take me a while, because there's so much
going on in our code right now.  I'll get back on this.


>   Additionally, for some of our code, we need to write to the

> > executing directory, which is actually mono...
>
> Well you shouldn't be writing there ;-) and I'm not sure how you got
> there (bad scripts ?). You may have to write to the *current* directory
> (the one of the .exe you're running) and this one may (or not) have the
> required permissions to allow this.


I can tell you exactly how I'm getting there.  Our licensing company
requires that a .xml file be present in the same directory as the executing
application at the time their API functions are called.  After many hours of
debugging, I determined that the executing application was actually Mono
instead of our .exe.  I have no control over that bit of API code, as we're
P/Invoking into it.  The linux libraries do, however, work fine.  I even
contacted them and they told us "sorry, no other option than that .xml file
in the same directory".  Without that licensing, our software won't run, so
I think it's major enough that we request write permission to those
directories.

Is this a HUGE security issue or something?


> Anyway, we're bundling our own version of mono that's the generic x86
> > linux distribution.  We've done a local install, and we have many
> > scripts to run our program so it uses the supplied version of mono and
> > configurations.  The problem is, there's some fixes in SVN we'd really
> > like to have, and we don't know how long before another official
> > release will be.  So, I compiled the SVN code with a prefix of our
> > local installation, and just had it make install into that directory.
> > Everything seemed fine at first, but I started noticing some issues
> > with our MDI relating to X11.  My question is, do I need to link
> > everything differently, so it's using the dependencies in our local
> > installation instead of the ones installed by my distribution?
>
> Maybe not everything, but yes some things. For example(*) you must
> ensure that the libgdiplus.so being loaded is the one that match the
> System.Drawing.dll you use (on which System.Windows.Forms.dll depends).
> If not then you may experience bugs, crash, rain, lost of sleep...



I will double check which libgdiplus.so it's trying to load, but I compile
libgdiplus with mono, and both binaries are installed in the prefix.   I'm
mostly worried about stuff like libpng, libungif, libpangosharpglue,
libncurses, and other dependency packages.  I don't want Mono to be looking
for these already installed by the distro, and when I distribute the
software, it errors out saying it can't find them.  Will mono search the
MONO_PREFIX/lib/ folder at runtime if it can't find the libraries
elsewhere?  Will it check that first?


> The best way to find out is to try your code on a fully synchronized
> mono version, e.g. SVN HEAD (both mono, mcs and libgdiplus). If it works
> then it's a result of your customized version, if not it's probably a
> regression (and a new bug report should be opened to ensure this is
> fixed prior to the next official release).



Just tried with my synchronized version of SVN HEAD (r74177), and it
performs the exact same behavior as I'm describing.  :/

Eric Morgan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-list/attachments/20070313/09b948b8/attachment.html 


More information about the Mono-list mailing list