Thanks for the input on cross compiling with cmake. Using the latest 
version of cmake, and the documentation I made a number of attempts to 
use mingw to build a win32 plplot from a linux host. By the end of the 
day Friday I reached the conclusion that although this is probably 
possible using the new cmake, almost certainly the cmake project itself 
would needs some tweaks. If anyone is interested I can go into the 
details of that.

So today I try a new strategy. I'll try to make a special purpose 
Makefile for this, manually edited config.h etc, and see what happens. 
Before I go trying to get the cross compile to work, I'll try a native 
(linux) version first as an incremental step. This appears to be "so 
close", but maybe I'm still light years away. This is my runtime error 
for my test program (the test program runs fine with a native build via 
cmake):


*** PLPLOT ERROR, IMMEDIATE EXIT ***
Unable to either (1) open/find or (2) allocate memory for the font file
Program aborted

and that's not a segmentation fault which is certainly something to 
celebrate! Maybe someone who actually knows what the real build system 
is suppose to do will get this at first sight? Keep in mind, that 
(especially for the sake of reducing build complexity in this special 
case) all I'm trying to build is the C core library with extcairo. I 
suspect I need to change a #define or something since I'm guessing font 
files don't enter the picture with pangocairo / cairo? I'm on x86_64 
ubuntu 8.04. I think this is all the relevant files:

====== Makefile.linux 
============================================================
#experimental Makefile based mostly
CC = gcc -g
LIBS=`pkg-config --libs cairo pangocairo`
CFLAGS = -I ./include `pkg-config --cflags cairo pangocairo glib-2.0` 
-DHAVE_CONFIG_H
HEADERS = ./include/config.h ./include/plcore.h \
          ./include/pldebug.h ./include/plDevs.h \
          ./include/plplot.h ./include/plplotP.h \
          ./include/plstrm.h ./include/pldll.h \
          ./include/pdf.h ./include/disptab.h \
          ./include/drivers.h ./include/metadefs.h \
          ./lib/nn/nan.h ./include/plevent.h \
          ./include/mt19937ar.h ./include/plhershey-unicode.h

LIBOBJS = ./obj/cairo.o ./obj/null.o ./obj/plargs.o \
          ./obj/plbox.o ./obj/plbuf.o ./obj/plcont.o \
          ./obj/plcore.o ./obj/plctrl.o ./obj/plcvt.o \
          ./obj/pldtik.o ./obj/plfill.o ./obj/plgridd.o \
          ./obj/plhist.o ./obj/plimage.o ./obj/plline.o \
          ./obj/plmap.o ./obj/plot3d.o ./obj/plpage.o \
          ./obj/plsdef.o ./obj/plshade.o ./obj/plstdio.o \
          ./obj/plstripc.o ./obj/plsym.o ./obj/pltick.o \
          ./obj/plvect.o ./obj/plvpor.o ./obj/plwind.o \
          ./obj/pdfutils.o ./obj/mt19937ar.o

all: libplplot.so libcsirocsa.so test1

./obj/csa.o : ./lib/csa/csa.c ./lib/csa/csa.h ./lib/csa/nan.h 
./lib/csa/version.h
    $(CC) -fpic $(CFLAGS) -c ./lib/csa/csa.c -o ./obj/csa.o

libcsirocsa.so : ./obj/csa.o
    $(CC) -shared -Wl,-soname,libcsirocsa.so -o libcsirocsa.so

libplplot.so : $(LIBOBJS) libcsirocsa.so
    $(CC) -shared -Wl,-soname,libplplot.so -o libplplot.so $(LIBOBJS) 
$(LIBS) libcsirocsa.so

./obj/mt19937ar.o : ./src/mt19937ar.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/mt19937ar.c -o ./obj/mt19937ar.o

./obj/cairo.o : ./drivers/cairo.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./drivers/cairo.c -o ./obj/cairo.o

./obj/null.o : ./drivers/null.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./drivers/null.c -o ./obj/null.o

./obj/plargs.o : ./src/plargs.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plargs.c -o ./obj/plargs.o

./obj/plbox.o : ./src/plbox.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plbox.c -o ./obj/plbox.o

./obj/plbuf.o : ./src/plbuf.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plbuf.c -o ./obj/plbuf.o

./obj/plcont.o : ./src/plcont.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plcont.c -o ./obj/plcont.o

./obj/plcore.o : ./src/plcore.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plcore.c -o ./obj/plcore.o

./obj/plctrl.o : ./src/plctrl.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plctrl.c -o ./obj/plctrl.o

./obj/plcvt.o : ./src/plcvt.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plcvt.c -o ./obj/plcvt.o

./obj/pldtik.o : ./src/pldtik.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/pldtik.c -o ./obj/pldtik.o

./obj/plfill.o : ./src/plfill.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plfill.c -o ./obj/plfill.o

./obj/plgridd.o : ./src/plgridd.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plgridd.c -o ./obj/plgridd.o

./obj/plhist.o : ./src/plhist.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plhist.c -o ./obj/plhist.o

./obj/plimage.o : ./src/plimage.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plimage.c -o ./obj/plimage.o

./obj/plline.o : ./src/plline.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plline.c -o ./obj/plline.o

./obj/plmap.o : ./src/plmap.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plmap.c -o ./obj/plmap.o

./obj/plot3d.o : ./src/plot3d.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plot3d.c -o ./obj/plot3d.o

./obj/plpage.o : ./src/plpage.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plpage.c -o ./obj/plpage.o

./obj/plsdef.o : ./src/plsdef.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plsdef.c -o ./obj/plsdef.o

./obj/plshade.o : ./src/plshade.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plshade.c -o ./obj/plshade.o

./obj/plstdio.o : ./src/plstdio.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plstdio.c -o ./obj/plstdio.o

./obj/plstripc.o : ./src/plstripc.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plstripc.c -o ./obj/plstripc.o

./obj/pltick.o : ./src/pltick.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/pltick.c -o ./obj/pltick.o

./obj/plvect.o : ./src/plvect.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plvect.c -o ./obj/plvect.o

./obj/plvpor.o : ./src/plvpor.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plvpor.c -o ./obj/plvpor.o

./obj/plwind.o : ./src/plwind.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plwind.c -o ./obj/plwind.o

./obj/plsym.o : ./src/plsym.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/plsym.c -o ./obj/plsym.o

./obj/pdfutils.o : ./src/pdfutils.c $(HEADERS)
    $(CC) -fpic $(CFLAGS) -c ./src/pdfutils.c -o ./obj/pdfutils.o

test1 : libplplot.so
    $(CC) -I ./include `pkg-config --cflags cairo` test1.c libplplot.so 
libcsirocsa.so -o test1

clean:
    rm -f ./obj/*
    rm -f libcsirocsa.so
    rm -f libplplot.so
    rm -f test1


============ test1.c - taken from mailing list archives ==================

#include <stdio.h>

#include <cairo.h>
#include <cairo-ps.h>
#include <plplot.h>

int main(int argc, char *argv[])
{
 cairo_surface_t *cairoSurface;
 cairo_t *cairoContext;

 cairoSurface = cairo_ps_surface_create("test.ps", 720, 540);
 cairoContext = cairo_create(cairoSurface);

 plsdev("extcairo");
 plinit();
 pl_cmd(PLESC_DEVINIT, cairoContext);
 plenv(0.0, 1.0, 0.0, 1.0, 1, 0);
 pllab("x", "y", "title");
 plend();

 cairo_destroy(cairoContext);
 cairo_surface_destroy(cairoSurface);

 return 0;
}

================ config.h (total guessing) =========================
this is long so I'll post if anyone cares.



------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Plplot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to