Openembedded Devel Discussions
 help / color / mirror / Atom feed
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 --]

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox