Re: [gtk-osx-users] [gtk-osx-devel] Previous method for building gtkmm3
- From: Jim Charlton <jim jimc dyndns org>
- To: John Ralls <jralls ceridwen us>
- Cc: charltn gmail com, gtk-osx-users-list gnome org
- Subject: Re: [gtk-osx-users] [gtk-osx-devel] Previous method for building gtkmm3
- Date: Sun, 02 Dec 2012 13:41:42 -0800
On 12-12-01 10:49 PM, John Ralls wrote:
On Dec 1, 2012, at 9:36 PM, Jim Charlton <jim jimc dyndns org> wrote:
On 12-12-01 04:16 PM, John Ralls wrote:
On Dec 1, 2012, at 3:36 PM, Jim Charlton <jim jimc dyndns org> wrote:
On 12-11-06 06:47 AM, John Ralls wrote:
On Nov 5, 2012, at 9:40 PM, JIm Charlton <jim jimc dyndns org> wrote:
On 12-11-05 07:42 PM, John Ralls wrote:
On Nov 5, 2012, at 5:59 PM, JIm Charlton <jim jimc dyndns org> wrote:
On 12-10-25 09:15 AM, John Ralls wrote:
On Oct 23, 2012, at 8:20 PM, Jim Charlton <jim jimc dyndns org> wrote:
If I do
jhbuild buildone cairomm
using either modulesets-stable or unstable, it errors out saying FcPattern has not been declared.
I have a relatively pristine installation of the OS and Xcode. Are we sure that Cairomm does not need FontConfig??? How does one fix this?
Yes. Those functions are protected with #ifdef CAIRO_HAS_FT_FONT. You've managed to confuse configure into defining it.
Given your previous messages, I think you need to make a clean start by deleting everything: jhbuild (in ~/Source), checkoutroot and prefix (by default in ~/gtk/src and ~/gtk/inst respectively), and ~/.jhbuild*. Run the following commands, in order, verbatim:
gtk-osx-build-setup.sh
jhbuild bootstrap
jhbuild --moduleset='http://git.gnome.org/browse/gtk-osx/plain/modulesets-stable/gtk-osx.modules' build meta-gtk-osx-bootstrap meta-gtk-osx-gtk3 meta-gtk-osx-gtkmm
Do not *ever* edit ~/.jhbuildrc. You can use .jhbuildrc-custom to make just about any modification you can program in python. Don't mix modulesets, either: The dependency chains aren't interchangeable, though bootstrap.modules, invoked by `jhbuild bootstrap`, is special and installed in ~/Source/jhbuild/modulesets; there's only one of it. For example, to save some typing, you can create a .jhbuildrc-custom containing the following lines:
moduleset = 'http://git.gnome.org/browse/gtk-osx/plain/modulesets-stable/gtk-osx.modules'
modules = ['meta-gtk-osx-bootstrap', 'meta-gtk-osx-gtk3', 'meta-gtk-osx-gtkmm']
after which you would need only say `jhbuild build` on the command line to accomplish the same task.
Regards,
John Ralls
John:
Sorry that I did not get back to you on your more precise instructions (install gtkmm3). I tried it twice. Each time it stopped during building of freetype saying that there was no target for " install". I told it to ignore that... recalling that freetype was not even needed. It went on to build fontconfig... something else that I thought was not needed. Then it choked on atk (not atkmm). Anyway... I have had some other hardware problems that are taking all of my time so I am not sure when I will get back to it. Perhaps I can try your more recent upgrade to the packages when I get a chance.
*Please* remember to CC the list!
If freedesktop is stopping then you're building stable, from tarballs. That means you're not following my instructions.
Sorry to hear about your hardware issues, that's a real PITA. Hope you can get them resolved quickly.
Regards
John Ralls
Sorry about not posting to the list but I was not sure it was pertinent to the list. As for building from modulesets-stable... yes indeed, that is what I did as that is what you put in your 'verbatim' instructions. I wondered about that. If I ever get things organized here... I will try again.
Sorry, you're right. I did say to build stable, from scratch. But under stable, Freetype and FontConfig *were* required to build Pango, so by ignoring the install error (which was really a failure to run configure), Pango would fail to build.
With the updated stable modulesets, Freetype and friends (now includes Harfbuzz) build only if a later module has a dependency on PangoFc. The only one I'm aware of at this point is WebKit. Not only that, but I've added skip-autogen="never" to Freetype' module description and that seems to stop it skipping configure.
So, when you get your machine sorted out, try again.
Regards,
John Ralls
Hi John:
I finally got some new hardware and tried your procedure again
gtk-osx-build-setup.sh
jhbuild bootstrap
jhbuild --moduleset='http://git.gnome.org/browse/gtk-osx/plain/modulesets-unstable/gtk-osx.modules' build meta-gtk-osx-bootstrap meta-gtk-osx-gtk3 meta-gtk-osx-gtkmm
I get the following failure building cairomm. It still looks like it is trying to use fontconfig... or something.
*** Building cairomm *** [31/35]
make
make all-recursive
Making all in cairomm
/bin/sh ../libtool --tag=CXX --mode=compile /Applications/Xcode.app/Contents/Developer/usr/bin/llvm-g++-4.2 -DHAVE_CONFIG_H -I.. -I.. -I. -I/Users/jim/gtk/inst/include/cairo -I/Users/jim/gtk/inst/include/glib-2.0 -I/Users/jim/gtk/inst/lib/glib-2.0/include -I/Users/jim/gtk/inst/include/pixman-1 -I/Users/jim/gtk/inst/include/libpng15 -I/Users/jim/gtk/inst/include/sigc++-2.0 -I/Users/jim/gtk/inst/lib/sigc++-2.0/include -I/usr/X11/include/freetype2 -I/usr/X11/include -I/Users/jim/gtk/inst/include -Wall -arch x86_64 -mmacosx-version-min=10.7 -MT context.lo -MD -MP -MF .deps/context.Tpo -c -o context.lo context.cc
libtool: compile: /Applications/Xcode.app/Contents/Developer/usr/bin/llvm-g++-4.2 -DHAVE_CONFIG_H -I.. -I.. -I. -I/Users/jim/gtk/inst/include/cairo -I/Users/jim/gtk/inst/include/glib-2.0 -I/Users/jim/gtk/inst/lib/glib-2.0/include -I/Users/jim/gtk/inst/include/pixman-1 -I/Users/jim/gtk/inst/include/libpng15 -I/Users/jim/gtk/inst/include/sigc++-2.0 -I/Users/jim/gtk/inst/lib/sigc++-2.0/include -I/usr/X11/include/freetype2 -I/usr/X11/include -I/Users/jim/gtk/inst/include -Wall -arch x86_64 -mmacosx-version-min=10.7 -MT context.lo -MD -MP -MF .deps/context.Tpo -c context.cc -fno-common -DPIC -o .libs/context.o
In file included from ../cairomm/surface.h:37,
from ../cairomm/context.h:24,
from context.cc:25:
../cairomm/fontoptions.h:151: error: 'FcPattern' has not been declared
In file included from ../cairomm/context.h:25,
from context.cc:25:
../cairomm/fontface.h:477: error: 'FcPattern' has not been declared
../cairomm/fontface.h:481: error: expected `)' before '*' token
make[2]: *** [context.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
*** Error during phase build of cairomm: ########## Error running make *** [31/35]
I don't know what's going on with that. It doesn't happen when I build gtkmm. Perhaps there's something in your environment that's confusing it.
Note that the FcPattern declaration is protected inside #ifdef CAIRO_HAS_FT_FONT. That's not getting defined in my build; why is it in yours? The other weird thing is the -I/usr/X11/include/freetype2 -I/usr/X11/include in that compile command. Where's that coming from?
Regards,
John Ralls
Interesting. My machine has /usr/X11/include/freetype2/freetype/<files> and /usr/X11/include/ft2build.h on it. If I remove the freetype2 directory and then completely rebuild gtkmm, I get complaints from ft2build.h. If I remove ft2build.h as well and completely rebuild gtk, then I get a complaint about the missing ft2build.h. So I think you have it right! Somehow the gtkmm build scripts know that freetype exists on my machine and is trying to use it. How does it know?
/usr/X11 is a standard path, so it's not surprising that configure finds it.
You may need to add
append_autogenargs("cairo", "--enable-ft=no --enable-fc=no")
to your .jhbuildrc-custom.
Regards,
John Ralls
Yes. Before I got your message I just waited for the cairo build to
fail, exited to a jhbuild shell, configured with --prefix=<...>
--libdr=<...> and --enable-ft=no, returned to the build and continued to
build. The build then finished just fine. I am sure your suggestion
would work as well.... but I have not tried it yet.
Thanks for all of your help...
jim...
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]