GNOME Bugzilla – Bug 738746
cerbero's python3 doesn't build any python C modules on Mac OS X 10.10
Last modified: 2018-01-23 11:08:17 UTC
using: variants = ['gtk3', 'python3'] to build pitivi... On Mac OS X 10.10, building glib fails: UNINSTALLED_GLIB_SRCDIR=.. \ UNINSTALLED_GLIB_BUILDDIR=.. \ python3 ./gdbus-2.0/codegen/gdbus-codegen.in \ --interface-prefix org. \ --generate-c-code gdbus-daemon-generated \ --c-namespace _G \ ./dbus-daemon.xml \ Traceback (most recent call last):
+ Trace 234231
from codegen import codegen_main
from . import parser
import xml.parsers.expat
from pyexpat import *
make[2]: *** [gdbus-daemon-generated.c] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 Running command 'make' Recipe 'glib' failed at the build step 'compile' Select an action to proceed: [0] Enter the shell [1] Rebuild the recipe from scratch [2] Rebuild starting from the failed step [3] Skip recipe [4] Abort It appears that pyexpat.so is not being built on OS X 10.10, but somehow the python3 build completes without warnings. Seems to build ok on 10.9, not sure what's up.
It's not just pyexpat -- the whole ~/cerbero/dist/darwin_x86_64/lib/python3.3/lib-dynload/ dir is empty on OS X 10.10, and full of .so files on 10.9.
That looks weird, have those been installed somewhere else instead?
Created attachment 288858 [details] Python3 build log from 10.10 shows weird linking errors on 10.10
It looks like it a) does not link against libpython and b) somehow uses something like -Wl,-no-undefined implicitly. One of the two has to be fixed, ideally b).
I wonder if we should really build python in cerbero rather than using binaries?
Note Apple only ships Python 2.x with the system, so to make a self-contained application package we need Python 3 in the bundle.
Since this is a problem building pitivi, please file any issues against the pitivi tracker. We have since removed these recipes from our cerbero.
For the record, we are thinking to build Pitivi + deps in a Homebrew sandbox and make a shippable app out of that. The formula below can be used currently to install Pitivi on Mac for the moment. It requires rebuilding some GStreamer formulas, so it's not practical as it's slow and also fragile because of the many deps we don't control: https://gist.github.com/aleb/8bfe374e4fe68419567a9d473217da95 Help is welcome.