Re: [gtk-osx-devel] Building gtk+3 on macOS - libepoxy problem




On Nov 3, 2016, at 2:14 PM, Марко М. Костић <marko m kostic gmail com> wrote:

Hi everyone.

First time trying to build gtk+3 on macOS 10.12.1 via jhbuild. I've bootstraped jhbuild environment using
the instructions on the page https://wiki.gnome.org/Projects/GTK+/OSX/Building.

The building process was something like this:
echo 'export PATH=$PATH:/Users/MYUSERONMACOS/.local/bin' >> ~/.bash_profile
source ~/.bash_profile
curl https://git.gnome.org/browse/gtk-osx/plain/gtk-osx-build-setup.sh -o gtk-osx-build-setup.sh
sh ./gtk-osx-build-setup.sh
echo 'build_policy = "updated-deps"' >> ~/.jhbuildrc-custom
jhbuild bootstrap
jhbuild update meta-gtk-osx-bootstrap meta-gtk-osx-core meta-gtk-osx-gtk3
jhbuild build --no-network meta-gtk-osx-bootstrap meta-gtk-osx-core meta-gtk-osx-gtk3

Everything was fine and building until jhbuild started building libepoxy. It was failing to build due to
undefined symbols. The output follows:

*** Building libepoxy *** [33/43]
make -j 3
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
Making all in include/epoxy
make[2]: Nothing to be done for `all'.
Making all in src
cp ./../include/epoxy/config.h.guess ./../include/epoxy/config.h
.././install-sh -c -d ../include/epoxy
 GEN      glx_generated_dispatch.c
 GEN      egl_generated_dispatch.c
 GEN      gl_generated_dispatch.c
 GEN      wgl_generated_dispatch.c
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
 CC       dispatch_common.lo
 CC       gl_generated_dispatch.lo
 CCLD     libepoxy.la
Undefined symbols for architecture x86_64:
 "_epoxy_eglGetCurrentContext", referenced from:
     _epoxy_egl_get_current_gl_context_api in dispatch_common.o
     _epoxy_get_bootstrap_proc_address in dispatch_common.o
 "_epoxy_eglGetCurrentDisplay", referenced from:
     _epoxy_egl_get_current_gl_context_api in dispatch_common.o
     _epoxy_get_bootstrap_proc_address in dispatch_common.o
 "_epoxy_eglGetProcAddress", referenced from:
     _epoxy_get_proc_address in dispatch_common.o
 "_epoxy_eglQueryContext", referenced from:
     _epoxy_egl_get_current_gl_context_api in dispatch_common.o
     _epoxy_get_bootstrap_proc_address in dispatch_common.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [libepoxy.la] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
*** Error during phase build of libepoxy: ########## Error running make -j 3  *** [33/43]

I think that the cause of this problem is the usage of clang compilers/linkers (from XCode 8.1) instead
of using gcc for this but I am not sure because I'm new to macOS ecosystem.

Any tips on how to resolve this issue and compile libepoxy sucessfully under macOS 10.12.1?

libepoxy master seems to default to EGL, which is of course not present. I got it to build by opening a shell 
and saying:
  git reset --hard
  git clean -fdx
  git checkout -b libepoxy-1.3 v1.3
and then re-running configure. I'll push a change later to do this in the moduleset.

Regards,
John Ralls




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]