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