From: Martin Jansa <martin.jansa@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: Re: [meta-oe][PATCH v2 3/5] emacs: Un-blacklist, seems to work fine with new qemu
Date: Thu, 5 Feb 2015 17:35:34 +0100 [thread overview]
Message-ID: <20150205163534.GA2444@jama> (raw)
In-Reply-To: <1423153384-25662-1-git-send-email-danismostlikely@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 7959 bytes --]
On Thu, Feb 05, 2015 at 10:23:04AM -0600, Dan McGregor wrote:
> From: Dan McGregor <dan.mcgregor@usask.ca>
>
> I've only tested the build with armv7 and x86, but the build
> doesn't segfault anymore. The last time this was tested was
> with qemu 1.5, we're now using 2.1.
>
> While here, don't copy stuff from the sysroot into the qemu tree
> just use the sysroot itself.
>
> Also disable X11 support by default. There is still an issue
> seen by multiple people where an emacs built with X11 support
> will hang when run outside of X.
>
> Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
> ---
> meta-oe/recipes-support/emacs/emacs.inc | 91 +----------------------------
> meta-oe/recipes-support/emacs/emacs_23.4.bb | 2 -
> 2 files changed, 3 insertions(+), 90 deletions(-)
>
> diff --git a/meta-oe/recipes-support/emacs/emacs.inc b/meta-oe/recipes-support/emacs/emacs.inc
> index a1a4965..c1d50f2 100644
> --- a/meta-oe/recipes-support/emacs/emacs.inc
> +++ b/meta-oe/recipes-support/emacs/emacs.inc
> @@ -14,14 +14,13 @@ X11DEPENDS = " \
> libx11 libxau libxcomposite libxcursor libxdamage libxdmcp libxext libxfixes \
> libxft libxpm libxrandr libxrender \
> gdk-pixbuf glib-2.0 gtk+ pango libxcb harfbuzz icu \
> -"
> +"
>
> EXTRA_OECONF = "--without-sound --with-crt-dir=${STAGING_LIBDIR} "
>
> -PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
> +PACKAGECONFIG ??= ""
> PACKAGECONFIG[x11] = "--with-x-toolkit=gtk,--without-x --without-dbus,${X11DEPENDS}"
>
> -
> inherit autotools
>
> PACKAGES =+ "${PN}-el"
> @@ -33,15 +32,13 @@ FILES_${PN} += "${datadir}/emacs ${datadir}/icons"
>
> FILES_${PN}-dbg += "${libexecdir}/emacs/*/*/.debug ${datadir}/emacs/*/*/.debug"
>
> -TREEDIR = "${WORKDIR}/qemu-treedir"
> -
> QEMUARCH= "${TARGET_ARCH}"
> QEMUARCH_i486 = "i386"
> QEMUARCH_i586 = "i386"
> QEMUARCH_i686 = "i386"
>
> # Large stack is required at least on x86_64 host, otherwise random segfaults appear:
> -QEMU = "qemu-${QEMUARCH} ${QEMU_OPTIONS} -s 1048576 -L ${TREEDIR} "
> +QEMU = "qemu-${QEMUARCH} ${QEMU_OPTIONS} -s 1048576 -L ${STAGING_DIR_HOST} "
We were using STAGING_DIR_HOST before, but it was causing some issues:
see oe-classic commit which introduced TREEDIR:
http://git.openembedded.org/openembedded/commit/?h=cbf539f8e7431241e28b77394d33b764f7b0463b
Are you sure that this issue won't re-appear?
> export LOGNAME = "$(whoami)"
>
> @@ -52,88 +49,6 @@ do_compile_prepend() {
> ln -sf ../src/emacs lisp/emacs
> ln -sf ../src/emacs lib-src/emacs
> ln -sf ../src/emacs leim/emacs
> -#copy STAGING_DIR_TARGET and libgcc_s.so* to WORKDIR/qemu-treedir #copied code from glibc-package.bbclass
> - treedir=${TREEDIR}
> - if [ -e $treedir ];then
> - rm -rf $treedir
> - fi
> -
> - mkdir -p $treedir/${base_libdir}
> -
> - if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so ]; then
> - cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so $treedir/${base_libdir}
> - fi
> - if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* ]; then
> - cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* $treedir/${base_libdir}
> - 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/${base_libdir}/libc.so ]; then
> - ln -s libc.so.6 $treedir/${base_libdir}/libc.so
> - fi
> -
> - # copy only as much stuff as we need
> - # before: 5.5G ../../qemu-treedir/
> - # after: 17M ../../qemu-treedir/
> - cp -pPR \
> - ${STAGING_DIR_TARGET}/${base_libdir}/ld-* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libc.* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libc-* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libm-* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libm.* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libtinfo.so.* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libresolv* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libdl* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/librt* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libgcc_s.so.* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libpthread* $treedir/${base_libdir}/
> -
> - if [ ! -z "${@base_contains('PACKAGECONFIG', 'x11', 'x11', '', d)}" ] ; then
> - echo "X11 build enabled"
> - # copy only as much stuff as we need
> - # before: 5.5G ../../qemu-treedir/
> - # after: 86M ../../qemu-treedir/
> - cp -pPR \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libuuid.so.* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libz.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libICE.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libSM.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libatk-1.0.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libcairo.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libdbus-1.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libdbus-glib-1.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libexpat.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libffi.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libfontconfig.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libfreetype.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libgconf-2.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libgif.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libjpeg.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/liblzma.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libpixman-1.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libpng1*.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/librsvg-2.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libstdc++.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libtiff.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libxml2.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libcroco-0.6.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libharfbuzz.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libicule.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libicuuc.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libicudata.so.* $treedir/${base_libdir}/
> -
> - # X11 Xau Xcomposite Xcursor Xdamage Xdmcp Xext Xfixes Xft Xpm Xrandr Xrender
> - cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libX*.so.* $treedir/${base_libdir}/
> -
> - # gdk-x11 gdk_pixbuf gio glib gmodule gobject gthread gtk-x11
> - cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libg*-2.0.so.* $treedir/${base_libdir}/
> -
> - # pango pangocairo pangoft2
> - cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libpango*-1.0.so.* $treedir/${base_libdir}/
> -
> - # xcb-render xcb-shm xcb
> - cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libxcb*.so.* $treedir/${base_libdir}/
> - fi
> }
>
> do_install_append() {
> diff --git a/meta-oe/recipes-support/emacs/emacs_23.4.bb b/meta-oe/recipes-support/emacs/emacs_23.4.bb
> index a324828..36e8f0c 100644
> --- a/meta-oe/recipes-support/emacs/emacs_23.4.bb
> +++ b/meta-oe/recipes-support/emacs/emacs_23.4.bb
> @@ -2,8 +2,6 @@ require emacs.inc
>
> PR = "r4"
>
> -PNBLACKLIST[emacs] ?= "qemu: uncaught target signal 11 (Segmentation fault) - core dumped"
> -
> SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz;name=tarball \
> file://use-qemu.patch \
> file://nostdlib-unwind.patch \
> --
> 2.1.0
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 188 bytes --]
next prev parent reply other threads:[~2015-02-05 16:35 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-04 18:40 [meta-oe][PATCH 3/5] emacs: Un-blacklist, seems to work fine with new qemu Dan McGregor
2015-02-05 16:23 ` [meta-oe][PATCH v2 " Dan McGregor
2015-02-05 16:35 ` Martin Jansa [this message]
2015-02-06 15:11 ` Dan McGregor
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150205163534.GA2444@jama \
--to=martin.jansa@gmail.com \
--cc=openembedded-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.