[OE-core] [PATCHv4] git: fix perl binding installation

Koen Kooi koen at dominion.thruhere.net
Fri May 9 09:16:42 UTC 2014


Op 9 mei 2014, om 10:50 heeft Koen Kooi <koen at dominion.thruhere.net> het volgende geschreven:

> 
> Op 9 mei 2014, om 08:38 heeft Saul Wold <sgw at linux.intel.com> het volgende geschreven:
> 
>> On 05/08/2014 10:59 PM, Koen Kooi wrote:
>>> 
>>> Op 8 mei 2014, om 19:30 heeft Koen Kooi <koen at dominion.thruhere.net> het volgende geschreven:
>>> 
>>>> 
>>>> Op 8 mei 2014, om 18:37 heeft Saul Wold <sgw at linux.intel.com> het volgende geschreven:
>>>> 
>>>>> On 05/02/2014 01:36 AM, Koen Kooi wrote:
>>>>>> Git.pm wasn't ending up in the package because do_install removed it
>>>>>> with a misleading comment about multilib. Workaround the problem so
>>>>>> that Git.pm ends up in the correct dir *and* doesn't get deleted.
>>>>>> 
>>>>> 
>>>>> Seems to be a problem as RP was concerned with:
>>>>> 
>>>>> 
>>>>>> /srv/ssd/builds/world/tmp/sysroots/x86_64-linux/usr/bin/git difftool
>>>>>> Can't locate Error.pm in @INC (@INC contains: /srv/ssd/builds/world/tmp/sysroots/x86_64-linux/usr/lib/perl-native/perl/5.14.3 /srv/ssd/builds/world/tmp/sysroots/x86_64-linux/usr/lib/perl-native/perl//5.14.3 /srv/ssd/builds/world/tmp/sysroots/x86_64-linux/usr/lib/perl-native/perl/ /srv/ssd/machines/meta-intel-iot-devkit/build/tmp/sysroots/x86_64-linux/usr/lib/perl-native/perl/5.14.3 .) at /srv/ssd/builds/world/tmp/sysroots/x86_64-linux/usr/lib/git/git-core/git-difftool line 17.
>>>>>> BEGIN failed--compilation aborted at /srv/ssd/builds/world/tmp/sysroots/x86_64-linux/usr/lib/git/git-core/git-difftool line 17.
>>>>> 
>>>>> Doing a find in my sysroot:
>>>>> 
>>>>> /srv/ssd/builds/world/tmp/sysroots/x86_64-linux/usr/lib/perl-native/perl/5.14.3/CPANPLUS/Error.pm
>>>>> /srv/ssd/builds/world/tmp/sysroots/x86_64-linux/usr/lib/perl/5.14.3/Error.pm
>>>> 
>>>> Drat, I checked for buildpaths and didn't find anything. I'll retest and send a new version hopefully tomorrow.
>>> 
>>> I need to read errors better :) Do you have http://patches.openembedded.org/patch/70635/ applied? And did 'difftool' work before this? None of the perl tools worked for me due to error.pm missing.
>>> 
>> Apparently not, this must have gotten lost during the release crazies.
>> 
>> Can you please resend a rebased patch set against master with both of these tested using the ' target.
> 
> What is 'git-replacement-native' and how do I test it?

OK, I figured it out, I remove TMPDIR and sstate-cache, then did:

bitbake git-replacement-native
bitbake linaro-image-minimal

That blew up with:

RROR: Function failed: Fetcher failure: Fetch command failed with exit code 128, output:
Cloning into '/build/linaro/build/build/tmp-eglibc/work/x86_64-linux/prelink-native/1.0+gitAUTOINC+6822ec76aa-r0/git'...
git-upload-pack: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

ERROR: Logfile of failure stored in: /build/linaro/build/build/tmp-eglibc/work/x86_64-linux/prelink-native/1.0+gitAUTOINC+6822ec76aa-r0/temp/log.do_unpack.23257
Log data follows:
| DEBUG: Executing python function do_unpack
| DEBUG: Executing python function base_do_unpack
| DEBUG: Running export PATH="/build/linaro/build/openembedded-core/scripts/native-intercept:/build/linaro/build/openembedded-core/scripts:/build/linaro/build/build/tmp-eglibc/sysroots/x86_64-linux/usr/bin/x86_64-linux:/build/linaro/build
ld/linaro/build/build/tmp-eglibc/sysroots/x86_64-linux/sbin:/build/linaro/build/build/tmp-eglibc/sysroots/x86_64-linux/bin:/build/linaro/build/openembedded-core/scripts:/build/linaro/build/openembedded-core/bitbake/bin:/usr/lib64/qt-3.3/b
 -s -n /build/linaro/build/build/downloads/git2/git.yoctoproject.org.prelink-cross.git/ /build/linaro/build/build/tmp-eglibc/work/x86_64-linux/prelink-native/1.0+gitAUTOINC+6822ec76aa-r0/git/
| DEBUG: Python function base_do_unpack finished
| DEBUG: Python function do_unpack finished
| ERROR: Function failed: Fetcher failure: Fetch command failed with exit code 128, output:
| Cloning into '/build/linaro/build/build/tmp-eglibc/work/x86_64-linux/prelink-native/1.0+gitAUTOINC+6822ec76aa-r0/git'...
| git-upload-pack: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
| fatal: Could not read from remote repository.
|
| Please make sure you have the correct access rights
| and the repository exists.
|
ERROR: Task 117 (virtual:native:/build/linaro/build/openembedded-core/meta/recipes-devtools/prelink/prelink_git.bb, do_unpack) failed with exit code '1'
NOTE: Tasks Summary: Attempted 265 tasks of which 124 didn't need to be rerun and 1 failed.
Waiting for 0 running tasks to finish:

Summary: 1 task failed:
  virtual:native:/build/linaro/build/openembedded-core/meta/recipes-devtools/prelink/prelink_git.bb, do_unpack
Summary: There were 3 WARNING messages shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.

real    4m49.390s
user    8m30.627s
sys     1m37.368s

Libcrypto does seem to be in sysroot:

[koen at thinkpad build]$ find build/ -name "libcrypto.so.1.0.0"
build/tmp-eglibc/sysroots/x86_64-linux/lib/libcrypto.so.1.0.0

I don't think this is due to my perl changes, though.

regards,

Koen


> 
> regards,
> 
> Koen
> 
>> 
>> Thanks
>> 	Sau!
>> 
>>> 
>>>> 
>>>> regards,
>>>> 
>>>> Koen
>>>> 
>>>>> 
>>>>> Sau!
>>>>> 
>>>>> 
>>>>>> Signed-off-by: Koen Kooi <koen.kooi at linaro.org>
>>>>>> ---
>>>>>> meta/recipes-devtools/git/git.inc | 7 ++++++-
>>>>>> 1 file changed, 6 insertions(+), 1 deletion(-)
>>>>>> 
>>>>>> diff --git a/meta/recipes-devtools/git/git.inc b/meta/recipes-devtools/git/git.inc
>>>>>> index 73e11eb..178b768 100644
>>>>>> --- a/meta/recipes-devtools/git/git.inc
>>>>>> +++ b/meta/recipes-devtools/git/git.inc
>>>>>> @@ -28,10 +28,14 @@ do_install () {
>>>>>> 		template_dir=${datadir}/git-core/templates \
>>>>>> 		GIT_PYTHON_DIR=${D}${datadir}/git-core/python
>>>>>> 
>>>>>> +	cd ${B}/perl && oe_runmake install DESTDIR="${D}" bindir=${bindir}
>>>>>> +
>>>>>> 	# ${libdir} is not applicable here, perl-native files are always
>>>>>> 	# installed to /usr/lib on both 32/64 bits targets.
>>>>>> +	# Fix up build paths and point to target locations.
>>>>>> +	mv ${D}${exec_prefix}/lib/perl-native/perl ${D}${exec_prefix}/lib/perl
>>>>>> +	sed -i -e s:${D}::g ${D}${exec_prefix}/lib/perl/*/auto/Git/.packlist
>>>>>> 	rm -rf ${D}${exec_prefix}/lib/perl-native
>>>>>> -	rmdir ${D}${exec_prefix}/lib || true
>>>>>> }
>>>>>> 
>>>>>> PERLSEDFIXUP = " \
>>>>>> @@ -75,6 +79,7 @@ PERLTOOLS = " \
>>>>>> PACKAGES =+ "${PN}-perltools"
>>>>>> FILES_${PN}-perltools += " \
>>>>>>    ${PERLTOOLS} \
>>>>>> +    ${prefix}/lib/perl \
>>>>>>    ${datadir}/perl \
>>>>>> "
>>>>>> RDEPENDS_${PN}-perltools = "${PN} perl perl-module-file-path liberror-perl findutils"




More information about the Openembedded-core mailing list