[oe] [patch](or sort of): emacs didn't compile[first part: emacs recipe]

GNUtoo GNUtoo at no-log.org
Fri Feb 27 19:54:11 UTC 2009


> hello,
> for me emacs didn't compile...I was able to compile it but:
> *It needed a special version of qemu
> *I made some changes that may need review
>
> here's the diff for emacs:
> diff -Nurd org.openembedded.dev/packages/emacs/emacs.inc
> local_packages/packages/emacs/emacs.inc
> --- org.openembedded.dev/packages/emacs/emacs.inc	2009-02-25
> 17:32:29.000000000 +0100
> +++ local_packages/packages/emacs/emacs.inc	2009-02-25 18:04:56.000000000
> +0100
> @@ -5,6 +5,8 @@
>  # and it needs to run some generated binaries..
>  DEPENDS += "qemu-native"
>
> +DEPENDS +=" liblockfile"
> +
>  inherit autotools
>
>  PACKAGES =+ "${PN}-el"
> @@ -16,8 +18,12 @@
>
>  FILES_${PN}-dbg += "${libexecdir}/emacs/*/*/.debug
> ${datadir}/emacs/*/*/.debug"
>
> +TREEDIR = "${WORKDIR}/qemu-treedir"
> +
>  # Large stack is required at least on x86_64 host, otherwise random
> segfaults appear:
> -QEMU = "qemu-${TARGET_ARCH} ${QEMU_OPTIONS} -s 1048576 -L
> ${STAGING_DIR_TARGET}"
> +QEMU = "qemu-${TARGET_ARCH} ${QEMU_OPTIONS} -s 1048576 -L ${TREEDIR}"
> +
> +export LOGNAME = "$(whoami)"
>
>  do_compile_prepend() {
>  	sed -i ':1;s:\(START.* \|LIB_STANDARD.* \|LIBES.*
> \)/usr/lib:\1${STAGING_LIBDIR}:;t1' ${S}/src/s/gnu-linux.h `find "${S}"
> -name Makefile`
> @@ -26,6 +32,19 @@
>  	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 $treedir
> +	cp -pPR ${STAGING_DIR_TARGET}/* $treedir
> +	if [ -f ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so ]; then
> +                cp -pPR ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so
> $treedir/lib
> +        fi
> +        if [ -f ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so.* ]; then
> +                cp -pPR ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so.*
> $treedir/lib
> +        fi
>  }
>
>  EXTRA_OEMAKE += 'QEMU="${QEMU}"'
> diff -Nurd org.openembedded.dev/packages/emacs/emacs-x11_22.3.bb
> local_packages/packages/emacs/emacs-x11_22.3.bb
> --- org.openembedded.dev/packages/emacs/emacs-x11_22.3.bb	2009-02-25
> 17:32:29.000000000 +0100
> +++ local_packages/packages/emacs/emacs-x11_22.3.bb	2009-02-26
> 19:51:10.000000000 +0100
> @@ -1,9 +1,9 @@
>  require emacs.inc
>
>  # full X (non-diet) is needed for X support
> -DEPENDS += "gtk+ libungif"
> +DEPENDS += "gtk+ libungif libxpm"
>
> -EXTRA_OECONF = "--without-sound --with-x-toolkit=gtk"
> +EXTRA_OECONF = "--without-sound --with-x-toolkit=gtk --with-xpm"
>
>  RREPLACES = "emacs"
>
> -----------------------------end diff-------------------------------------
> DEPENDS +="liblockfile" : that is because otherwise it complained about
> it:
> | checking for liblockfile.so... yes
> | configure: error: Shared liblockfile found but can't link against it.
> | This probably means that movemail could lose mail.
> | There may be a `development' package to install containing liblockfile.
> | FATAL: oe_runconf failed
> NOTE: Task failed:
> /home/embedded/oetmp_openmoko/work/armv4t-angstrom-linux-gnueabi/emacs-22.3-r0/temp/log.do_configure.9431
> NOTE: package emacs-22.3-r0: task do_configure: failed
> ERROR: TaskFailed event exception, aborting
> NOTE: package emacs-22.3: failed
> ERROR: Build of
> /home/embedded/oe/org.openembedded.dev/packages/emacs/emacs_22.3.bb
> do_configure failed
> ERROR: Task 5
> (/home/embedded/oe/org.openembedded.dev/packages/emacs/emacs_22.3.bb,
> do_configure) failed
> NOTE: Tasks Summary: Attempted 307 tasks of which 307 didn't need to be
> rerun and 1 failed.
> ERROR: '/home/embedded/oe/org.openembedded.dev/packages/emacs/
>
> The treedir part is because it didn't find libgcc:
>
> | unset CDPATH; \
> | 	if [ -n "/bin/gzip" ]; \
> | 	then \
> | 	   echo "Compressing *.el ..." ; \
> | 	   (cd
> /home/embedded/oetmp_openmoko/work/armv4t-angstrom-linux-gnueabi/emacs-22.3-r0/image/usr/share/emacs/22.3/leim;
> for f in `find . -name "*.elc" -print`; do \
> | 		/bin/gzip -9n `echo $f|sed 's/.elc$/.el/'` ; \
> | 	    done) \
> | 	else true; fi
> | Compressing *.el ...
> | chmod -R a+r
> /home/embedded/oetmp_openmoko/work/armv4t-angstrom-linux-gnueabi/emacs-22.3-r0/image/usr/share/emacs/22.3/leim
> | find
> /home/embedded/oetmp_openmoko/work/armv4t-angstrom-linux-gnueabi/emacs-22.3-r0/image/usr/share/emacs/22.3/leim
> -exec chown ${LOGNAME:-$USERNAME} '{}' ';'
> | make[1]: Leaving directory
> `/home/embedded/oetmp_openmoko/work/armv4t-angstrom-linux-gnueabi/emacs-22.3-r0/emacs-22.3/leim'
> | cd lib-src; make maybe-blessmail  \
> | 	  MAKE='make'
> archlibdir='/usr/libexec/emacs/22.3/arm-angstrom-linux-gnueabi'
> | make[1]: Entering directory
> `/home/embedded/oetmp_openmoko/work/armv4t-angstrom-linux-gnueabi/emacs-22.3-r0/emacs-22.3/lib-src'
> | qemu-arm  -s 1048576 -L
> /home/embedded/oetmp_openmoko/staging/armv4t-angstrom-linux-gnueabi emacs
> -batch --no-site-file --multibyte -l
> /home/embedded/oetmp_openmoko/work/armv4t-angstrom-linux-gnueabi/emacs-22.3-r0/emacs-22.3/lib-src/../lisp/mail/blessmail.el
> | emacs: error while loading shared libraries: libgcc_s.so.1: cannot open
> shared object file: No such file or directory
> | make[1]: *** [blessmail] Error 127
> | make[1]: Leaving directory
> `/home/embedded/oetmp_openmoko/work/armv4t-angstrom-linux-gnueabi/emacs-22.3-r0/emacs-22.3/lib-src'
> | make: *** [blessmail] Error 2
> | FATAL: oe_runmake failed
> NOTE: Task failed:
> /home/embedded/oetmp_openmoko/work/armv4t-angstrom-linux-gnueabi/emacs-22.3-r0/temp/log.do_install.26296
> NOTE: package emacs-22.3-r0: task do_install: failed
> ERROR: TaskFailed event exception, aborting
> NOTE: package emacs-22.3: failed
> ERROR: Build of
> /home/embedded/oe/local_packages/packages/emacs/emacs_22.3.bb do_install
> failed
> ERROR: Task 8
> (/home/embedded/oe/local_packages/packages/emacs/emacs_22.3.bb,
> do_install) failed
> NOTE: Tasks Summary: Attempted 331 tasks of which 324 didn't need to be
> rerun and 1 failed.
> ERROR: '/home/embedded/oe/local_packages/packages/emacs/emacs_22.3.bb'
> failed
> NOTE: build 200902251721: completed
>
> --with-xpm is because otherwise the button in GTK are there but have no
> icon in them,that is to say there is a x icon on top of each button
>
> Note that I didn't bump the PR yet because it didn't compile...but maybe I
> should if it compiled for other people(would fix the icon issue in
> emacs-x11)
>
> By the way I saw emacs(non x11 version) in freesmarphones.org unstable
> repository...I wonder how it has been compiled or why it didn't work for
> me.
> This is the main reason why I'm asking for review or comments...it may be
> my system/build environment,but in another hand another person wasn't able
> to build it neither: there was a thread named:
> [oe] Ugly build problem with emacs/qemu
> in the devel mailing-list:
> http://article.gmane.org/gmane.comp.handhelds.openembedded/21178/match=emacs
>
>
> PS:I didn't look deeply into changing emacs-x11 fonts size yet:
> It shows a lot of font size but if you don't stick to the default it says
> the font is unavailable
>
> Thanks in advance for the review
> Denis.
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>
also fails on normal setup and:
bug device(armv6)
angstrom
that is to say:
NOTE: package emacs-22.3: started
NOTE: package emacs-22.3-r0: task do_compile: started
ERROR: function do_compile failed
ERROR: log data follows
(/home/embedded/oetmp_bug/work/armv6-angstrom-linux-gnueabi/emacs-22.3-r0/temp/log.do_compile.22649)
| NOTE: make QEMU=qemu-arm -cpu arm1136 -s 1048576 -L
/home/embedded/oetmp_bug/staging/armv6-angstrom-linux-gnueabi
| cd lib-src; make all  \
| 	  CC='ccache arm-angstrom-linux-gnueabi-gcc -march=armv6j
-mtune=arm1136jf-s -mfpu=vfp -mfloat-abi=softfp -mthumb-interwork
-mno-thumb'
CFLAGS='-isystem/home/embedded/oetmp_bug/staging/armv6-angstrom-linux-gnueabi/usr/include
-fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2'
CPPFLAGS='-D_BSD_SOURCE 
-isystem/home/embedded/oetmp_bug/staging/armv6-angstrom-linux-gnueabi/usr/include'
\
| 	 
LDFLAGS='-L/home/embedded/oetmp_bug/staging/armv6-angstrom-linux-gnueabi/usr/lib
-Wl,-rpath-link,/home/embedded/oetmp_bug/staging/armv6-angstrom-linux-gnueabi/usr/lib
-Wl,-O1 -Wl,--hash-style=gnu -Wl,-znocombreloc' MAKE='make'
| make[1]: Entering directory
`/home/embedded/oetmp_bug/work/armv6-angstrom-linux-gnueabi/emacs-22.3-r0/emacs-22.3/lib-src'
| ccache arm-angstrom-linux-gnueabi-gcc -march=armv6j -mtune=arm1136jf-s
-mfpu=vfp -mfloat-abi=softfp -mthumb-interwork -mno-thumb -D_BSD_SOURCE
-DHAVE_CONFIG_H -I. -I../src
-I/home/embedded/oetmp_bug/work/armv6-angstrom-linux-gnueabi/emacs-22.3-r0/emacs-22.3/lib-src
-I/home/embedded/oetmp_bug/work/armv6-angstrom-linux-gnueabi/emacs-22.3-r0/emacs-22.3/lib-src/../src
-L/home/embedded/oetmp_bug/staging/armv6-angstrom-linux-gnueabi/usr/lib
-Wl,-rpath-link,/home/embedded/oetmp_bug/staging/armv6-angstrom-linux-gnueabi/usr/lib
-Wl,-O1 -Wl,--hash-style=gnu -Wl,-znocombreloc -D_BSD_SOURCE 
-isystem/home/embedded/oetmp_bug/staging/armv6-angstrom-linux-gnueabi/usr/include
-isystem/home/embedded/oetmp_bug/staging/armv6-angstrom-linux-gnueabi/usr/include
-fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2 -o
test-distrib
/home/embedded/oetmp_bug/work/armv6-angstrom-linux-gnueabi/emacs-22.3-r0/emacs-22.3/lib-src/test-distrib.c
| qemu-arm -cpu arm1136 -s 1048576 -L
/home/embedded/oetmp_bug/staging/armv6-angstrom-linux-gnueabi
./test-distrib
/home/embedded/oetmp_bug/work/armv6-angstrom-linux-gnueabi/emacs-22.3-r0/emacs-22.3/lib-src/testfile
| make[1]: *** [test-distrib] Segmentation fault
| make[1]: *** Deleting file `test-distrib'
| make[1]: Leaving directory
`/home/embedded/oetmp_bug/work/armv6-angstrom-linux-gnueabi/emacs-22.3-r0/emacs-22.3/lib-src'
| make: *** [lib-src] Error 2
| FATAL: oe_runmake failed
NOTE: Task failed:
/home/embedded/oetmp_bug/work/armv6-angstrom-linux-gnueabi/emacs-22.3-r0/temp/log.do_compile.22649
NOTE: package emacs-22.3-r0: task do_compile: failed
ERROR: TaskFailed event exception, aborting
NOTE: package emacs-22.3: failed
ERROR: Build of
/home/embedded/oe/org.openembedded.dev/packages/emacs/emacs_22.3.bb
do_compile failed
ERROR: Task 7
(/home/embedded/oe/org.openembedded.dev/packages/emacs/emacs_22.3.bb,
do_compile) failed
NOTE: Tasks Summary: Attempted 318 tasks of which 312 didn't need to be
rerun and 1 failed.
ERROR:
'/home/embedded/oe/org.openembedded.dev/packages/emacs/emacs_22.3.bb'
failed
NOTE: build 200902272043: completed





More information about the Openembedded-devel mailing list