<div dir="ltr">You can override most of these settings by deploying a native application that calls mono embedding APIs, or perhaps easier via environment variables.<div><br></div><div>See the man page for:</div><div><br></div>
<div>MONO_GAC_PREFIX</div><div>MONO_PATH</div><div>MONO_CFG_DIR</div><div><br></div><div>etc. One or more may be needed by your application.</div><div><br></div><div>- Jonathan</div></div><div class="gmail_extra"><br><br>
<div class="gmail_quote">On Fri, Dec 13, 2013 at 3:07 PM, "Andrés G. Aragoneses" <span dir="ltr"><<a href="mailto:knocte@gmail.com" target="_blank">knocte@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
If you were right, DESTDIR env var would not exist, and one would simply<br>
use the --prefix flag at configure time.<br>
<br>
DESTDIR is used as a prefix to the prefix, that is, if your prefix was<br>
/foo and you set DESTDIR to /bar, then the files go to /bar/foo, to let<br>
you tar them up easily from /bar/foo but still having built binaries and<br>
scripts that are meant to be placed in /foo.<br>
<br>
After you compress /bar/foo, then you should later untar to /foo to make<br>
it work, obviously. This is essentially how deb/rpm packaging works, kinda.<br>
<div class="im"><br>
On 13/12/13 21:02, Nikita Tsukanov wrote:<br>
> You should install to the _same_ prefix you configured your sources.<br>
> ./configure script hardcodes some paths based on prefix value and<br>
> compiled code will expect to find needed files there.<br>
><br>
><br>
> 2013/12/13 "Andrés G. Aragoneses" <<a href="mailto:knocte@gmail.com">knocte@gmail.com</a><br>
</div>> <mailto:<a href="mailto:knocte@gmail.com">knocte@gmail.com</a>>><br>
<div class="im">><br>
>     /usr/local is the default prefix if you don't supply one. This is<br>
>     normally the standard in most open source projects and the motivation of<br>
>     it is not to conflict with software installed by packages (which goes to<br>
>     /usr instead).<br>
><br>
>     But given that you're in an embedded system I would just use the /usr<br>
>     prefix to prevent incompatibilities that normally arise when integrating<br>
>     software between /usr and /usr/local<br>
><br>
>     So to answer your question: yes, you still need to specify the prefix at<br>
>     configure time, but define a DESTDIR at installation time.<br>
><br>
>     Maybe this example script can clear any more doubts you have (it's used<br>
>     to create .deb packages):<br>
><br>
>     <a href="https://github.com/7digital/7digital-mono/blob/master/build-mono-package.bash" target="_blank">https://github.com/7digital/7digital-mono/blob/master/build-mono-package.bash</a><br>
><br>
>     On 13/12/13 20:08, Chris Tacke wrote:<br>
>     > So if I make install DESTDIR /path/to/temp do I still need to<br>
>     install on<br>
>     > the target at /usr/local (te default prefix), or will “anywhere” work?<br>
>     > I assume the former, but am trying to understand.<br>
>     ><br>
>     ><br>
>     ><br>
>     > -Chris<br>
>     ><br>
>     ><br>
>     ><br>
>     ><br>
>     ><br>
>     > *From:*<a href="mailto:mono-devel-list-bounces@lists.ximian.com">mono-devel-list-bounces@lists.ximian.com</a><br>
>     <mailto:<a href="mailto:mono-devel-list-bounces@lists.ximian.com">mono-devel-list-bounces@lists.ximian.com</a>><br>
</div>>     > [mailto:<a href="mailto:mono-devel-list-bounces@lists.ximian.com">mono-devel-list-bounces@lists.ximian.com</a><br>
<div class="im">>     <mailto:<a href="mailto:mono-devel-list-bounces@lists.ximian.com">mono-devel-list-bounces@lists.ximian.com</a>>] *On Behalf Of *Nikita<br>
>     > Tsukanov<br>
>     > *Sent:* Friday, December 13, 2013 1:06 PM<br>
>     > *To:* <a href="mailto:mono-devel-list@lists.ximian.com">mono-devel-list@lists.ximian.com</a><br>
</div>>     <mailto:<a href="mailto:mono-devel-list@lists.ximian.com">mono-devel-list@lists.ximian.com</a>><br>
<div class="im">>     > *Subject:* Re: [Mono-dev] "Installing" mono via copy<br>
>     ><br>
>     ><br>
>     ><br>
>     ><br>
>     ><br>
>     >>>- set a custom prefix (and other stuff) during configure<br>
>     > That's the problem. It tries to look for mscorlib at<br>
>     > $prefix/lib/mono/blablablah instead of /usr/lib. Instead of using<br>
>     custom<br>
>     > prefix just configure it with normal (i. e. /usr) and use make install<br>
>     > DESTDIR=/path/to/temp/dir. It will install all files to that<br>
>     directory,<br>
>     > and you'll be able to create your tarball.<br>
>     ><br>
>     ><br>
>     ><br>
>     > 2013/12/13 Chris Tacke <<a href="mailto:ctacke@opennetcf.com">ctacke@opennetcf.com</a><br>
</div>>     <mailto:<a href="mailto:ctacke@opennetcf.com">ctacke@opennetcf.com</a>> <mailto:<a href="mailto:ctacke@opennetcf.com">ctacke@opennetcf.com</a><br>
<div><div class="h5">>     <mailto:<a href="mailto:ctacke@opennetcf.com">ctacke@opennetcf.com</a>>>><br>
>     ><br>
>     >     I have an embedded Linux platform on which I need to install Mono.<br>
>     >      The platform does not have any installer tools like apt or<br>
>     >     whatever.  I have to custom build Mono for the platform for a<br>
>     >     variety of reasons.<br>
>     ><br>
>     >     I am successfully building Mono from source under an Ubuntu<br>
>     machine.<br>
>     >      That works just fine.<br>
>     ><br>
>     >     The problem I'm now facing is how to "distribute" the resulting<br>
>     >     build.  Due to size contraints, I've compiled only the 4.5 stuff,<br>
>     >     plus I've pulled out a variety of things like System.Drawing,  all<br>
>     >     of the WinForms stuff, etc.  I've also stripped the binaries.<br>
>     ><br>
>     >     What I did was:<br>
>     ><br>
>     >     - set a custom prefix (and other stuff) during configure<br>
>     >     - make & make install.<br>
>     >     - Go into the install folder and trim out stuff I don't need and<br>
>     >     strip binaries<br>
>     ><br>
>     >     So now I have a set of folders that contain Mono.  My hope was<br>
>     that<br>
>     >     I could tar these up, copy that to the destination, untar it<br>
>     in the<br>
>     >     /usr directory so that the mono bin files end up in /usr/bin, the<br>
>     >     mono lib files end up in /usr/lib etc.<br>
>     ><br>
>     >     Doing this I success if I do a mono -V.  I get version info.<br>
>     >      However, if I try to actually run a mono app, it complains about<br>
>     >     not finding mscorlib.dll.  It's looking in the path where I<br>
>     set the<br>
>     >     prefix back on the build machine.<br>
>     ><br>
>     >     How should I be going about doing an installation like this?  What<br>
>     >     am I missing in my process?<br>
>     ><br>
>     >     -Chris<br>
>     ><br>
>     ><br>
>     ><br>
>     ><br>
>     ><br>
>     >     _______________________________________________<br>
>     >     Mono-devel-list mailing list<br>
>     >     <a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
>     <mailto:<a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a>><br>
</div></div>>     >     <mailto:<a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
<div class="HOEnZb"><div class="h5">>     <mailto:<a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a>>><br>
>     >     <a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
>     ><br>
>     ><br>
>     ><br>
>     ><br>
>     ><br>
>     > _______________________________________________<br>
>     > Mono-devel-list mailing list<br>
>     > <a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
>     <mailto:<a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a>><br>
>     > <a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
>     ><br>
><br>
><br>
>     _______________________________________________<br>
>     Mono-devel-list mailing list<br>
>     <a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
>     <mailto:<a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a>><br>
>     <a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
><br>
><br>
><br>
><br>
> _______________________________________________<br>
> Mono-devel-list mailing list<br>
> <a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
> <a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
><br>
<br>
<br>
_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
</div></div></blockquote></div><br></div>