<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">My understanding is that dylibbundler is only for making double-clickable Mac apps.  Perhaps I’m wrong.<div class=""><br class=""></div><div class="">When you say "I need these to work in non-standard, non-root locations”, what is it that you are concerned about?  </div><div class=""><br class=""></div><div class="">If you create an installer with MacPorts, the user is going to need an administrator password successfully deploy the software.  After that, the user should be able to run your program from the Terminal with any userid.  It will be more convenient if they modify their PATH to include the location your software is installed into.  For example, if you use the prefix ‘/opt/manav’ when creating your installer, they will likely need to add ‘/opt/manav/bin’ to their PATH.  That’s it.  You won’t have to mess around with fixing up embedded paths—they remain the same from build system to deployed software.  </div><div class=""><br class=""></div><div class="">Craig</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jul 20, 2018, at 2:24 PM, Manav Bhatia <<a href="mailto:bhatiamanav@gmail.com" class="">bhatiamanav@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div dir="auto" class="">No GUI. My app is a terminal application with plenty of dependencies. My users are at places and on systems without root access. <div class=""><br class=""></div><div class="">I am not sure what the best approach is here, but I am looking at various options where I can distribute precompiled binaries. </div><div class=""><br class=""></div><div class="">Dylibbundler sounds interesting but I have no experience to try to judge its limitations. </div><div class=""><br class=""></div><div class="">I am also looking at CPack (from cmake), which seems to have some promise as it is cross-platform compatible, so I can use the same cmake configuration script to create bundles on Mac and Linux. </div><div class=""><br class=""></div><div class="">I need these to work in non-standard, non-root locations. </div><div class=""><br class=""></div><div class="">This should not be so difficult. </div><div class=""><br class=""></div><div class="">-Manav</div><div class=""><br class=""><div class="">Sent from my iPhone</div><div class=""><br class="">On Jul 20, 2018, at 1:01 PM, Craig Treleaven <<a href="mailto:ctreleaven@macports.org" class="">ctreleaven@macports.org</a>> wrote:<br class=""><br class=""></div><blockquote type="cite" class=""><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class="">Others will have to advise you on dylibbundler; it doesn’t do what I need so I’ve never used it.<div class=""><br class=""></div><div class="">Does your app provide a Mac gui?  Otherwise, it doesn’t make sense to create an app bundle.</div><div class=""><br class=""></div><div class="">Craig</div><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Jul 20, 2018, at 11:03 AM, Manav Bhatia <<a href="mailto:bhatiamanav@gmail.com" class="">bhatiamanav@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">I typically do:<div class=""><br class=""></div><div class="">$ port install openmpi-clang hdf5 eigen boost </div><div class=""><br class=""></div><div class="">before building my application. This installs (a lot of) dependencies, including gcc. </div><div class=""><br class=""></div><div class="">Thanks for pointing me to dylibbundler. I was not aware of that. I will look into the details of this package. </div><div class=""><br class=""></div><div class="">Will this be able to take ports installed in a default /opt/local location and pack them in an app bundle? </div><div class=""><br class=""></div><div class="">-Manav<br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Jul 20, 2018, at 9:53 AM, Craig Treleaven <<a href="mailto:ctreleaven@macports.org" class="">ctreleaven@macports.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote type="cite" class=""><div class="">On Jul 20, 2018, at 8:51 AM, Manav Bhatia <<a href="mailto:bhatiamanav@gmail.com" class="">bhatiamanav@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;">Thanks. </div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br class=""></div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;">I saw some instructions related to octave that describes creations of an app bundle that can be put anywhere: <a href="https://wiki.octave.org/Create_a_MacOS_X_App_Bundle_Using_MacPorts" class="">https://wiki.octave.org/Create_a_MacOS_X_App_Bundle_Using_MacPorts</a></div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br class=""></div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;">One of the commands they used is install_name_tool: </div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><pre class="" style="font-family: monospace, Courier; background-color: rgb(248, 249, 250); border: 1px solid rgb(234, 236, 240); padding: 1em; white-space: pre-wrap; line-height: 1.3em; font-size: 14px;">install_name_tool -change /opt/local/libiconv.2.dylib @executable_path/../lib/libiconv.2.dylib Octave-3.7.0+
</pre></div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br class=""></div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;">So, if I only keep the specific header files and relevant dyld files, with enough care something like this should be possible (?). </div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br class=""></div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;">-Manav</div><br class="Apple-interchange-newline"></div></blockquote></div><br class="" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><div class="" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;">Creating a Mac application bundle is a somewhat different objective from what I thought was your stated goal.  You haven’t said what you want to package.</div><div class="" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><br class=""></div><div class="" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;">If it is appropriate to package your app as an app bundle, then perhaps dylibbundler is what you need.  Check ‘port info dylibbundler’ and ‘port gohome dylibbundler’.</div><div class="" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><br class=""></div><div class="" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;">Craig</div></div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></div></div></blockquote></div></div></div></blockquote></div><br class=""></div></body></html>