On 06/06/2014 08:22 PM, Khem Raj wrote: > > > On Friday, June 6, 2014, > wrote: > > From: yzhu1 > > > In centos 5.9 32bit, ld lib does not contain some flags, so ld > lib is not parsed. So correct lib path is not got from ld lib. > > > Can you explain with examples what's going on here ? Hi, Before relocate_sdk.sh is executed, it needs the parameters: path/ld-linux-x86-64.so.2 path/dmesg.util-linux path/kill.util-linux path/reset.util-linux ..... The file list (path/dmesg.util-linux path/kill.util-linux path/reset.util-linux .....) is collected by "grep '\(executable\|dynamically linked\)'". So "dynamically linked" is very import to the file ld-linux-x86-64.so.2. But in redhat 5.9(32 bit) This file is as below: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped In Ubuntu 12.04 (64bit) This file is as below: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=0xbb8c5184d8d41f31093193a2ec8d3f6f10964cd2, stripped In this case, we can find in Ubuntu 12.04(64 bit), the flag "dynamically linked" is present, so ld-linux-x86-64.so.2 can be included in the file list. relocate_sdk.py can work according to the information from ld-linux-x86-64.so.2. But in redhat 5.9(32bit), the flag does not exist. relocate_sdk.py can not get the information from ld-linux-x86-64.so.2 since this file is not included in the file list. The same error occurs on redhat6.0(32 bit). So the direct solution to this defect is to force this file ld-linux-x86-64.so.2 exist in file list. If any problem, please feel free to let me know. Best Regards! Zhu Yanjun > > Signed-off-by: yzhu1 > > --- > scripts/relocate_sdk.py | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/relocate_sdk.py b/scripts/relocate_sdk.py > index 05d9fd6..a05a7fa 100755 > --- a/scripts/relocate_sdk.py > +++ b/scripts/relocate_sdk.py > @@ -201,7 +201,7 @@ else: > new_prefix = sys.argv[1].encode() > new_dl_path = sys.argv[2].encode() > > -executables_list = sys.argv[3:] > +executables_list = sys.argv[2:] > > for e in executables_list: > perms = os.stat(e)[stat.ST_MODE] > -- > 1.7.10.4 > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core >