pkgsrc-Users archive

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

Re: travails of the pixman upgrade [Was: Is pango still broken? (vim-gtk2 won't build)]

On Sat, 18 Sep 2010 12:39 +0100, "Patrick Welche" <> 
> - I think the Ian is running NetBSD 5.0.2, and is probably hitting
>   gtk+ configure failing while trying to work out pango compile flags
>   because for some reason cairo doesn't see symbols in libpixman.
>   (I have no idea why - take a look at gtk2's config.log output...)
> [...]
> I still don't understand

I don't either, but I'm now sure that the build is somehow finding
the base (xsrc) pixman. If I move the base libpixman out of the
way the build succeeds.


I'm running NetBSD/amd64-5.0.2, with default (xsrc) X11.  I ran
  pkg_delete -r pixman
  cd /usr/pkgsrc && rm -rf */*/work
Then ran "make install" by hand for pixman, cairo, pango, and gtk2,
in that order.  The first three succeeded without error.  The last
failed with the usual configure error.

  /home/netbsd/pkgsrc/x11/gtk2/work/.buildlink/lib/ undefined 
reference to `pixman_image_set_destroy_function'
  /home/netbsd/pkgsrc/x11/gtk2/work/.buildlink/lib/ undefined 
reference to `pixman_image_composite32'
  /home/netbsd/pkgsrc/x11/gtk2/work/.buildlink/lib/ undefined 
reference to `pixman_image_fill_boxes'

Note that the pixman libraries linked from .buildlink are the
correct (pkgsrc) ones:
  spip:/usr/pkgsrc/x11/gtk2/work/.buildlink/lib$ ls -l *pixman*
  lrwxr-xr-x  1 idleroux  wheel    26 Sep 18 21:20 libpixman-1.a ->
  -rw-r--r--  1 idleroux  wheel  1034 Sep 18 21:20
  lrwxr-xr-x  1 idleroux  wheel    27 Sep 18 21:20 ->
  lrwxr-xr-x  1 idleroux  wheel    29 Sep 18 21:20 ->
  lrwxr-xr-x  1 idleroux  wheel    34 Sep 18 21:20 ->
  ldd /home/netbsd/pkgsrc/x11/gtk2/work/.buildlink/lib/ |grep pixman
        -lpixman-1.0 => /usr/pkg/lib/
  nm /usr/pkg/lib/
  000000000002fc10 T pixman_image_composite32
  0000000000030ce0 T pixman_image_fill_boxes
  0000000000017a90 T pixman_image_set_destroy_function

However, these symbols are absent from /usr/X11R7/lib/

Now if I get rid of xsrc pixman:
  cd /usr/X11R7/lib
  mkdir pixman-temp
  mv libpixman* pixman-temp
  cd /usr/pkgsrc/x11/gtk2
  make clean clean-depends
then gtk2 builds without error.

So somehow the xsrc libpixman matters, even though it's not the one in

I've no experience with shared library debugging or buildlink, but
I hope someone else will find this instructive (and educate me).

Ian Leroux

Home | Main Index | Thread Index | Old Index