gnustep-dev
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]