pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pangomm split from gtkmm / pango dependencies / gtkmm build failure



For the archives ... many hours wasted ...

Trying to build gimmage (to commit). It failed because missing dependency 
pangomm. The gtkmm that should bring that in was good enough, but already 
installed. gtkmm split out pangomm to new package but nothing to force 
that. The fix for that is simply:

--- x11/gtkmm/buildlink3.mk     20 Mar 2009 19:25:42 -0000      1.15
+++ x11/gtkmm/buildlink3.mk     15 Apr 2009 03:51:30 -0000
@@ -5,8 +5,8 @@
 .if !defined(GTKMM_BUILDLINK3_MK)
 GTKMM_BUILDLINK3_MK:=
 
-BUILDLINK_API_DEPENDS.gtkmm+=  gtkmm>=2.6.3
-BUILDLINK_ABI_DEPENDS.gtkmm+=  gtkmm>=2.14.1
+# increase API_DEPENDS as a hack because now depends on pangomm
+BUILDLINK_API_DEPENDS.gtkmm+=  gtkmm>=2.14.1
 BUILDLINK_PKGSRCDIR.gtkmm?=    ../../x11/gtkmm

I committed that (after the following).

But then that made new pangomm build and next problem is installing pango 
had many PLIST problems:

ERROR: The following files are in the PLIST but not in /usr/pkg:
ERROR:         /usr/pkg/include/pango-1.0/pango/pango-ot.h
ERROR:         /usr/pkg/include/pango-1.0/pango/pangocairo.h
ERROR:         /usr/pkg/include/pango-1.0/pango/pangofc-decoder.h
ERROR:         /usr/pkg/include/pango-1.0/pango/pangofc-font.h
ERROR:         /usr/pkg/include/pango-1.0/pango/pangofc-fontmap.h
ERROR:         /usr/pkg/include/pango-1.0/pango/pangoft2.h
ERROR:         /usr/pkg/include/pango-1.0/pango/pangoxft-render.h
ERROR:         /usr/pkg/include/pango-1.0/pango/pangoxft.h
ERROR:         /usr/pkg/lib/libpangocairo-1.0.la
ERROR:         /usr/pkg/lib/libpangoft2-1.0.la
ERROR:         /usr/pkg/lib/libpangoxft-1.0.la
ERROR:         /usr/pkg/lib/pango/1.6.0/modules/pango-arabic-fc.la
ERROR:         /usr/pkg/lib/pango/1.6.0/modules/pango-basic-fc.la
ERROR:         /usr/pkg/lib/pango/1.6.0/modules/pango-hangul-fc.la
ERROR:         /usr/pkg/lib/pango/1.6.0/modules/pango-hebrew-fc.la
ERROR:         /usr/pkg/lib/pango/1.6.0/modules/pango-indic-fc.la
ERROR:         /usr/pkg/lib/pango/1.6.0/modules/pango-khmer-fc.la
ERROR:         /usr/pkg/lib/pango/1.6.0/modules/pango-syriac-fc.la
ERROR:         /usr/pkg/lib/pango/1.6.0/modules/pango-thai-fc.la
ERROR:         /usr/pkg/lib/pango/1.6.0/modules/pango-tibetan-fc.la
ERROR:         /usr/pkg/lib/pkgconfig/pangocairo.pc
ERROR:         /usr/pkg/lib/pkgconfig/pangoft2.pc
ERROR:         /usr/pkg/lib/pkgconfig/pangoxft.pc

So I see:

  libthai is not buildlinked.

configure:19887: checking which cairo font backends could be used
configure:19893: result: none
configure:19895: Disabling cairo support

  configure: Disabling cairo support
cairo_required=1.7.6

  Requested 'fontconfig >= 2.5.0' but version of Fontconfig is 2.4.2

  /* #undef HAVE_XFT */

  /* #undef HAVE_FREETYPE */

So libthai is not needed (I tried with for the PLIST). But newer 
fontconfig is needed.

Fix was easy:
+BUILDLINK_API_DEPENDS.fontconfig+=     fontconfig>=2.5.0
 
I committed that for pango.

My next problem was in gtkmm again. The configure failed due to old 
glibmm. My first workaround:
+BUILDLINK_API_DEPENDS.glibmm+= glibmm>=2.18.0
But then it failed at buildlink3 time because older glibmm was installed 
but not good enough (via a different dependency). So explicitely checked 
here with:
+.include "../../devel/glibmm/buildlink3.mk"

(I committed that too.)

And then the later build of gtkmm fails with:

ld: 
/usr/pkgsrc/x11/gtkmm/work/.buildlink/lib/libpangomm-1.4.a(layoutline.o): 
relocation R_X86_64_32 against `__gxx_personality_v0' can not be used when 
making a shared object; recompile with -fPIC
/usr/pkgsrc/x11/gtkmm/work/.buildlink/lib/libpangomm-1.4.a: could not read 
symbols: Bad value
gmake[5]: *** [libgdkmm-2.4.la] Error 1

Seems it should use shared object and not that archive file. So I noticed 
I don't have a /usr/pkg/lib/libpangomm-1.4.so symlink (and so not 
buildlinked either). So I manually created the symlink the buildlink 
directory.

I was using make replace ... so I think since old gtkmm used to have this 
pangomm components it removed several of the newer pangomm files. So 
reinstalled pangomm and it had that symlink.

So I added a conflict in pangomm, which would have stopped me from 
installing pangomm when I still had old gtkmm installed.

For what its worth, I got gimmage imported.


Home | Main Index | Thread Index | Old Index