aws4embeddedlinux / meta-aws

The metadata layer for baking AWS device software to Embedded Linux distributions built by the Yocto Project build system.
MIT License
126 stars 84 forks source link

No match for argument: python3-setuptools Error: Unable to find a match #1070

Closed jahanzaib1234 closed 1 year ago

jahanzaib1234 commented 1 year ago

i get this error

repo: using cache for: oe-repo not found other for: not found modules for: not found deltainfo for: not found updateinfo for: oe-repo: using metadata from Mon 07 Nov 2022 04:58:03 PM UTC. Last metadata expiration check: 0:00:04 ago on Mon 07 Nov 2022 04:58:04 PM UTC. No module defaults found No match for argument: python3-setuptools Error: Unable to find a match

and my python3-setuptools_65.5.1.bb is

SUMMARY = "Easily download, build, install, upgrade, and uninstall Python packages" HOMEPAGE = "https://github.com/pypa/setuptools" AUTHOR = "Python Packaging Authority distutils-sig@python.org" LICENSE = "MIT License (MIT)" LIC_FILES_CHKSUM = "file://LICENSE;md5=7a7126e068206290f3fe9f8d6c713ea6"

SRC_URI = "https://files.pythonhosted.org/packages/c5/41/247814d8b7a044717164c74080725a6c8f3d2b5fc82b34bd825b617df663/setuptools-65.5.0.tar.gz" SRC_URI[md5sum] = "9018a18990e7c16159ec3972affba76c" SRC_URI[sha256sum] = "512e5536220e38146176efb833d4a62aa726b7bbff82cfbc8ba9eaa3996e0b17"

S = "${WORKDIR}/setuptools-65.5.0"

RDEPENDS_${PN} = ""

jahanzaib1234 commented 1 year ago

when i add

inherit setuptools

then i get this error

Could not inherit file classes/setuptools.bbclass

thomas-roos commented 1 year ago

Hi, what is the branch you are working on? What are you trying to build?

jahanzaib1234 commented 1 year ago

dunfell

jahanzaib1234 commented 1 year ago

i am trying to build image for raspberry pi4 and want to to auto boot device with PyQt5 application

jahanzaib1234 commented 1 year ago

for PyQt5 application i need screeninfo and some other modules available in below list

/home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-screeninfo \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-apscheduler \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-tzlocal \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-pytz \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-sseclient \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-gcloud \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-firebase-admin \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-requests \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-charset-normalizer \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-idna \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-urllib3 \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-certifi \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-google-api-python-client \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-httplib2 \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-google-auth \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-cachetools \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-pyasn1-modules \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-pyasn1 \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-google-auth-httplib2 \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-google-api-core \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-googleapis-common-protos \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-protobuf \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-uritemplate \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-google-cloud-storage \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-google-cloud-core \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-google-resumable-media \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-google-crc32c \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-pyjwt \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-onglass \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-setuptools \ "

jahanzaib1234 commented 1 year ago

when i try IMAGE_INSTALL_append = " python3-screeninfo"

i get this error

No match for argument: python3-screeninfo Error: Unable to find a match

After some research i get this point to remove this error i add "inherit setuptools" and i get this error

Could not inherit file classes/setuptools.bbclass

to remove this error i try to install steptools but get same error for steptools

jahanzaib1234 commented 1 year ago

@thomas-roos and my local.conf file looks like this

#

This file is your local configuration file and is where all local user settings

are placed. The comments in this file give some guide to the options a new user

to the system might want to change but pretty much any configuration option can

be set in this file. More adventurous users can look at local.conf.extended

which contains other examples of configuration which can be placed in this file

but new users likely won't need any of them initially.

#

Lines starting with the '#' character are commented out and in some cases the

default values are provided as comments to show people example syntax. Enabling

the option is a question of removing the # character and making any change to the

variable as required.

#

Machine Selection

#

You need to select a specific machine to target the build with. There are a selection

of emulated machines available which can boot and run in the QEMU emulator:

#

MACHINE ?= "qemuarm"

MACHINE ?= "qemuarm64"

MACHINE ?= "qemumips"

MACHINE ?= "qemumips64"

MACHINE ?= "qemuppc"

MACHINE ?= "qemux86"

MACHINE ?= "qemux86-64"

#

There are also the following hardware board target machines included for

demonstration purposes:

#

MACHINE ?= "beaglebone-yocto"

MACHINE ?= "genericx86"

MACHINE ?= "genericx86-64"

MACHINE ?= "edgerouter"

#

This sets the default machine to be qemux86-64 if no other machine is selected:

MACHINE ??= "raspberrypi4" LICENSE_FLAGS_WHITELIST="commercial" IMAGE_INSTALL_append = " util-linux-agetty" IMAGE_INSTALL_append = " python3-tkinter" IMAGE_INSTALL_append = " python3-pip" IMAGE_INSTALL_append = " python3-pyqt5" IMAGE_INSTALL_append = " python3-pyqt5" IMAGE_INSTALL_append = " python3-pycrypto" IMAGE_INSTALL_append = " python3-iniparse" IMAGE_INSTALL_append = " python3-cryptography" IMAGE_INSTALL_append = " python3-six" IMAGE_INSTALL_append = " python3-setuptools" IMAGE_INSTALL_append = " python3-click" IMAGE_INSTALL_append = " python3-cachecontrol" IMAGE_INSTALL_append = " python3-screeninfo" IMAGE_FSTYPES = "tar.xz ext3 rpi-sdimg"

Where to place downloads

#

During a first build the system will download many different source code tarballs

from various upstream projects. This can take a while, particularly if your network

connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you

can preserve this directory to speed up this part of subsequent builds. This directory

is safe to share between multiple builds on the same machine too.

#

The default is a downloads directory under TOPDIR which is the build directory.

#

DL_DIR ?= "${TOPDIR}/downloads"

#

Where to place shared-state files

#

BitBake has the capability to accelerate builds based on previously built output.

This is done using "shared state" files which can be thought of as cache objects

and this option determines where those files are placed.

#

You can wipe out TMPDIR leaving this directory intact and the build would regenerate

from these files if no changes were made to the configuration. If changes were made

to the configuration, only shared state files where the state was still valid would

be used (done using checksums).

#

The default is a sstate-cache directory under TOPDIR.

#

SSTATE_DIR ?= "${TOPDIR}/sstate-cache"

#

Where to place the build output

#

This option specifies where the bulk of the building work should be done and

where BitBake should place its temporary files and output. Keep in mind that

this includes the extraction and compilation of many applications and the toolchain

which can use Gigabytes of hard disk space.

#

The default is a tmp directory under TOPDIR.

#

TMPDIR = "${TOPDIR}/tmp"

#

Default policy config

#

The distribution setting controls which policy settings are used as defaults.

The default value is fine for general Yocto project use, at least initially.

Ultimately when creating custom policy, people will likely end up subclassing

these defaults.

# DISTRO ?= "poky"

As an example of a subclass there is a "bleeding" edge policy configuration

where many versions are set to the absolute latest code from the upstream

source control systems. This is just mentioned here as an example, its not

useful to most new users.

DISTRO ?= "poky-bleeding"

#

Package Management configuration

#

This variable lists which packaging formats to enable. Multiple package backends

can be enabled at once and the first item listed in the variable will be used

to generate the root filesystems.

Options are:

- 'package_deb' for debian style deb files

- 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)

- 'package_rpm' for rpm style packages

E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"

We default to rpm:

PACKAGE_CLASSES ?= "package_rpm"

#

SDK target architecture

#

This variable specifies the architecture to build SDK items for and means

you can build the SDK packages for architectures other than the machine you are

running the build on (i.e. building i686 packages on an x86_64 host).

Supported values are i686 and x86_64

SDKMACHINE ?= "i686"

#

Extra image configuration defaults

#

The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated

images. Some of these options are added to certain image types automatically. The

variable can contain the following options:

"dbg-pkgs" - add -dbg packages for all installed packages

(adds symbol information for debugging/profiling)

"src-pkgs" - add -src packages for all installed packages

(adds source code for debugging)

"dev-pkgs" - add -dev packages for all installed packages

(useful if you want to develop against libs in the image)

"ptest-pkgs" - add -ptest packages for all ptest-enabled packages

(useful if you want to run the package test suites)

"tools-sdk" - add development tools (gcc, make, pkgconfig etc.)

"tools-debug" - add debugging tools (gdb, strace)

"eclipse-debug" - add Eclipse remote debugging support

"tools-profile" - add profiling tools (oprofile, lttng, valgrind)

"tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)

"debug-tweaks" - make an image suitable for development

e.g. ssh root access has a blank password

There are other application targets that can be used here too, see

meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.

We default to enabling the debugging tweaks.

EXTRA_IMAGE_FEATURES ?= "debug-tweaks"

#

Additional image features

#

The following is a list of additional classes to use when building images which

enable extra features. Some available options which can be included in this variable

are:

- 'buildstats' collect build statistics

- 'image-mklibs' to reduce shared library files size for an image

- 'image-prelink' in order to prelink the filesystem image

NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink

NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended

USER_CLASSES ?= "buildstats image-mklibs image-prelink"

#

Runtime testing of images

#

The build system can test booting virtual machine images under qemu (an emulator)

after any root filesystems are created and run tests against those images. It can also

run tests against any SDK that are built. To enable this uncomment these lines.

See classes/test{image,sdk}.bbclass for further details.

IMAGE_CLASSES += "testimage testsdk"

TESTIMAGE_AUTO_qemuall = "1"

#

Interactive shell configuration

#

Under certain circumstances the system may need input from you and to do this it

can launch an interactive shell. It needs to do this since the build is

multithreaded and needs to be able to handle the case where more than one parallel

process may require the user's attention. The default is iterate over the available

terminal types to find one that works.

#

Examples of the occasions this may happen are when resolving patches which cannot

be applied, to use the devshell or the kernel menuconfig

#

Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none

Note: currently, Konsole support only works for KDE 3.x due to the way

newer Konsole versions behave

OE_TERMINAL = "auto"

By default disable interactive patch resolution (tasks will just fail instead):

PATCHRESOLVE = "noop"

#

Disk Space Monitoring during the build

#

Monitor the disk space during the build. If there is less that 1GB of space or less

than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully

shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort

of the build. The reason for this is that running completely out of space can corrupt

files and damages the build in ways which may not be easily recoverable.

It's necesary to monitor /tmp, if there is no space left the build will fail

with very exotic errors.

BB_DISKMON_DIRS ??= "\ STOPTASKS,${TMPDIR},1G,100K \ STOPTASKS,${DL_DIR},1G,100K \ STOPTASKS,${SSTATE_DIR},1G,100K \ STOPTASKS,/tmp,100M,100K \ ABORT,${TMPDIR},100M,1K \ ABORT,${DL_DIR},100M,1K \ ABORT,${SSTATE_DIR},100M,1K \ ABORT,/tmp,10M,1K"

#

Shared-state files from other locations

#

As mentioned above, shared state files are prebuilt cache data objects which can

used to accelerate build time. This variable can be used to configure the system

to search other mirror locations for these objects before it builds the data itself.

#

This can be a filesystem directory, or a remote url such as http or ftp. These

would contain the sstate-cache results from previous builds (possibly from other

machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the

cache locations to check for the shared objects.

NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH

at the end as shown in the examples below. This will be substituted with the

correct path within the directory structure.

SSTATE_MIRRORS ?= "\

file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \

file://.* file:///some/local/dir/sstate/PATH"

#

Yocto Project SState Mirror

#

The Yocto Project has prebuilt artefacts available for its releases, you can enable

use of these by uncommenting the following line. This will mean the build uses

the network to check for artefacts at the start of builds, which does slow it down

equally, it will also speed up the builds by not having to build things if they are

present in the cache. It assumes you can download something faster than you can build it

which will depend on your network.

#

SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH"

#

Qemu configuration

#

By default native qemu will build with a builtin VNC server where graphical output can be

seen. The line below enables the SDL UI frontend too.

PACKAGECONFIG_append_pn-qemu-system-native = " sdl"

By default libsdl2-native will be built, if you want to use your host's libSDL instead of

the minimal libsdl built by libsdl2-native then uncomment the ASSUME_PROVIDED line below.

ASSUME_PROVIDED += "libsdl2-native"

You can also enable the Gtk UI frontend, which takes somewhat longer to build, but adds

a handy set of menus for controlling the emulator.

PACKAGECONFIG_append_pn-qemu-system-native = " gtk+"

#

Hash Equivalence

#

Enable support for automatically running a local hash equivalence server and

instruct bitbake to use a hash equivalence aware signature generator. Hash

equivalence improves reuse of sstate by detecting when a given sstate

artifact can be reused as equivalent, even if the current task hash doesn't

match the one that generated the artifact.

#

A shared hash equivalent server can be set with ":" format

#

BB_HASHSERVE = "auto"

BB_SIGNATURE_HANDLER = "OEEquivHash"

CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to

track the version of this file when it was generated. This can safely be ignored if

this doesn't mean anything to you.

CONF_VERSION = "1"

systemd settings

DISTRO_FEATURES:append = " systemd" VIRTUAL-RUNTIME:init_manager = "systemd" VIRTUAL-RUNTIME:initscripts = "" IMX_DEFAULT_DISTRO_FEATURES:append = " systemd"

enable some hardware

ENABLE_I2C = "1" ENABLE_UART = "1" DISABLE_SPLASH = "1" DISABLE_RPI_BOOT_LOGO = "1"

IMAGE_INSTALL:append = " psplash" IMAGE_FEATURES += " splash "

thomas-roos commented 1 year ago

please share your bblayers.conf and your bitbake command

jahanzaib1234 commented 1 year ago

@thomas-roos

bitbake command :

source ./oe-init-build-env smartGlass/build

bitbake qt5-image

My bblayers.conf file

POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf

changes incompatibly

POKY_BBLAYERS_CONF_VERSION = "2"

BBPATH = "${TOPDIR}" BBFILES ?= ""

BBLAYERS ?= " \ ${TOPDIR}/../../meta \ ${TOPDIR}/../../meta-poky \ ${TOPDIR}/../../meta-yocto-bsp \ ${TOPDIR}/../../../meta-raspberrypi \ ${TOPDIR}/../../../meta-openembedded/meta-oe \ ${TOPDIR}/../../../meta-openembedded/meta-multimedia \ ${TOPDIR}/../../../meta-openembedded/meta-networking \ ${TOPDIR}/../../../meta-openembedded/meta-python \ ${TOPDIR}/../../../meta-openembedded/meta-perl \ ${TOPDIR}/../../../meta-qt5 \ ${TOPDIR}/../../../meta-security \ ${TOPDIR}/../meta-rpi \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-screeninfo \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-apscheduler \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-tzlocal \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-pytz \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-sseclient \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-gcloud \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-firebase-admin \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-requests \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-charset-normalizer \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-idna \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-urllib3 \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-certifi \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-google-api-python-client \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-httplib2 \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-google-auth \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-cachetools \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-pyasn1-modules \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-pyasn1 \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-google-auth-httplib2 \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-google-api-core \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-googleapis-common-protos \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-protobuf \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-uritemplate \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-google-cloud-storage \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-google-cloud-core \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-google-resumable-media \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-google-crc32c \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-pyjwt \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-onglass \ /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-setuptools \ "

jahanzaib1234 commented 1 year ago

and setuptools.bbclass looks like this :

inherit distutils

DEPENDS += "python-setuptools-native"

jahanzaib1234 commented 1 year ago

When i remove " inherit setuptools " from " python3-screeninfo_0.8.1.bb " then i get this error

ERROR: qt5-image-1.0-r0 do_rootfs: No manifest generated from: python3-setuptools

jahanzaib1234 commented 1 year ago

and also remove from local.conf

thomas-roos commented 1 year ago

It doesn't seem that you are using meta-aws? How is this related?

jahanzaib1234 commented 1 year ago

i am not using meta-aws

jahanzaib1234 commented 1 year ago

ERROR: ParseError at /home/smart/Desktop/smart_glass/poky/smartGlass/sources/meta-screeninfo/recipes-devtools/python/python3-screeninfo_0.8.1.bb:16: Could not inherit file classes/setuptools.bbclass

jahanzaib1234 commented 1 year ago

this is the main error that we need to handle

jahanzaib1234 commented 1 year ago

how can i inherit "inherit file classes/setuptools.bbclass"

thomas-roos commented 1 year ago

Hi, sorry to say this, but this is all about meta-aws. May ask your questions here: https://www.yoctoproject.org/community/mailing-lists/ or if the problem is Raspberry Pi related here: https://github.com/agherzan/meta-raspberrypi Btw. setuptools does not exsist in dunfell use setuptools3 -> https://git.yoctoproject.org/poky/tree/meta/classes/setuptools3.bbclass?h=dunfell good luck!

jahanzaib1234 commented 1 year ago

@thomas-roos thanks for you help i get the point i need to use setuptools3