yocto.lists.yoctoproject.org archive mirror
 help / color / mirror / Atom feed
* OSError: [Errno 40] too much recursions while resolving #hardknott
@ 2023-05-27 12:00 Mahendra Sondagar
  2023-05-28 13:27 ` [yocto] " Alexander Kanavin
  0 siblings, 1 reply; 2+ messages in thread
From: Mahendra Sondagar @ 2023-05-27 12:00 UTC (permalink / raw)
  To: yocto


[-- Attachment #1.1: Type: text/plain, Size: 3157 bytes --]

Hi.. there

Hope all are doing well

I'm dealing with the Makefile based project, for which i have created the recipe file

The file architecture of the recipes file is as follows,

|---modem-api
├── files
│   ├── GpioApi.c
│   ├── GpioApi.h
│   ├── main.c
│   ├── Makefile
│   ├── modem.c
│   ├── modem.h
│   └── target_build
│       └── Makefile
└── modem-api_1.0.bb

- During the building the recipe modem-api, all files are fetched and compiled with out any issue
- The aim is to create the shared library called *libmodem.so* which need to install in */usr/lib* directory after the build

*Problem statement

-* During the do_package, it's generating the error message as *OSError: [Errno 40] too much recursions while resolving*

- For the instance, i have share the make file, recipe file and error logs here

- pl. can anyone help me here ?

all comments and suggestions welcome

Thanks

Mahendra

*Error logs*

ERROR: modem-api-1.0-r0 do_package: Error executing a python function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
0001:
*** 0002:split_and_strip_files(d)
0003:
File: '/home/mahi/Documents/AIO_System/var-fslc-yocto/sources/poky/meta/classes/package.bbclass', lineno: 1157, function: split_and_strip_files
1153:                    staticlibs.append(file)
1154:                    continue
1155:
1156:                try:
*** 1157:                    ltarget = cpath.realpath(file, dvar, False)
1158:                    s = cpath.lstat(ltarget)
1159:                except OSError as e:
1160:                    (err, strerror) = e.args
1161:                    if err != errno.ENOENT:
File: '/home/mahi/Documents/AIO_System/var-fslc-yocto/sources/poky/meta/lib/oe/cachedpath.py', lineno: 229, function: realpath
0225:            if e.errno == errno.ELOOP:
0226:                # make ELOOP more readable; without catching it, there will
0227:                # be printed a backtrace with 100s of OSError exceptions
0228:                # else
*** 0229:                raise OSError(errno.ELOOP,
0230:                              "too much recursions while resolving '%s'; loop in '%s'" %
0231:                              (file, e.strerror))
0232:
0233:            raise
Exception: OSError: [Errno 40] too much recursions while resolving '/home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/work/cortexa7t2hf-neon-fslc-linux-gnueabi/modem-api/1.0-r0/package/usr/lib/libmodem.so'; loop in '/home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/work/cortexa7t2hf-neon-fslc-linux-gnueabi/modem-api/1.0-r0/package/usr/lib/libmodem.so'

[-- Attachment #1.2: Type: text/html, Size: 5252 bytes --]

[-- Attachment #2: modem-api_1.0.bb --]
[-- Type: application/octet-stream, Size: 1049 bytes --]

SUMMARY = "Modem API"
DESCRIPTION = "Recipe for Modem API"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

SRC_URI = "file://GpioApi.c \
           file://GpioApi.h \
           file://main.c \
           file://modem.c \
           file://modem.h \
           file://Makefile"

S = "${WORKDIR}"

inherit pkgconfig

do_compile() {
    oe_runmake
}

do_install() {
    install -d ${D}${libdir}
    install -m 0755 libmodem.so ${D}${libdir}

    # Create symbolic link
    ln -sf libmodem.so ${D}${libdir}/libmodem.so

    # Install development files
    install -d ${D}${includedir}
    install -m 0644 GpioApi.h modem.h ${D}${includedir}
}

FILES_${PN} += "${libdir}/libmodem.so"
FILES_${PN}-dev += "${includedir}/GpioApi.h ${includedir}/modem.h"

# Set proper RPATH and enable GNU_HASH
LDFLAGS_append = " -Wl,-rpath-link,${STAGING_LIBDIR}"
LDFLAGS_append = " -Wl,--hash-style=gnu"
TARGET_LDFLAGS += " -Wl,--hash-style=gnu"

# Disable QA check for GNU_HASH
INSANE_SKIP_${PN} = "ldflags"



[-- Attachment #3: Makefile --]
[-- Type: application/octet-stream, Size: 902 bytes --]

SHELL := /bin/bash

ARM_TOOLCHAIN_DIR := /opt/fslc-x11/3.3
CC := $(shell source $(ARM_TOOLCHAIN_DIR)/environment-setup-cortexa7t2hf-neon-fslc-linux-gnueabi && echo $$CC)
CFLAGS := $(shell source $(ARM_TOOLCHAIN_DIR)/environment-setup-cortexa7t2hf-neon-fslc-linux-gnueabi && echo $$CFLAGS)
PREFIX := /usr/lib

.PHONY: all clean

all: libmodem.so

modem.o: modem.h modem.c
	$(CC) -c -fpic $(CFLAGS) modem.c

GpioApi.o: GpioApi.h GpioApi.c
	$(CC) -c -fpic $(CFLAGS) GpioApi.c

libmodem.so: modem.o GpioApi.o
	$(CC) -shared -o $@ GpioApi.o modem.o

utest: libmodem.so main.c
	$(CC) -o $@ main.c -L./ -lmodem

#target:
	$(MAKE) -C target_build/

#target_utest:
	$(MAKE) -C target_build/ utest

clean:
	rm -f modem.o \
        GpioApi.o \
        libmodem.so \
        utest
	$(MAKE) -C /home/mahi/Documents/AIO_System/var-fslc-yocto/meta-custom-aio/recipes-connectivity/modem-api/files/target_build/ clean


[-- Attachment #4: log.do_package.46495 --]
[-- Type: application/octet-stream, Size: 6978 bytes --]

DEBUG: Executing python function sstate_task_prefunc
DEBUG: Python function sstate_task_prefunc finished
DEBUG: Executing python function extend_recipe_sysroot
NOTE: Direct dependencies are ['virtual:native:/home/mahi/Documents/AIO_System/var-fslc-yocto/sources/poky/meta/recipes-devtools/dwarfsrcfiles/dwarfsrcfiles.bb:do_populate_sysroot', 'virtual:native:/home/mahi/Documents/AIO_System/var-fslc-yocto/sources/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb:do_populate_sysroot', '/home/mahi/Documents/AIO_System/var-fslc-yocto/sources/poky/meta/recipes-devtools/gcc/gcc-cross_10.3.bb:do_populate_sysroot', '/home/mahi/Documents/AIO_System/var-fslc-yocto/sources/poky/meta/recipes-devtools/quilt/quilt-native_0.66.bb:do_populate_sysroot', 'virtual:native:/home/mahi/Documents/AIO_System/var-fslc-yocto/sources/poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb:do_populate_sysroot', '/home/mahi/Documents/AIO_System/var-fslc-yocto/sources/poky/meta/recipes-devtools/gcc/gcc-runtime_10.3.bb:do_populate_sysroot', 'virtual:native:/home/mahi/Documents/AIO_System/var-fslc-yocto/sources/poky/meta/recipes-devtools/patch/patch_2.7.6.bb:do_populate_sysroot', 'virtual:native:/home/mahi/Documents/AIO_System/var-fslc-yocto/sources/poky/meta/recipes-devtools/pseudo/pseudo_git.bb:do_populate_sysroot', '/home/mahi/Documents/AIO_System/var-fslc-yocto/sources/poky/meta/recipes-core/glibc/glibc_2.33.bb:do_populate_sysroot']
NOTE: Installed into sysroot: ['dwarfsrcfiles-native', 'rpm-native', 'elfutils-native', 'db-native', 'libgcrypt-native', 'bzip2-native', 'file-native', 'popt-native', 'python3-native', 'libcap-native', 'libgpg-error-native', 'sqlite3-native', 'libtirpc-native', 'libnsl2-native', 'readline-native', 'openssl-native', 'libffi-native', 'gdbm-native', 'util-linux-native', 'gperf-native', 'ncurses-native', 'libpcre2-native', 'util-linux-libuuid-native', 'libcap-ng-native']
NOTE: Skipping as already exists in sysroot: ['pkgconfig-native', 'gcc-cross-arm', 'quilt-native', 'gcc-runtime', 'patch-native', 'pseudo-native', 'glibc', 'xz-native', 'libtool-native', 'automake-native', 'flex-native', 'autoconf-native', 'libmpc-native', 'zlib-native', 'binutils-cross-arm', 'linux-libc-headers', 'texinfo-dummy-native', 'gnu-config-native', 'gmp-native', 'mpfr-native', 'gettext-minimal-native', 'libgcc', 'attr-native', 'm4-native']
DEBUG: sed -e 's:^[^/]*/:/home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/work/cortexa7t2hf-neon-fslc-linux-gnueabi/modem-api/1.0-r0/recipe-sysroot-native/:g' /home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/sysroots-components/x86_64/rpm-native/fixmepath /home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/sysroots-components/x86_64/elfutils-native/fixmepath /home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/sysroots-components/x86_64/libgcrypt-native/fixmepath /home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/sysroots-components/x86_64/python3-native/fixmepath /home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/sysroots-components/x86_64/libgpg-error-native/fixmepath /home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/sysroots-components/x86_64/openssl-native/fixmepath /home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/sysroots-components/x86_64/ncurses-native/fixmepath /home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/sysroots-components/x86_64/libpcre2-native/fixmepath | xargs sed -i -e 's:FIXMESTAGINGDIRTARGET:/home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/work/cortexa7t2hf-neon-fslc-linux-gnueabi/modem-api/1.0-r0/recipe-sysroot:g; s:FIXMESTAGINGDIRHOST:/home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/work/cortexa7t2hf-neon-fslc-linux-gnueabi/modem-api/1.0-r0/recipe-sysroot-native:g' -e 's:FIXME_PSEUDO_SYSROOT:/home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/sysroots-components/x86_64/pseudo-native:g' -e 's:FIXME_HOSTTOOLS_DIR:/home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/hosttools:g' -e 's:FIXME_PKGDATA_DIR:/home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/pkgdata/imx6ul-var-dart:g' -e 's:FIXME_PSEUDO_LOCALSTATEDIR:/home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/work/cortexa7t2hf-neon-fslc-linux-gnueabi/modem-api/1.0-r0/pseudo/:g' -e 's:FIXME_LOGFIFO:/home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/work/cortexa7t2hf-neon-fslc-linux-gnueabi/modem-api/1.0-r0/temp/fifo.46495:g'
DEBUG: Python function extend_recipe_sysroot finished
DEBUG: Executing python function do_package
DEBUG: Executing python function package_convert_pr_autoinc
DEBUG: Python function package_convert_pr_autoinc finished
DEBUG: Executing python function package_prepare_pkgdata
NOTE: Installed into pkgdata-sysroot: ['gcc-runtime', 'glibc', 'libgcc', 'linux-libc-headers']
DEBUG: Python function package_prepare_pkgdata 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 exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:split_and_strip_files(d)
     0003:
File: '/home/mahi/Documents/AIO_System/var-fslc-yocto/sources/poky/meta/classes/package.bbclass', lineno: 1157, function: split_and_strip_files
     1153:                    staticlibs.append(file)
     1154:                    continue
     1155:
     1156:                try:
 *** 1157:                    ltarget = cpath.realpath(file, dvar, False)
     1158:                    s = cpath.lstat(ltarget)
     1159:                except OSError as e:
     1160:                    (err, strerror) = e.args
     1161:                    if err != errno.ENOENT:
File: '/home/mahi/Documents/AIO_System/var-fslc-yocto/sources/poky/meta/lib/oe/cachedpath.py', lineno: 229, function: realpath
     0225:            if e.errno == errno.ELOOP:
     0226:                # make ELOOP more readable; without catching it, there will
     0227:                # be printed a backtrace with 100s of OSError exceptions
     0228:                # else
 *** 0229:                raise OSError(errno.ELOOP,
     0230:                              "too much recursions while resolving '%s'; loop in '%s'" %
     0231:                              (file, e.strerror))
     0232:
     0233:            raise
Exception: OSError: [Errno 40] too much recursions while resolving '/home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/work/cortexa7t2hf-neon-fslc-linux-gnueabi/modem-api/1.0-r0/package/usr/lib/libmodem.so'; loop in '/home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/work/cortexa7t2hf-neon-fslc-linux-gnueabi/modem-api/1.0-r0/package/usr/lib/libmodem.so'

DEBUG: Python function split_and_strip_files finished
DEBUG: Python function do_package finished

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [yocto] OSError: [Errno 40] too much recursions while resolving #hardknott
  2023-05-27 12:00 OSError: [Errno 40] too much recursions while resolving #hardknott Mahendra Sondagar
@ 2023-05-28 13:27 ` Alexander Kanavin
  0 siblings, 0 replies; 2+ messages in thread
From: Alexander Kanavin @ 2023-05-28 13:27 UTC (permalink / raw)
  To: Mahendra Sondagar; +Cc: yocto

The recipe contains this in do_install:

    install -m 0755 libmodem.so ${D}${libdir}

    # Create symbolic link
    ln -sf libmodem.so ${D}${libdir}/libmodem.so

This creates a symbolic link into the build directory which is
definitely incorrect. Just copying the file with install is enough.
What was the intent here?

Alex

On Sat, 27 May 2023 at 14:00, Mahendra Sondagar
<mahendrasondagar08@gmail.com> wrote:
>
> Hi.. there
>
> Hope all are doing well
>
>
>
> I'm dealing with the Makefile based project, for which i have created the recipe file
>
> The file architecture of the recipes file is as follows,
>
> |---modem-api
> ├── files
> │   ├── GpioApi.c
> │   ├── GpioApi.h
> │   ├── main.c
> │   ├── Makefile
> │   ├── modem.c
> │   ├── modem.h
> │   └── target_build
> │       └── Makefile
> └── modem-api_1.0.bb
>
>
> - During the building the recipe modem-api, all files are fetched and compiled with out any issue
> - The aim is to create the shared library called libmodem.so which need to install in /usr/lib directory after the build
>
>
> Problem statement
>
> - During the do_package, it's generating the error message as OSError: [Errno 40] too much recursions while resolving
>
> - For the instance, i have share the make file, recipe file and error logs here
>
> - pl. can anyone help me here ?
>
> all comments and suggestions welcome
>
>
>
> Thanks
>
> Mahendra
>
>
>
> Error logs
>
> ERROR: modem-api-1.0-r0 do_package: Error executing a python function in exec_python_func() autogenerated:
>
> The stack trace of python calls that resulted in this exception/failure was:
> File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
>      0001:
>  *** 0002:split_and_strip_files(d)
>      0003:
> File: '/home/mahi/Documents/AIO_System/var-fslc-yocto/sources/poky/meta/classes/package.bbclass', lineno: 1157, function: split_and_strip_files
>      1153:                    staticlibs.append(file)
>      1154:                    continue
>      1155:
>      1156:                try:
>  *** 1157:                    ltarget = cpath.realpath(file, dvar, False)
>      1158:                    s = cpath.lstat(ltarget)
>      1159:                except OSError as e:
>      1160:                    (err, strerror) = e.args
>      1161:                    if err != errno.ENOENT:
> File: '/home/mahi/Documents/AIO_System/var-fslc-yocto/sources/poky/meta/lib/oe/cachedpath.py', lineno: 229, function: realpath
>      0225:            if e.errno == errno.ELOOP:
>      0226:                # make ELOOP more readable; without catching it, there will
>      0227:                # be printed a backtrace with 100s of OSError exceptions
>      0228:                # else
>  *** 0229:                raise OSError(errno.ELOOP,
>      0230:                              "too much recursions while resolving '%s'; loop in '%s'" %
>      0231:                              (file, e.strerror))
>      0232:
>      0233:            raise
> Exception: OSError: [Errno 40] too much recursions while resolving '/home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/work/cortexa7t2hf-neon-fslc-linux-gnueabi/modem-api/1.0-r0/package/usr/lib/libmodem.so'; loop in '/home/mahi/Documents/AIO_System/var-fslc-yocto/build_aio/tmp/work/cortexa7t2hf-neon-fslc-linux-gnueabi/modem-api/1.0-r0/package/usr/lib/libmodem.so'
>
>
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#60132): https://lists.yoctoproject.org/g/yocto/message/60132
> Mute This Topic: https://lists.yoctoproject.org/mt/99166192/1686489
> Mute #hardknott:https://lists.yoctoproject.org/g/yocto/mutehashtag/hardknott
> Group Owner: yocto+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-05-28 13:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-27 12:00 OSError: [Errno 40] too much recursions while resolving #hardknott Mahendra Sondagar
2023-05-28 13:27 ` [yocto] " Alexander Kanavin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).