[bitbake-devel] Bitbake: error in cachedpath.py
Dr. Markus Eich
markus.eich at dfki.de
Wed Jul 2 14:18:58 UTC 2014
I have analyzed the issue further. In the kernel source code, (taken
from git://github.com/hardkernel/linux.git"
there is no symlink loop in the git sources. While calling
bitbake linux-hardkernel
the command do_package somehow creates a recursive symlink in the folder
==
build/tmp/work/odroid_xu-poky-linux-gnueabi/linux-hardkernel/3.4-r0/package/usr/src/kernel/drivers/gpu/arm/mali400/ump/arch/arch-release
==
arch-release is a symlink to arch-release. I have removed the link with
rm -rf arch-release
after I call "bitbake -c package linux-hardkernel" the recursive link is
there again causing the error again? Why does do_package create this
link? Black magic?
Cheers,
Markus
On 27.06.2014 12:58, Richard Purdie wrote:
> On Fri, 2014-06-27 at 09:52 +0200, Dr. Markus Eich wrote:
>> Dear all,
>>
>> I am setting up Yocto to compile my kernel for odroid xu. During the
>> package phase of building the kernel, I get an error in cachedpath.py
>>
>> ================
>>
>> DEBUG: Executing python function sstate_task_prefunc
>> DEBUG: Python function sstate_task_prefunc finished
>> DEBUG: Executing python function do_package
>> DEBUG: Executing python function package_get_auto_pr
>> DEBUG: Python function package_get_auto_pr finished
>> DEBUG: Executing python function perform_packagecopy
>> DEBUG: Python function perform_packagecopy finished
>> DEBUG: Executing python function split_and_strip_files
>> ERROR: Error executing a python function in
>> /home/eich/yocto/poky/meta-odroid/recipes-kernel/linux/linux-hardkernel_3.4.bb:
>>
>> The stack trace of python calls that resulted in this exception/failure
>> was:
>> File: 'split_and_strip_files', lineno: 222, function: <module>
>> 0218: # End of strip
>> 0219: #
>> 0220:
>> 0221:
>> *** 0222:split_and_strip_files(d)
>> 0223:
>> File: 'split_and_strip_files', lineno: 85, function: split_and_strip_files
>> 0081: if debugdir and debugdir in
>> os.path.dirname(file[len(dvar):]):
>> 0082: continue
>> 0083:
>> 0084: try:
>> *** 0085: ltarget = cpath.realpath(file, dvar, False)
>> 0086: s = cpath.lstat(ltarget)
>> 0087: except OSError as e:
>> 0088: (err, strerror) = e.args
>> 0089: if err != errno.ENOENT:
>> File: '/home/eich/yocto/poky/meta/lib/oe/cachedpath.py', lineno: 229,
>> function: realpath
>> 0225: # be printed a backtrace with 100s of OSError
>> exceptions
>> 0226: # else
>> 0227: raise OSError(errno.ELOOP,
>> 0228: "too much recursions while
>> resolving '%s'; loop in '%s'" %
>> *** 0229: (file, e.strerror))
>> 0230:
>> 0231: raise
>> 0232:
>> 0233: return file
>> Exception: OSError: [Errno 40] too much recursions while resolving
>> '/home/eich/odroid/build/tmp/work/odroid_xu-poky-linux-gnueabi/linux-hardkernel/3.4-r0/package/usr/src/kernel/drivers/gpu/arm/mali400/ump/arch/arch-release';
>> loop in
>> '/home/eich/odroid/build/tmp/work/odroid_xu-poky-linux-gnueabi/linux-hardkernel/3.4-r0/package/usr/src/kernel/drivers/gpu/arm/mali400/ump/arch/arch-release'
>>
>> DEBUG: Python function split_and_strip_files finished
>> DEBUG: Python function do_package finished
>> ERROR: Function failed: split_and_strip_files
>>
>> ====================
>>
>> Seems that the path is to deep?
>>
>> To track the error, I have attached my kernel.bb
>>
>>
>> ==================
>> require recipes-kernel/linux/linux-yocto.inc
>>
>> KERNEL_IMAGETYPE = "uImage"
>>
>> COMPATIBLE_MACHINE = "odroid-xu"
>>
>> LINUX_VERSION = "3.4.91"
>> LINUX_VERSION_EXTENSION = "-custom"
>>
>> FILESEXTRAPATHS_prepend := "${THISDIR}/linux-hardkernel-3.4:"
>>
>> S = "${WORKDIR}/git"
>>
>> # from where to fetch the kernel
>> KERNEL_REPO_OWNER ??= "hardkernel"
>> KERNEL_REPO_URI ??= "git://github.com/${KERNEL_REPO_OWNER}/linux.git"
>> KBRANCH = "odroidxu-3.4.y"
>>
>> SRCREV = "${AUTOREV}"
>>
>> SRC_URI = " \
>> ${KERNEL_REPO_URI};nocheckout=1;branch=${KBRANCH} \
>> file://defconfig \
>> "
>>
>>
>> Any ideas ?
> It sounds like you have recursive symlinks which just loop between each
> other...
>
> Cheers,
>
> Richard
>
--
Dr.-Ing. Markus Eich
Senior Researcher
Marine Inspection Robotics
Space Robotics
Besuchsadresse der Nebengeschäftstelle:
DFKI GmbH
Robotics Innovation Center
Robert-Hooke-Straße 5
28359 Bremen, Germany
Postadresse der Hauptgeschäftsstelle Standort Bremen:
DFKI GmbH
Robotics Innovation Center
Robert-Hooke-Straße 1
28359 Bremen, Germany
Tel.: +49 421 178 45-4105
Zentrale: +49 421 178 45-0
Fax: +49 421 178 45-4150 (Faxe bitte namentlich kennzeichnen)
E-Mail: markus.eich at dfki.de
Weitere Informationen: http://www.dfki.de/robotik
-----------------------------------------------------------------------
Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH
Firmensitz: Trippstadter Straße 122, D-67663 Kaiserslautern
Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster
(Vorsitzender) Dr. Walter Olthoff
Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
Amtsgericht Kaiserslautern, HRB 2313
Sitz der Gesellschaft: Kaiserslautern (HRB 2313)
USt-Id.Nr.: DE 148646973
Steuernummer: 19/673/0060/3
-----------------------------------------------------------------------
More information about the bitbake-devel
mailing list