<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div apple-content-edited="true"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div><font class="Apple-style-span" color="#0000FF" face="'Gill Sans'"><span class="Apple-style-span" style="font-size: medium;">I think we are converging on a reasonable compromise (as noted in my other responses).</span></font></div></span></span></span></span></span></span></span></span></div></span></div></span> </div><br><div><div>On 2 Jul 2009, at 15:59, Jay wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div class="hmmessage" style="font-size: 10pt; font-family: Verdana; "><span class="EC_Apple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal medium/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; ">> copy and commit the source to cm3 is viable</span><br><div>> I don't know what this sentence means.</div><div> </div><div>I don't have to be copying files around in the build order for cm3 to create hard links.</div><div>I can just copy on my machine and commit to cvs a little bit of code to do it.</div><div>That isn't nearly as hacky.</div><div><br></div><blockquote><span class="EC_Apple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal medium/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><div class="EC_hmmessage" style="font-family: Verdana; font-size: 10pt; ">> heck, use a relative instead of absolute from ROOT</div></span></blockquote><div> > ditto</div><div> </div><div> </div><div>$origin it turns out<span class="Apple-converted-space"> </span><em>is<span class="Apple-converted-space"> </span></em>very portable.</div><div> Every system we support except NetBSD 4.0 seems to have it, and even some we don't currently support.</div><div> And NetBSD 5.0, which already released, has it.</div><div> And MacOSX is plenty close enough. It is a matter of relative to the executable or the reference, and which OS version you support. I believe newer versions relaly do have $origin by another name, but 10.4 has relative to the executable, which is good enough to me.</div><div> </div><div>If you don't use $origin, then people either must install to the one true place, or they must use LD_LIBRARY_PATH, or they must rebuild/relink/fixup themselves.</div><div> </div><div>LD_LIBRARY_PATH is widely panned.</div><div>Having to rebuild seems onerous for most people.</div><div>Having a choice of where to install? Important?</div><div> </div><div> </div><blockquote><font color="#000000">><span class="Apple-converted-space"> </span></font>Right. rpaths in the executable should do the trick.<br> <br>Just in the executable? Shouldn't they somewhat be in the shared libraries?<br>If foo uses libm3 and libm3 uses m3core and foo doesn't use m3core, arguably foo shouldn't mention m3core, only libm3 should.<br></blockquote><div><br></div><blockquote> </blockquote><div> > Ideally we use the same approach for *all* platforms. So, what do all platforms have in common.</div><div> </div><div>$origin comes<span class="Apple-converted-space"> </span><em>extremely<span class="Apple-converted-space"> </span></em>close to that, and provides the benefit that user can specify where to install.</div><div><br></div><div><font color="#000000" size="3" face="Helvetica"></font><br></div><div> > and if there is need for override use $LD_LIBRARY_PATH.</div><div> </div><div>But again (I know, I repeated myself, so you did, now I am), this forces any install to non-default location to use LD_LIBRARY_PATH. It is an option. But $origin is also /very/ portable...</div><div><br></div><div><font color="#000000" size="3" face="Helvetica"> >><span class="Apple-converted-space"> </span></font>But if everything goes in INSTALL_ROOT/lib we have only one directory, right?</div><div> </div><div>Correct. That is what I achieved with the hardlinks, and will try to achieve shortly without them.<br><br></div><div> > Surely, building for a distro can build in the right path.</div><div> </div><div>Not really. It would disrupt the running multiuser system.</div><div>But it can probably use -rpath to stick paths in that don't correspond to the "staging" area.</div><div> </div><div> </div><div> > Where did /tmp/cm3 come from?</div><div> </div><div>The distribution builds in /tmp. You don't have to be root or disrupt the running machine to build a distribution.</div><div>There a question maybe of if the resulting files should be owned by root?</div><div> </div><div><br></div><div> > Elegance is also a concern.</div> <br>Agreed. Copying files in the build isn't elegant. The result is elegant imho.<br>Hardlinks aren't elegant? I don't know.<br><div>Anyway, ok, I'll just put the files in lib and no hardlinks, I'll try that.<br></div><blockquote><span class="EC_Apple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal medium/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; ">> Now, keep in mind, that unshipped binaries sometimes people like to work</span></blockquote><div> > I don't know understand what you are trying to say here.</div><div> </div><div>Let me think about unshipped binaries later..</div><div>One thing is that $origin doesn't work with unshipped binaries.</div><div>By default we put in both $origin and the full path you like.</div><div>But imho distributions should just have $origin.</div><div>Or if user can't chose install location, maybe just the full path.</div><div>The big question is if user can chose where to install.</div><div>On birch I use $HOME/cm3.</div><div>Seems kind of important/useful?</div> <br> <br> - Jay<br><br></div></span></blockquote></div><br></body></html>