[oe-commits] Martin Jansa : emacs: add missing chunk in use-qemu.patch for 23.1, create libc.so -> libc.so.6 link

git version control git at git.openembedded.org
Mon May 10 14:44:27 UTC 2010


Module: openembedded.git
Branch: org.openembedded.dev
Commit: bf9d1fad96f63095b960b8fbcd216a333be54ebe
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=bf9d1fad96f63095b960b8fbcd216a333be54ebe

Author: Martin Jansa <Martin.Jansa at gmail.com>
Date:   Mon May 10 10:07:23 2010 +0200

emacs: add missing chunk in use-qemu.patch for 23.1, create libc.so -> libc.so.6 link

* prefix-args were built with target compiler but later executed in host
  environment, older emacs versions used prefix-args from qemu, but this
  part was missing in emacs23.1-use-qemu.patch
* Paul Fertser suggested that prefix-args should be built with host
  compiler instead and then without need to use qemu-arm
* When there is no libc.so in ${STAGING_DIR_TARGET}, which is copied to
  treedir, then it tries to use libc.so from host, which is wrong.
  Added something like angstrom-libc-fixup-hack.bb but for treedir.
* Also add dbus to DEPENDS to make sure configure finds it for bindings.

Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>

---

 recipes/emacs/emacs-x11_23.1.bb              |    4 +++-
 recipes/emacs/emacs.inc                      |    5 +++++
 recipes/emacs/files/emacs23.1-use-qemu.patch |    9 +++++++++
 3 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/recipes/emacs/emacs-x11_23.1.bb b/recipes/emacs/emacs-x11_23.1.bb
index 65665f2..a754c76 100644
--- a/recipes/emacs/emacs-x11_23.1.bb
+++ b/recipes/emacs/emacs-x11_23.1.bb
@@ -1,7 +1,9 @@
 require emacs.inc
 
 # full X (non-diet) is needed for X support
-DEPENDS += "gtk+ libungif"
+DEPENDS += "gtk+ libungif dbus"
+
+PR = "r1"
 
 EXTRA_OECONF = "--without-sound --with-x-toolkit=gtk"
 
diff --git a/recipes/emacs/emacs.inc b/recipes/emacs/emacs.inc
index d643d31..6645f41 100644
--- a/recipes/emacs/emacs.inc
+++ b/recipes/emacs/emacs.inc
@@ -50,6 +50,11 @@ do_compile_prepend() {
         if [ -f ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so.* ]; then
                 cp -pPR ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so.* $treedir/lib
         fi
+	# stupid hack, but without it, it tries to use /usr/lib/libc.so from host and fails
+	# temacs: error while loading shared libraries: /usr/lib/libc.so: ELF file version does not match current one
+	if [ ! -f $treedir/lib/libc.so ]; then
+		ln -s libc.so.6 $treedir/lib/libc.so
+	fi
 }
 
 EXTRA_OEMAKE += 'QEMU="${QEMU}"'
diff --git a/recipes/emacs/files/emacs23.1-use-qemu.patch b/recipes/emacs/files/emacs23.1-use-qemu.patch
index dd1f384..255b07f 100644
--- a/recipes/emacs/files/emacs23.1-use-qemu.patch
+++ b/recipes/emacs/files/emacs23.1-use-qemu.patch
@@ -64,6 +64,15 @@ Index: emacs-23.1/src/Makefile.in
 ===================================================================
 --- emacs-23.1.orig/src/Makefile.in
 +++ emacs-23.1/src/Makefile.in
+@@ -497,7 +497,7 @@
+    this with the shell''s ``for'' construct.
+    Note that some people do not have '.'  in their paths, so we must
+    use ./prefix-args.  */
+-#define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags`
++#define YMF_PASS_LDFLAGS(flags) `${QEMU} ./prefix-args -Xlinker flags`
+ #else
+ #define YMF_PASS_LDFLAGS(flags) flags
+ #endif
 @@ -895,9 +895,9 @@ LIBES = $(LOADLIBES) $(LIBS) $(LIBX) $(L
  #endif
  





More information about the Openembedded-commits mailing list