Skip to contentSkip to conversation

Misc Fixes

PATCH Applied [email protected] 5 participants 10 messages Mar 30, 2012 – Apr 1, 2012

lore
Share & tools
lore
#0 lore raw

cover Misc Fixes

From: Nitin A Kamble <[email protected]>

The following changes since commit 06fc2d2ec8e72f063f2c67601b2f027f76971e05:

documentation/dev-manual/dev-manual-common-tasks.xml: Title change (2012-03-30 17:20:51 +0100)

are available in the git repository at:
git://git.pokylinux.org/poky-contrib nitin/misc
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=nitin/misc

Nitin A Kamble (3):
nasm: fix issue with repeat configure cross-canadian.bbclass: fix rpath for sdk executables
poky-tiny: avoid eglibc locale packaging

 meta-yocto/conf/distro/poky-tiny.conf   |    3 +++
 meta/classes/cross-canadian.bbclass     |    4 +++-
 meta/recipes-devtools/nasm/nasm_2.07.bb |    8 ++++----
 3 files changed, 10 insertions(+), 5 deletions(-)
Signature · 1 line
1.7.6.4
#1 lore raw

PATCH 1/3 nasm: fix issue with repeat configure

From: Nitin A Kamble <[email protected]>

This Fixes bug: [YOCTO #2176]

This fixes the following issue as mentioned in the bug:
If nasm-native has to be rebuilt (due to a signature change) it will fail:

| checking for a BSD-compatible install... /usr/bin/install -c
| /media/large/tmp/work/x86_64-linux/nasm-native-2.07-r1/nasm-2.07/configure:
line 4261: syntax error near unexpected token `-W'
| /media/large/tmp/work/x86_64-linux/nasm-native-2.07-r1/nasm-2.07/configure:
line 4261: `PA_ADD_CFLAGS(-W)'
| ERROR: oe_runconf failed
NOTE: package nasm-native-2.07-r1: task do_configure: Failed

The failure appears to be caused by do_patch_fixaclocal being run a second time

---
 meta/recipes-devtools/nasm/nasm_2.07.bb |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
meta/recipes-devtools/nasm/nasm_2.07.bb +4 -4
index 9b75496..fc2d531 100644
@@ -13,12 +13,12 @@ SRC_URI[sha256sum] = "ac70ee451c73d742c9ff830502e5f8b1f648b2abffa8fd00944243283b
 
 inherit autotools
 
-do_patch_fixaclocal () {
-	mv aclocal.m4 acinclude.m4
+do_configure_prepend () {
+	if [ -f aclocal.m4 ] && [ ! -f acinclude.m4 ]; then
+		mv aclocal.m4 acinclude.m4
+	fi
 }
 
-addtask do_patch_fixaclocal after do_patch before do_configure
-
 do_install() {
 	install -d ${D}${bindir}
 	install -d ${D}${mandir}/man1
Signature · 1 line
1.7.6.4
#2 lore raw

PATCH 2/3 cross-canadian.bbclass: fix rpath for sdk executables

From: Nitin A Kamble <[email protected]>

This makes the libraries located in places like this findable:
/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/lib

Which avoids linking cross canadian sdk executables with host libraries like this:

$ ldd /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/bin/x86_64-oe-linux/x86_64-oe-linux-gdb
        linux-vdso.so.1 =>  (0x00007fffb7fff000)
        libreadline.so.6 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/lib/x86_64-oe-linux/../libreadline.so.6 (0x00007fbfb5511000)
        libdl.so.2 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libdl.so.2 (0x00007fbfb530c000)
        libncurses.so.5 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libncurses.so.5 (0x00007fbfb50e9000)
        libtinfo.so.5 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libtinfo.so.5 (0x00007fbfb4ec2000)
        libz.so.1 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/lib/x86_64-oe-linux/../libz.so.1 (0x00007fbfb4cac000)
        libm.so.6 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libm.so.6 (0x00007fbfb4a2a000)
        libpthread.so.0 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libpthread.so.0 (0x00007fbfb480d000)
        libutil.so.1 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libutil.so.1 (0x00007fbfb4609000)
        libexpat.so.1 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/lib/x86_64-oe-linux/../libexpat.so.1 (0x00007fbfb43e0000)
        libc.so.6 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libc.so.6 (0x00007fbfb4059000)
        /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x0000003f05000000)
---
 meta/classes/cross-canadian.bbclass |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
meta/classes/cross-canadian.bbclass +3 -1
index e187b88..4ff092c 100644
@@ -48,7 +48,9 @@ DPKG_ARCH = "${SDK_ARCH}"
 CPPFLAGS = "${BUILDSDK_CPPFLAGS}"
 CFLAGS = "${BUILDSDK_CFLAGS}"
 CXXFLAGS = "${BUILDSDK_CFLAGS}"
-LDFLAGS = "${BUILDSDK_LDFLAGS}"
+LDFLAGS = "${BUILDSDK_LDFLAGS} \
+	-Wl,-rpath-link,${STAGING_LIBDIR}/.. \
+	 -Wl,-rpath,${libdir}/.. "
 
 DEPENDS_GETTEXT = "gettext-native gettext-nativesdk"
 
Signature · 1 line
1.7.6.4
#3 lore raw

Re: [PATCH 2/3] cross-canadian.bbclass: fix rpath for sdk executables

Quoted 31 lines · On Fri, Mar 30, 2012 at 03:52:05PM -0700, [email protected] wrote:

From: Nitin A Kamble <[email protected]>

This makes the libraries located in places like this findable:
/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/lib

Which avoids linking cross canadian sdk executables with host libraries like this:

$ ldd /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/bin/x86_64-oe-linux/x86_64-oe-linux-gdb
        linux-vdso.so.1 =>  (0x00007fffb7fff000)
        libreadline.so.6 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/lib/x86_64-oe-linux/../libreadline.so.6 (0x00007fbfb5511000)
        libdl.so.2 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libdl.so.2 (0x00007fbfb530c000)
        libncurses.so.5 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libncurses.so.5 (0x00007fbfb50e9000)
        libtinfo.so.5 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libtinfo.so.5 (0x00007fbfb4ec2000)
        libz.so.1 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/lib/x86_64-oe-linux/../libz.so.1 (0x00007fbfb4cac000)
        libm.so.6 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libm.so.6 (0x00007fbfb4a2a000)
        libpthread.so.0 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libpthread.so.0 (0x00007fbfb480d000)
        libutil.so.1 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libutil.so.1 (0x00007fbfb4609000)
        libexpat.so.1 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/lib/x86_64-oe-linux/../libexpat.so.1 (0x00007fbfb43e0000)
        libc.so.6 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libc.so.6 (0x00007fbfb4059000)
        /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x0000003f05000000)
---
 meta/classes/cross-canadian.bbclass |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
meta/classes/cross-canadian.bbclass +0 -0
index e187b88..4ff092c 100644

meta/classes/cross-canadian.bbclass DPKG_ARCH = "${SDK_ARCH}" · line 53

Quoted 7 lines
meta/classes/cross-canadian.bbclass +3 -1
@@ -48,7 +48,9 @@ DPKG_ARCH = "${SDK_ARCH}"
 CPPFLAGS = "${BUILDSDK_CPPFLAGS}"
 CFLAGS = "${BUILDSDK_CFLAGS}"
 CXXFLAGS = "${BUILDSDK_CFLAGS}"
-LDFLAGS = "${BUILDSDK_LDFLAGS}"
+LDFLAGS = "${BUILDSDK_LDFLAGS} \
+	-Wl,-rpath-link,${STAGING_LIBDIR}/.. \
+	 -Wl,-rpath,${libdir}/.. "

https://wiki.yoctoproject.org/wiki/Recipe_%26_Patch_Style_Guide#White_Space_Management

says you should use spaces for indentation (except shell functions and some but not all python functions e.g populate_packages)

Maybe someone should write vim-syntax file for .bb and .bbclass :).

Cheers,

Quoted 10 lines
meta/classes/cross-canadian.bbclass +0 -0
 DEPENDS_GETTEXT = "gettext-native gettext-nativesdk"
 
Signature · 6 lines
1.7.6.4

_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto
Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
#5 lore raw

Re: [PATCH 2/3] cross-canadian.bbclass: fix rpath for sdk executables

In reply to [email protected]
Quoted 31 lines · On Fri, 2012-03-30 at 15:28 -0700, [email protected] wrote:

From: Nitin A Kamble <[email protected]>

This makes the libraries located in places like this findable:
/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/lib

Which avoids linking cross canadian sdk executables with host libraries like this:

$ ldd /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/bin/x86_64-oe-linux/x86_64-oe-linux-gdb
        linux-vdso.so.1 =>  (0x00007fffb7fff000)
        libreadline.so.6 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/lib/x86_64-oe-linux/../libreadline.so.6 (0x00007fbfb5511000)
        libdl.so.2 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libdl.so.2 (0x00007fbfb530c000)
        libncurses.so.5 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libncurses.so.5 (0x00007fbfb50e9000)
        libtinfo.so.5 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libtinfo.so.5 (0x00007fbfb4ec2000)
        libz.so.1 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/lib/x86_64-oe-linux/../libz.so.1 (0x00007fbfb4cac000)
        libm.so.6 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libm.so.6 (0x00007fbfb4a2a000)
        libpthread.so.0 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libpthread.so.0 (0x00007fbfb480d000)
        libutil.so.1 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libutil.so.1 (0x00007fbfb4609000)
        libexpat.so.1 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/lib/x86_64-oe-linux/../libexpat.so.1 (0x00007fbfb43e0000)
        libc.so.6 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libc.so.6 (0x00007fbfb4059000)
        /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x0000003f05000000)
---
 meta/classes/cross-canadian.bbclass |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
meta/classes/cross-canadian.bbclass +0 -0
index e187b88..4ff092c 100644

meta/classes/cross-canadian.bbclass DPKG_ARCH = "${SDK_ARCH}" · line 55

Quoted 9 lines
meta/classes/cross-canadian.bbclass +3 -1
@@ -48,7 +48,9 @@ DPKG_ARCH = "${SDK_ARCH}"
 CPPFLAGS = "${BUILDSDK_CPPFLAGS}"
 CFLAGS = "${BUILDSDK_CFLAGS}"
 CXXFLAGS = "${BUILDSDK_CFLAGS}"
-LDFLAGS = "${BUILDSDK_LDFLAGS}"
+LDFLAGS = "${BUILDSDK_LDFLAGS} \
+	-Wl,-rpath-link,${STAGING_LIBDIR}/.. \
+	 -Wl,-rpath,${libdir}/.. "
 
 DEPENDS_GETTEXT = "gettext-native gettext-nativesdk"

I've merged this, fixing the whitespace myself this time. Please keep an eye on whitespace in future (as commented on the version of this that went to the poky list accidentally).

Cheers,

Richard

#6 lore raw

PATCH 3/3 poky-tiny: avoid eglibc locale packaging

In reply to [email protected]

From: Nitin A Kamble <[email protected]>

This fixes bug: [YOCTO #2089]

This avoids these errors
NOTE: package eglibc-locale-2.13-r19: task do_populate_sysroot: Started
ERROR: Error executing a python function in /opt/poky.git/meta/recipes-core/eglibc/eglibc-locale_2.13.bb:
OSError: [Errno 2] No such file or directory:
'/home/rchatre/concordia/dev/ccd-distro-work/tmp/work/core2-poky-linux/eglibc-locale-2.13-r19/package/usr/lib/gconv'

ERROR: The stack trace of python calls that resulted in this exception/failure was:
ERROR: File "package_do_split_gconvs", line 264, in <module>
ERROR:·
ERROR: File "package_do_split_gconvs", line 45, in package_do_split_gconvs
ERROR:·
ERROR: File "package.bbclass", line 30, in do_split_packages
ERROR:·
ERROR: The code that was being executed was:
ERROR: 0260:»------»-------bb.note("generation of binary locales disabled.
this may break i18n!")

ERROR:      0261:
ERROR:      0262:
ERROR:      0263:
ERROR:  *** 0264:package_do_split_gconvs(d)
ERROR:      0265:
ERROR: (file: 'package_do_split_gconvs', lineno: 264, function: <module>)
ERROR:      0041:»------»-------»-------d.setVar('RPROVIDES_%s' % pkg,
pkg.replace(bpn, 'glibc'))
ERROR:      0042:
ERROR:      0043:»------do_split_packages(d, gconv_libdir,
file_regex='^(.*)\.so$', output_pattern=bpn+'-gconv-%s', \
ERROR:      0044:»------»-------description='gconv module for character set
%s', hook=calc_gconv_deps, \
ERROR:  *** 0045:»------»-------extra_depends=bpn+'-gconv')
ERROR:      0046:
ERROR:      0047:»------def calc_charmap_deps(fn, pkg, file_regex,
output_pattern, group):
ERROR:      0048:»------»-------deps = []
ERROR:      0049:»------»-------f = open(fn, "r")
ERROR: (file: 'package_do_split_gconvs', lineno: 45, function:

package_do_split_gconvs)
ERROR: Function failed: package_do_split_gconvs
ERROR: Logfile of failure stored in:
/home/rchatre/concordia/dev/ccd-distro-work/tmp/work/core2-poky-linux/eglibc-locale-2.13-r19/temp/log.do_package.31042
NOTE: package eglibc-locale-2.13-r19: task do_package: Failed
ERROR: Task 552 (/opt/poky.git/meta/recipes-core/eglibc/eglibc-locale_2.13.bb,
do_package) failed with exit code '1'

---
 meta-yocto/conf/distro/poky-tiny.conf |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
meta-yocto/conf/distro/poky-tiny.conf +3 -0
index 6fa4c90..a745338 100644
@@ -74,6 +74,9 @@ DISTRO_FEATURES_LIBC = "${DISTRO_FEATURES_LIBC_TINY} \
                         ${DISTRO_FEATURES_LIBC_NET} \
                        "
 
+# This tells libc packaging that no locales are to be packaged
+PACKAGE_NO_GCONV = "1"
+
 # Comment out any of the lines below to disable them in the build
 # DISTRO_FEATURES options:
 # alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci
Signature · 1 line
1.7.6.4
#7 lore raw

Re: [PATCH 3/3] poky-tiny: avoid eglibc locale packaging

Quoted 60 lines · On 03/30/2012 03:52 PM, [email protected] wrote:

From: Nitin A Kamble <[email protected]>

This fixes bug: [YOCTO #2089]

This avoids these errors
NOTE: package eglibc-locale-2.13-r19: task do_populate_sysroot: Started
ERROR: Error executing a python function in /opt/poky.git/meta/recipes-core/eglibc/eglibc-locale_2.13.bb:
OSError: [Errno 2] No such file or directory:
'/home/rchatre/concordia/dev/ccd-distro-work/tmp/work/core2-poky-linux/eglibc-locale-2.13-r19/package/usr/lib/gconv'

ERROR: The stack trace of python calls that resulted in this exception/failure was:
ERROR: File "package_do_split_gconvs", line 264, in <module>
ERROR:·
ERROR: File "package_do_split_gconvs", line 45, in package_do_split_gconvs
ERROR:·
ERROR: File "package.bbclass", line 30, in do_split_packages
ERROR:·
ERROR: The code that was being executed was:
ERROR: 0260:»------»-------bb.note("generation of binary locales disabled.
this may break i18n!")

ERROR:      0261:
ERROR:      0262:
ERROR:      0263:
ERROR:  *** 0264:package_do_split_gconvs(d)
ERROR:      0265:
ERROR: (file: 'package_do_split_gconvs', lineno: 264, function: <module>)
ERROR:      0041:»------»-------»-------d.setVar('RPROVIDES_%s' % pkg,
pkg.replace(bpn, 'glibc'))
ERROR:      0042:
ERROR:      0043:»------do_split_packages(d, gconv_libdir,
file_regex='^(.*)\.so$', output_pattern=bpn+'-gconv-%s', \
ERROR:      0044:»------»-------description='gconv module for character set
%s', hook=calc_gconv_deps, \
ERROR:  *** 0045:»------»-------extra_depends=bpn+'-gconv')
ERROR:      0046:
ERROR:      0047:»------def calc_charmap_deps(fn, pkg, file_regex,
output_pattern, group):
ERROR:      0048:»------»-------deps = []
ERROR:      0049:»------»-------f = open(fn, "r")
ERROR: (file: 'package_do_split_gconvs', lineno: 45, function:

package_do_split_gconvs)
ERROR: Function failed: package_do_split_gconvs
ERROR: Logfile of failure stored in:
/home/rchatre/concordia/dev/ccd-distro-work/tmp/work/core2-poky-linux/eglibc-locale-2.13-r19/temp/log.do_package.31042
NOTE: package eglibc-locale-2.13-r19: task do_package: Failed
ERROR: Task 552 (/opt/poky.git/meta/recipes-core/eglibc/eglibc-locale_2.13.bb,
do_package) failed with exit code '1'

---
 meta-yocto/conf/distro/poky-tiny.conf |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
meta-yocto/conf/distro/poky-tiny.conf +0 -0
index 6fa4c90..a745338 100644

meta-yocto/conf/distro/poky-tiny.conf DISTRO_FEATURES_LIBC = "${DISTRO_FEATURES_LIBC_TINY} \ · line 82

Quoted 9 lines
meta-yocto/conf/distro/poky-tiny.conf +3 -0
@@ -74,6 +74,9 @@ DISTRO_FEATURES_LIBC = "${DISTRO_FEATURES_LIBC_TINY} \
                         ${DISTRO_FEATURES_LIBC_NET} \
                        "
 
+# This tells libc packaging that no locales are to be packaged
+PACKAGE_NO_GCONV = "1"
+
 # Comment out any of the lines below to disable them in the build
 # DISTRO_FEATURES options:
 # alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci

Thanks for looking into this Nitin! I'm fine with this fix if it gets things going. I wonder though, I presume omitting something from DISTRO_FEATURES_LIBC is what triggers this bug... could that same omission not be tested to avoid the failure? Seems strange to have to explicitly set PACKAGE_NO_GCONV.

Thoughts?

Signature · 3 lines
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
#8 lore raw

Re: [PATCH 3/3] poky-tiny: avoid eglibc locale packaging

Quoted 5 lines

-----Original Message-----
From: Darren Hart [mailto:[email protected]]

Quoted 7 lines

Thanks for looking into this Nitin! I'm fine with this fix if it gets things going. I wonder though, I presume omitting something from DISTRO_FEATURES_LIBC is what triggers this bug... could that same omission not be tested to avoid the failure? Seems strange to have to explicitly set PACKAGE_NO_GCONV.

Thoughts?

Makes sense, I will look into such solution.

Nitin

#9 lore raw

Re: [PATCH 1/3] nasm: fix issue with repeat configure

In reply to [email protected]
Quoted 15 lines · On Fri, 2012-03-30 at 15:28 -0700, [email protected] wrote:

From: Nitin A Kamble <[email protected]>

This Fixes bug: [YOCTO #2176]

This fixes the following issue as mentioned in the bug:
If nasm-native has to be rebuilt (due to a signature change) it will fail:

| checking for a BSD-compatible install... /usr/bin/install -c
| /media/large/tmp/work/x86_64-linux/nasm-native-2.07-r1/nasm-2.07/configure:
line 4261: syntax error near unexpected token `-W'
| /media/large/tmp/work/x86_64-linux/nasm-native-2.07-r1/nasm-2.07/configure:
line 4261: `PA_ADD_CFLAGS(-W)'
| ERROR: oe_runconf failed
NOTE: package nasm-native-2.07-r1: task do_configure: Failed

Quoted 6 lines

The failure appears to be caused by do_patch_fixaclocal being run a second time

---
 meta/recipes-devtools/nasm/nasm_2.07.bb |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

Merged to master, thanks.

Richard