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" <prlw1%cam.ac.uk@localhost>
wrote:
> - 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
> http://mail-index.netbsd.org/pkgsrc-users/2010/09/17/msg012811.html
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.
Details:
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/libcairo.so: undefined
reference to `pixman_image_set_destroy_function'
/home/netbsd/pkgsrc/x11/gtk2/work/.buildlink/lib/libcairo.so: undefined
reference to `pixman_image_composite32'
/home/netbsd/pkgsrc/x11/gtk2/work/.buildlink/lib/libcairo.so: 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 ->
/usr/pkg/lib/libpixman-1.a
-rw-r--r-- 1 idleroux wheel 1034 Sep 18 21:20 libpixman-1.la
lrwxr-xr-x 1 idleroux wheel 27 Sep 18 21:20 libpixman-1.so ->
/usr/pkg/lib/libpixman-1.so
lrwxr-xr-x 1 idleroux wheel 29 Sep 18 21:20 libpixman-1.so.0 ->
/usr/pkg/lib/libpixman-1.so.0
lrwxr-xr-x 1 idleroux wheel 34 Sep 18 21:20 libpixman-1.so.0.18.4 ->
/usr/pkg/lib/libpixman-1.so.0.18.4
Also,
ldd /home/netbsd/pkgsrc/x11/gtk2/work/.buildlink/lib/libcairo.so |grep pixman
-lpixman-1.0 => /usr/pkg/lib/libpixman-1.so.0
nm /usr/pkg/lib/libpixman-1.so.0
[...]
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/libpixman-1.so.0
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
make
then gtk2 builds without error.
So somehow the xsrc libpixman matters, even though it's not the one in
work/.buildlink
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