On 12/13/2012 06:15 PM, Andrei Gherzan wrote:
If we normalize a rpath which contains ORIGIN variable, the binary will end
up without those rpaths at all. So check first if rpath contains ORIGIN variable
and if not, move on and normalize it.
Signed-off-by: Andrei Gherzan <[email protected]>
---
meta/classes/chrpath.bbclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/classes/chrpath.bbclass b/meta/classes/chrpath.bbclass
index 82329d1..0c7ab77 100644
--- a/meta/classes/chrpath.bbclass
+++ b/meta/classes/chrpath.bbclass
@@ -49,10 +49,10 @@ def process_dir (directory, d):
new_rpaths = []
for rpath in rpaths:
# If rpath is already dynamic copy it to new_rpath and
continue
- rpath = os.path.normpath(rpath)
if rpath.find("$ORIGIN") != -1:
new_rpaths.append(rpath.strip())
continue
+ rpath = os.path.normpath(rpath)
# If the rpath shares a root with base_prefix determine a new
dynamic rpath from the
# base_prefix shared root
if rpath.find(basedir) != -1:
I found this to be the same fix, but I am still seeing some kind of failure.
I can build apt-native with populate-sysroot and it looks correct and
then try to build the meta-toolchain-game and it fails.
sgw@yujin:/intel/builds/deb$ bitbake apt-native -f -c populate_sysrootLoading
cache: 100% |#####################################################| ETA:
00:00:00
Loaded 1130 entries from dependency cache.
Build Configuration:
BB_VERSION = "1.17.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "Ubuntu-12.04"
TARGET_SYS = "mips-poky-linux"
MACHINE = "qemumips"
DISTRO = "poky"
DISTRO_VERSION = "1.3+snapshot-20121214"
TUNE_FEATURES = "o32 bigendian fpu-hard mips32"
TARGET_FPU = ""
meta
meta-yocto
meta-yocto-bsp = "mut:5c8feac210a9de9fd705e9774b76514d3ffa7121"
NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Tainting hash to force rebuild of task
/intel/distro/meta/recipes-devtools/apt/apt-native_0.7.14.bb,
do_populate_sysroot
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 253 tasks of which 252 didn't need to be rerun
and all succeeded.
sgw@yujin:/intel/builds/deb$ chrpath -l
/intel/builds/deb/tmp/sysroots/x86_64-linux/usr/lib/apt/methods/file
/intel/builds/deb/tmp/sysroots/x86_64-linux/usr/lib/apt/methods/file:
RPATH=$ORIGIN/../../../../usr/lib:$ORIGIN/../../../../lib
This succeeds correctly and has the correct RPATH in the
apt/methods/file binary.
sgw@yujin:/intel/builds/deb$ bitbake meta-toolchain-gmaeLoading cache: 100%
|#####################################################| ETA: 00:00:00
Loaded 1130 entries from dependency cache.
Build Configuration:
BB_VERSION = "1.17.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "Ubuntu-12.04"
TARGET_SYS = "mips-poky-linux"
MACHINE = "qemumips"
DISTRO = "poky"
DISTRO_VERSION = "1.3+snapshot-20121214"
TUNE_FEATURES = "o32 bigendian fpu-hard mips32"
TARGET_FPU = ""
meta
meta-yocto
meta-yocto-bsp = "mut:5c8feac210a9de9fd705e9774b76514d3ffa7121"
NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: Function failed: populate_sdk_image (see
/intel/builds/deb/tmp/work/mips32-poky-linux/meta-toolchain-gmae/1.0-r7/temp/log.do_populate_sdk.11912
for further information)
ERROR: Logfile of failure stored in:
/intel/builds/deb/tmp/work/mips32-poky-linux/meta-toolchain-gmae/1.0-r7/temp/log.do_populate_sdk.11912
Log data follows:
| DEBUG: Executing python function do_populate_sdk
| DEBUG: Executing shell function populate_sdk_image
| dpkg-scanpackages.real: info: Wrote 18 entries to output Packages file.
| dpkg-scanpackages.real: info: Wrote 3565 entries to output Packages file.
| dpkg-scanpackages.real: info: Wrote 6 entries to output Packages file.
| dpkg-scanpackages.real: info: Wrote 18 entries to output Packages file.
| dpkg-scanpackages.real: info: Wrote 1047 entries to output Packages file.
| Installing TARGET packages
| /intel/builds/deb/tmp/sysroots/x86_64-linux/usr/lib/apt/methods/file: error
while loading shared libraries: libapt-pkg-libc6.3.so.4.6: cannot open shared
object file: No such file or directory
| /intel/builds/deb/tmp/sysroots/x86_64-linux/usr/lib/apt/methods/file: error
while loading shared libraries: libapt-pkg-libc6.3.so.4.6: cannot open shared
object file: No such file or directory
| E: Method file has died unexpectedly!
| E: Method
/intel/builds/deb/tmp/sysroots/x86_64-linux/usr/lib/apt/methods/file did not
start correctly
| E: Method file has died unexpectedly!
| E: Method
/intel/builds/deb/tmp/sysroots/x86_64-linux/usr/lib/apt/methods/file did not
start correctly
| DEBUG: Python function do_populate_sdk finished
| ERROR: Function failed: populate_sdk_image (see
/intel/builds/deb/tmp/work/mips32-poky-linux/meta-toolchain-gmae/1.0-r7/temp/log.do_populate_sdk.11912
for further information)
ERROR: Task 7 (/intel/distro/meta/recipes-core/meta/meta-toolchain-gmae.bb,
do_populate_sdk) failed with exit code '1'
NOTE: Tasks Summary: Attempted 4056 tasks of which 4055 didn't need to be rerun
and 1 failed.
No currently running tasks (4055 of 4057)
Summary: 1 task failed:
/intel/distro/meta/recipes-core/meta/meta-toolchain-gmae.bb, do_populate_sdk
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
sgw@yujin:/intel/builds/deb$ chrpath -l
/intel/builds/deb/tmp/sysroots/x86_64-linux/usr/lib/apt/methods/file
/intel/builds/deb/tmp/sysroots/x86_64-linux/usr/lib/apt/methods/file:
RPATH=../../../usr/lib:../../../lib
This fails and has the wrong RPATH, something is still tweaking the
RPATH, it should not change, but it is.
Very Frustrating!
Sau!
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core