FW: Advice on distributing a project
Langer, Stephen A. (Fed)
stephen.langer at nist.gov
Thu Jun 28 18:10:33 UTC 2018
Oops -- forgot to reply to the list.
On 6/28/18, 2:09 PM, "Langer, Stephen A. (Fed)" <stephen.langer at nist.gov<mailto:stephen.langer at nist.gov>> wrote:
On 6/28/18, 12:17 PM, "Ryan Schmidt" <ryandesign at macports.org> wrote:
On Jun 28, 2018, at 11:02, Langer, Stephen A. (Fed) wrote:
> In any case, thanks to all of your suggestions, I can now build and install using the Portfile. I can create an mpkg and install from it. However, the contents of the mpkg are incorrect. There are missing symbols in libgio-2.0.dylib, which is installed by the glib2 port, so I suspect it has something to do with with https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftrac.macports.org%2Fticket%2F54981&data=02%7C01%7Cstephen.langer%40nist.gov%7Cfd2f55278e2146cc452008d5dd12a3f3%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C1%7C636657994483797873&sdata=mz08XDFBBXvwOwIXwHWLvNgpg2EjFUOrpNcjUlHGH%2Fg%3D&reserved=0. I installed glib2 with +x11 and installed everything else with +quartz, which is the only way to get gtk2 working on quartz.
This is surprising to me and probably not what we intended. If you want quartz, you're supposed to have to use the quartz variant for everything, and if you instead want x11, you're supposed to have to use the x11 variant for everything. I don't use the quartz variants so I don't have personal experience with them.
I uninstalled glib2 and reinstalled it with +quartz -x11. My program fails at start up with
dyld: lazy symbol binding failed: Symbol not found: _g_desktop_app_info_get_type
Referenced from: /opt/local/stow/ports-quartz/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gtk-2.0/gio/unix.so
Expected in: flat namespace
unix.so comes from py27-gobject, so I forced it to rebuild with
sudo port uninstall py27-gobject
sudo port clean py27-gobject
sudo port install pyg27-gobject +quartz
which leads to a build failure. The log file contains
:info:build CC _gio_la-gio.lo
:info:build unix.override:27:10: fatal error: 'gio/gdesktopappinfo.h' file not found
:info:build #include <gio/gdesktopappinfo.h>
> Would mpkg have somehow pulled in the +quartz version?
It sounds like maybe it did. How did you invoke sudo port mpkg -- what arguments? Did any of its output show that it deactivated your x11 version of glib2 and activated the quartz version?
I just ran "sudo port mpkg oof3d", without any other arguments. I had changed my PATH so that only the minimal, non-standardly-located ports directory was visible. (Minimal means only dependencies of oof3 are installed.) I don’t remember any output showing that it switched glib2 versions, and only the x11 version is installed now. I'll re-run mpkg to make sure, but I made the mistake of running upgrade outdated, and it's going to take forever. Does it build everything from source because macports isn't installed in the standard location?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the macports-users