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