On Mon, 2005-08-29 at 18:22 +1000, jim wrote:
> Package: libcairo2
> Version: 1.0.0-1
> Severity: important
> 
> Building openoffice.org SRC680_m125 with GNU/Linux sparc debian/unstable 
> gcc-4.0 gcj-4.0
> 
> Making: ../../unxlngs.pro/lib/libofficebean.so
> ccache g++-4.0 -z combreloc -Wl,-z,defs -Wl,-rpath,'$ORIGIN' -shared
> -L../../unxlngs.pro/lib -L../lib -L/home/jim/ooo680/solenv/unxlngs/lib
> -L/home/jim/ooo680/solver/680/unxlngs.pro/lib
> -L/home/jim/ooo680/solenv/unxlngs/lib -L/usr/lib -L/usr/jre/lib/sparc
> -L/usr/jre/lib/sparc/client -L/usr/jre/lib/sparc/native_threads
> -L/usr/X11R6/lib
> .../../unxlngs.pro/slo/officebean_version.o -o
> .../../unxlngs.pro/lib/libofficebean.so
> .../../unxlngs.pro/slo/com_sun_star_comp_beans_LocalOfficeWindow.o
> .../../unxlngs.pro/slo/com_sun_star_beans_LocalOfficeWindow.o -lgcjawt -lgcj
> -lstdc++ -ldl -lpthread -lm
> rm -f ../../unxlngs.pro/lib/check_libofficebean.so
> mv ../../unxlngs.pro/lib/libofficebean.so
> .../../unxlngs.pro/lib/check_libofficebean.so
> /home/jim/ooo680/solenv/bin/checkdll.sh -L../../unxlngs.pro/lib -L../lib
> -L/home/jim/ooo680/solenv/unxlngs/lib
> -L/home/jim/ooo680/solver/680/unxlngs.pro/lib
> -L/home/jim/ooo680/solenv/unxlngs/lib -L/usr/lib -L/usr/jre/lib/sparc
> -L/usr/jre/lib/sparc/client -L/usr/jre/lib/sparc/native_threads
> -L/usr/X11R6/lib
> .../../unxlngs.pro/lib/check_libofficebean.so
> Checking DLL ../../unxlngs.pro/lib/check_libofficebean.so ...: ERROR:
> /usr/lib/libcairo.so.2: undefinedsymbol: FT_GlyphSlot_Embolden
> dmake:  Error code 1, while making '../../unxlngs.pro/lib/libofficebean.so'
> '---* tg_merge.mk *---'
> 
> ERROR: Error 65280 occurred while making /home/jim/ooo680/bean/native/unix

So a program in the OO.o build called CheckDLL gives an ERROR

> libcairo and libfreetype6 are latest.
> 
> [EMAIL PROTECTED]:~$ nm -D /usr/lib/libcairo.so | grep FT_GlyphSlot_Embolden
>          U FT_GlyphSlot_Embolden
> 
> [EMAIL PROTECTED]:~$ nm -D /usr/lib/libfreetype.so.6 |  grep 
> FT_GlyphSlot_Embolden
> 00013dc8 T FT_GlyphSlot_Embolden

Yes it's undefined and libcairo.so has a dynamic library dependency on
libfreetype.so.6 so when you dyload it, it should bring it in and make
it defined:

$ objdump -p /usr/lib/libcairo.so | grep freetype
   NEEDED      libfreetype.so.6

This should happen automatically if your shared libraries are installed
properly.  Trivial test:

$ cat foo.c
#include <cairo.h>
main () {
  FT_GlyphSlot_Embolden();
}

$ gcc -o foo foo.c `pkg-config cairo --libs` `pkg-config cairo --cflags`
$ ./foo
$ ldd ./foo
        linux-gate.so.1 =>  (0xffffe000)
        libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb7f3c000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7e05000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7d98000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb7d90000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb7cc5000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb7c9f000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb7c70000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7c5c000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7c37000)
        /lib/ld-linux.so.2 (0xb7fa0000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7c33000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb7c12000)


I'm struggling to see why this is a bug with libcairo2


> -- System Information:
> Debian Release: testing/unstable
>   APT prefers unstable
>   APT policy: (500, 'unstable')
> Architecture: sparc (sparc64)
> Shell:  /bin/sh linked to /bin/bash
> Kernel: Linux 2.6.8-2-sparc64
> Locale: LANG=en_AU, LC_CTYPE=en_AU (charmap=ISO-8859-1)
> 
> Versions of packages libcairo2 depends on:
> ii  libc6                     2.3.5-3        GNU C Library: Shared libraries 
> an
> ii  libfontconfig1            2.3.2-1        generic font configuration 
> library
> ii  libfreetype6              2.1.10-1       FreeType 2 font engine, shared 
> lib
> ii  libpng12-0                1.2.8rel-1     PNG library - runtime
> ii  libx11-6                  6.8.2.dfsg.1-5 X Window System protocol client 
> li
> ii  libxrender1               1:0.9.0-2      X Rendering Extension client 
> libra
> ii  xlibs                     6.8.2.dfsg.1-5 X Window System client libraries 
> m
> ii  zlib1g                    1:1.2.3-3      compression library - runtime

As the dependencies say; libcairo2 needs libfreetype6 installed and you
do have both.

Dave

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to