Re: [gtk-osx-users] [gtk-osx-devel] Previous method for building gtkmm3



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



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