Dirk,
Thanks for all of your help! I'm starting to figure this out little by little.

Ok, I have gone back to SerializeClass because it is the easiest (fewest 
dependencies). I used quilt to create the patch file as you instructed and it 
compiles and creates a libSerializeClass.so in the staging dir however, file 
libSerializeClass.so still gives me:

libSerializeClass.so: ELF 32-bit LSB shared object, Intel 80386, version 1 
(SYSV), not stripped

So I am clearly not doing something correctly :-(

Here is the patch (serializeclass_make.patch):

Index: SerializeClass/Makefile
===================================================================
--- SerializeClass.orig/Makefile
+++ SerializeClass/Makefile
@@ -1,9 +1,6 @@
 ROOT = ..
 VIP = ../VIPShared
 GDEV = ./Gen_Devices
-CXXFLAGS = -Wall -g -ggdb3 -D_GNU_SOURCE
-CPPFLAGS = -I./ -I../../ -I../ -I../DCE/ -I../../DCE -I../VIPShared/ 
-I../../VIPShared -I/usr/include/mysql -D_FILE_OFFSET_BITS=64 
-D_LARGEFILE_SOURCE -D_DEVEL_DEFINES -DUSE_LZO_DATAGRID
-CXX = g++

 sources = SerializeClass.cpp

And here is the updated serializeclass_1.1.1.bb file:

LICENSE = "GPL"
DESCRIPTION = "SerializeClass try 2"
SECTION = "console/util"
MAINTAINER = "me"
SRC_URI = 
"svn://svn.plutohome.com/pluto/trunk/src;module=SerializeClass;proto=http;rev=11103
 \
           
svn://svn.plutohome.com/pluto/trunk/src;module=PlutoUtils;proto=http;rev=11103 \
           file://serializeclass_make.patch"

S = "${WORKDIR}/SerializeClass"

inherit autotools

CXXFLAGS_append = "-Wall -ggdb3"
CPPFLAGS_append = "-I./ -I../ -I../DCE/ -I../VIPShared/ \
-I${STAGING_INCDIR}/mysql -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
-D_DEVEL_DEFINES -DUSE_LZO_DATAGRID -D_GNU_SOURCE"


do_stage() {
        oe_libinstall -so ${WORKDIR}/SerializeClass/libSerializeClass 
${STAGING_LIBDIR}
}


do_install() {
        install -d ${D}${libdir}
        install -m 644 ${WORKDIR}/SerializeClass/libSerializeClass.so 
${D}${libdir}
}

One thing I did notice but am not sure it is significant is that the patch file 
gets copied to:
~/oe/build/tmp/work/serializeclass-1.1.1-r0/

and the Makefile is in 
~/oe/build/tmp/work/serializeclass-1.1.1-r0/SerializeClass/

Also, if I look at the Makefile in 
~/oe/build/tmp/work/serializeclass-1.1.1-r0/SerializeClass/, it doesn't appear 
to be changed.

Again, thank you for all of your help on this! 

Rob

 -------------- Original message ----------------------
From: "Dirk Opfer" <[EMAIL PROTECTED]>
> Hi,
> 
> > Dirk,
> > I figured out the patch for the Makefile to find the SerializeClass lib. I
> > just
> > added a -I../../../staging/arm-linux/lib and a
> > -L../../../staging/arm-linux/lib/
> > and it compiled. I tried making a patch file by copying the DCE dir to
> > DCE_orig made the change and then did:
> >
> > diff -Nurd ../DCE_orig/Makefile Makefile > dce_make.patch
> > cp dce_make.patch ~/oe/org.openembedded.oz354x/packages/DCE/dce_make.patch
> 
> create a patch:
> - install quilt
> - cd into your source dir ${S}
> - type 'quilt new patchname'
> - add files: 'quilt add file'
> - edit your file(s)
> - type 'quilt refresh' to refresh your patch
> - 'quilt diff -u > patchname.patch' extracts the patch
> 
> 
> You are using the host compiler instead of the oe crosscompiler in your
> files.
> You have to patch your makefiles to remove the host compiler. Example for
> dce:
> ===================================================================
> --- DCE.orig/Makefile   2006-08-08 08:54:42.000000000 +0200
> +++ DCE/Makefile        2006-08-08 09:52:11.807921000 +0200
> @@ -1,11 +1,7 @@
>  ROOT = ..
>  VIP = ../VIPShared
>  GDEV = ./Gen_Devices
> -CXXFLAGS = -Wall -ggdb3
> -CPPFLAGS = -I./ -I../ -I../DCE/ -I../VIPShared/ -I/usr/include/mysql
> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_DEVEL_DEFINES -DUSE_
> LZO_DATAGRID -D_GNU_SOURCE $(EXTRA)
> -CXX = g++
> -LDFLAGS = -L$(ROOT)/lib
> -LDLIBS = -lpthread -lmysqlclient_r -lSerializeClass
> +LDLIBS = -lpthread -lmysqlclient -lSerializeClass
> 
> and instead set the flags in your bbs
> CXXFLAGS_append = "-Wall -ggdb3"
> CPPFLAGS_append = "-I./ -I../ -I../DCE/ -I../VIPShared/
> -I${STAGING_INCDIR}/mysql -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -D_DEVEL_DE
> FINES -DUSE_LZO_DATAGRID -D_GNU_SOURCE"
> 
> 
> also your serializeclass needs these changes. You can check the libs using
> the file command:
> 
> file libSerializeClass.so
> should generate something like
> ELF 32-bit LSB shared object, ARM, version 1 (ARM), not stripped
> 
> 
> Dirk
> 
> _______________________________________________
> Oe mailing list
> [email protected]
> https://www.handhelds.org/mailman/listinfo/oe


_______________________________________________
Oe mailing list
[email protected]
https://www.handhelds.org/mailman/listinfo/oe

Reply via email to