[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: cairo on netbsd undefined symbol problem cairo_xlib_surface_create
From: |
Wolfgang Lux |
Subject: |
Re: cairo on netbsd undefined symbol problem cairo_xlib_surface_create |
Date: |
Tue, 10 Dec 2013 21:52:44 +0100 |
Riccardo Mottola wrote:
> Hi,
>
> I just installed the cairo backend on NetBSD 6.1.2. (latest) with all
> dependencies, including cairo, gotten from the latest binary packages.
>
> When i try to start any application, like Ink, I do get:
>
> /System/Library/Bundles/libgnustep-back-023.bundle/./libgnustep-back-023:
> Undefined PLT symbol "cairo_xlib_surface_create" (symnum = 537)
which is not much of a surprise, given the output from ldd below. It obviously
lacks a reference to libcairo.so.
> My cairo is:
>
> narsil$ pkg_info | grep cairo
> cairo-1.12.16 Vector graphics library with cross-device output support
> cairo-gobject-1.12.16 Vector graphics library with cross-device output support
>
> I configure with:
> $ ./configure CC=clang CPPFLAGS=-I/usr/pkg/include/cairo
> -I/usr/X11R7/include/freetype2/
>
> (-I extra flags to find the cairo and ft2 headers).
You shouldn't need these flags. Pkg_config should find them for you, try
pkg-config --cflags cairo. :-)
> Everything seem sto compile and link smoothly.
>
> cairo linking appears to be done with:
> clang -nostdlib -Wl,-r -rdynamic -Wl,-R/usr/pkg/lib -L/usr/pkg/lib
> -Wl,-R/usr/X11R6/lib -L/usr/X11R6/lib -pthread -fexceptions
> -fobjc-nonfragile-abi -o ./obj/subproject.o obj/cairo.obj/CairoSurface.m.o
> obj/cairo.obj/CairoFontInfo.m.o obj/cairo.obj/CairoGState.m.o
> obj/cairo.obj/CairoContext.m.o obj/cairo.obj/CairoFontEnumerator.m.o
> obj/cairo.obj/CairoFaceInfo.m.o obj/cairo.obj/CairoPSSurface.m.o
> obj/cairo.obj/CairoPDFSurface.m.o obj/cairo.obj/../fontconfig/FCFaceInfo.m.o
> obj/cairo.obj/../fontconfig/FCFontEnumerator.m.o
> obj/cairo.obj/../fontconfig/FCFontInfo.m.o obj/cairo.obj/XGCairoSurface.m.o
> obj/cairo.obj/XGCairoXImageSurface.m.o obj/cairo.obj/XGCairoModernSurface.m.o
> ;
> clang: warning: argument unused during compilation: '-pthread'
Here is the problem: The command line lacks an -lcairo option (and -lpixman as
well). Again those flags should be provided by pkg-config. For instance, on my
NetBSD system pkg-config --libs cairo returns
-Wl,-R/usr/pkg/lib -L/usr/pkg/lib -lcairo
Wolfgang