On Sat, 2021-02-27 at 16:15 +0100, Alexandre Belloni wrote:
> On 27/02/2021 16:08:02+0100, Alexandre Belloni wrote:
> > On 27/02/2021 15:52:25+0100, Alexandre Belloni wrote:
> > > Hello,
> > > 
> > > On 25/02/2021 15:30:35+0000, Luca Bocassi wrote:
> > > > From: Luca Boccassi <[email protected]>
> > > > 
> > > > Recently util-linux gained an (optional) build dependency on 
> > > > libcryptsetup.
> > > > But libcryptsetup build-depends on util-linux for blkid (optional, can 
> > > > be disabled)
> > > > and uuid (mandatory).
> > > > Split out util-linux-uuid in a different recipe to break the cycle.
> > > > 
> > > > https://github.com/karelzak/util-linux/pull/898
> > > > 
> > > > Signed-off-by: Luca Boccassi <[email protected]>
> > > > ---
> > > > v1: util-linux 2.35 is not out yet, but I'd like to get the preparatory 
> > > > work
> > > >     underway as I'm not sure if this is the best approach or if there 
> > > > are
> > > >     alternatives. Suggestions and comments very welcome. Thanks!
> > > > v2: changed packages names to reflect old ones (eg: libuuid1 -> 
> > > > util-linux-libuuid)
> > > >     and leave uuid build enable in main recipe to allow for uuidgen 
> > > > build to happen,
> > > >     as it does not have its own autoconf switch. Delete the library 
> > > > manualy from
> > > >     the main recipe after build instead, and add dependency.
> > > >     Might help to break loop python3 -> util-linux -> libselinux -> 
> > > > python3, as it's
> > > >     only libuuid that is needed, see 
> > > > https://lists.yoctoproject.org/g/yocto/message/47570
> > > > v3: rebased and refactored to have a common util-linux.inc file
> > > > v4: added RDEPENDS on util-linux-libuuid on various packages to fix QA 
> > > > warnings
> > > > v5: remove RDEPENDS and instead have util-linux RDEPEND on 
> > > > util-linux-uuid.
> > > >     Removed PACKAGES_remove and instead filter out libuuid via the 
> > > > package generation
> > > >     regex.
> > > >     Rebased on util-linux 2.36.2.
> > > > 
> > > >  .../util-linux/util-linux-uuid_2.36.2.bb      | 22 ++++++++
> > > >  meta/recipes-core/util-linux/util-linux.inc   | 41 ++++++++++++++
> > > >  .../util-linux/util-linux_2.36.2.bb           | 53 +++++--------------
> > > >  3 files changed, 75 insertions(+), 41 deletions(-)
> > > >  create mode 100644 
> > > > meta/recipes-core/util-linux/util-linux-uuid_2.36.2.bb
> > > >  create mode 100644 meta/recipes-core/util-linux/util-linux.inc
> > > > 
> > > 
> > > With this patch, there is a very weird failure on the autobuilders, two
> > > a-full builds failed with this:
> > > 
> > > ERROR: musl-1.2.2+gitAUTOINC+e5d2823631-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:extend_recipe_sysroot(d)
> > >      0003:
> > > File: 
> > > '/home/pokybuild/yocto-worker/poky-tiny/build/meta/classes/staging.bbclass',
> > >  lineno: 582, function: extend_recipe_sysroot
> > >      0578:                    if "/bin/" in l or "/sbin/" in l:
> > >      0579:                        # defer /*bin/* files until last in 
> > > case they need libs
> > >      0580:                        binfiles[l] = (targetdir, dest)
> > >      0581:                    else:
> > >  *** 0582:                        staging_copyfile(l, targetdir, dest, 
> > > postinsts, seendirs)
> > >      0583:
> > >      0584:    # Handle deferred binfiles
> > >      0585:    for l in binfiles:
> > >      0586:        (targetdir, dest) = binfiles[l]
> > > File: 
> > > '/home/pokybuild/yocto-worker/poky-tiny/build/meta/classes/staging.bbclass',
> > >  lineno: 157, function: staging_copyfile
> > >      0153:        os.symlink(linkto, dest)
> > >      0154:        #bb.warn(c)
> > >      0155:    else:
> > >      0156:        try:
> > >  *** 0157:            os.link(c, dest)
> > >      0158:        except OSError as err:
> > >      0159:            if err.errno == errno.EXDEV:
> > >      0160:                bb.utils.copyfile(c, dest)
> > >      0161:            else:
> > > Exception: FileExistsError: [Errno 17] File exists: 
> > > '/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/sysroots-components/core2-32/libgcc/usr/lib/i686-poky-linux-musl/10.2.0/libgcc_eh.a'
> > >  -> 
> > > '/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/core2-32-poky-linux-musl/musl/1.2.2+gitAUTOINC+e5d2823631-r0/recipe-sysroot/usr/lib/i686-poky-linux-musl/10.2.0/libgcc_eh.a'
> > > ERROR: Logfile of failure stored in: 
> > > /home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/core2-32-poky-linux-musl/musl/1.2.2+gitAUTOINC+e5d2823631-r0/temp/log.do_package.4051328
> > > NOTE: recipe musl-1.2.2+gitAUTOINC+e5d2823631-r0: task do_package: Failed
> > > ERROR: Task 
> > > (/home/pokybuild/yocto-worker/poky-tiny/build/meta/recipes-core/musl/musl_git.bb:do_package)
> > >  failed with exit code '1'
> > > 
> > > This also happens with glibc-2.33-r0:
> > > 
> > > 
> > > ERROR: glibc-2.33-r0 do_package: Error executing a python function in 
> > > exec_python_func() autogenerated:
> > > [...]
> > > Exception: FileExistsError: [Errno 17] File exists: 
> > > '/home/pokybuild/yocto-worker/edgerouter/build/build/tmp/sysroots-components/mips64/libgcc/usr/lib/mips64-poky-linux/10.2.0/libgcc.a'
> > >  -> 
> > > '/home/pokybuild/yocto-worker/edgerouter/build/build/tmp/work/mips64-poky-linux/glibc/2.33-r0/recipe-sysroot/usr/lib/mips64-poky-linux/10.2.0/libgcc.a'
> > > ERROR: Logfile of failure stored in: 
> > > /home/pokybuild/yocto-worker/edgerouter/build/build/tmp/work/mips64-poky-linux/glibc/2.33-r0/temp/log.do_package.29993
> > > NOTE: recipe glibc-2.33-r0: task do_package: Failed
> > > ERROR: Task 
> > > (/home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-core/glibc/glibc_2.33.bb:do_package)
> > >  failed with exit code '1'
> > > 

I see those kind of errors without this patch all the time, when a
build directory is hosed, and normally it means it's time for a rm -rf
and start over. It happens quite often when building in the same
directory multiple times. Are you sure it's related to this particular
patch?

> > Not sure this helps but we also get:
> > 
> > WARNING: nativesdk-util-linux-2.36.2-r0 do_package_qa: QA Issue: 
> > nativesdk-util-linux rdepends on nativesdk-util-linux-uuid, but it isn't a 
> > build dependency? [build-deps]

Uhm I don't understand this warning, it _is_ a build dependency? Any
idea?

-DEPENDS = "libcap-ng ncurses virtual/crypt zlib"
+DEPENDS = "libcap-ng ncurses virtual/crypt zlib util-linux-uuid"

> and I'm adding 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/47/builds/3137/steps/12/logs/stdio
>  :
> 
> ERROR: util-linux-uuid-2.36.2-r0 do_package: QA Issue: util-linux-uuid: 
> Files/directories were installed but not shipped in any package:
>   /usr/lib/libuuid.a
> Please set FILES such that these items are packaged. Alternatively if they 
> are unneeded, avoid installing them or delete them within do_install.

Whops, indeed I forgot the static archive, fixed now.

-- 
Kind regards,
Luca Boccassi

Attachment: signature.asc
Description: This is a digitally signed message part

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#148859): 
https://lists.openembedded.org/g/openembedded-core/message/148859
Mute This Topic: https://lists.openembedded.org/mt/80904162/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to