Skip to content
This repository has been archived by the owner on Sep 17, 2024. It is now read-only.

opae-sdk FTBFS: python3: No module named pip #1

Closed
pcolberg opened this issue Apr 17, 2023 · 17 comments
Closed

opae-sdk FTBFS: python3: No module named pip #1

pcolberg opened this issue Apr 17, 2023 · 17 comments
Assignees

Comments

@pcolberg
Copy link
Contributor

pcolberg commented Apr 17, 2023

Using 3aaa15b:

build% bitbake mc:x86-2021-minimal:opae-sdk
| DEBUG: Executing shell function do_compile
| NOTE: VERBOSE=1 cmake --build /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/build --target all --
| [1/113] /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/bin/x86_64-ese-linux/x86_64-ese-linux-gcc -DHAVE_CONFIG_H=1 -Dmml_stream_EXPORTS -I/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/include -I/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/libraries -I/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/build/include -I/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/mmlink/remote_dbg/streaming -I/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/tests/framework -I/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/mmlink/remote_dbg/streaming/.. -std=gnu11  -m64 -march=nehalem -mtune=generic -mfpmath=sse -msse4.2 -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security  --sysroot=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot  -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0=/usr/src/debug/opae-sdk/git-r0                      -fdebug-prefix-map=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0=/usr/src/debug/opae-sdk/git-r0                      -fdebug-prefix-map=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot=                      -fdebug-prefix-map=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native=  -Wformat -Wformat-security -fPIC -D_FORTIFY_SOURCE=2 -fstack-protector-all -g -O2 -Wall -Wextra -Werror -pthread -fPIC -std=gnu99 -MD -MT binaries/mmlink/remote_dbg/streaming/CMakeFiles/mml-stream.dir/constants.c.o -MF binaries/mmlink/remote_dbg/streaming/CMakeFiles/mml-stream.dir/constants.c.o.d -o binaries/mmlink/remote_dbg/streaming/CMakeFiles/mml-stream.dir/constants.c.o -c /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/mmlink/remote_dbg/streaming/constants.c
| [2/113] cd /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/hssi && /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/bin/python3-native/python3 -m pip install --root=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/hssi/build --no-warn-script-location . && /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/bin/cmake -E touch /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/build/binaries/hssi/timestamp
| FAILED: binaries/hssi/timestamp /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/build/binaries/hssi/timestamp
| cd /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/hssi && /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/bin/python3-native/python3 -m pip install --root=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/hssi/build --no-warn-script-location . && /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/bin/cmake -E touch /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/build/binaries/hssi/timestamp
| /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/bin/python3-native/python3: No module named pip
| [3/113] : && /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/bin/x86_64-ese-linux/x86_64-ese-linux-gcc -fPIC -m64 -march=nehalem -mtune=generic -mfpmath=sse -msse4.2 -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security  --sysroot=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot  -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0=/usr/src/debug/opae-sdk/git-r0                      -fdebug-prefix-map=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0=/usr/src/debug/opae-sdk/git-r0                      -fdebug-prefix-map=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot=                      -fdebug-prefix-map=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native=  -Wformat -Wformat-security -fPIC -D_FORTIFY_SOURCE=2 -fstack-protector-all -g -O2 -Wall -Wextra -Werror -pthread  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fmacro-prefix-map=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0=/usr/src/debug/opae-sdk/git-r0                      -fdebug-prefix-map=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0=/usr/src/debug/opae-sdk/git-r0                      -fdebug-prefix-map=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot=                      -fdebug-prefix-map=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native=  -Wl,-z,relro,-z,now --sysroot=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot -pie -shared -Wl,-soname,libopae-c.so.2 -o lib/libopae-c.so.2.4.0 libraries/libopae-c/CMakeFiles/opae-c.dir/pluginmgr.c.o libraries/libopae-c/CMakeFiles/opae-c.dir/api-shell.c.o libraries/libopae-c/CMakeFiles/opae-c.dir/init.c.o libraries/libopae-c/CMakeFiles/opae-c.dir/props.c.o libraries/libopae-c/CMakeFiles/opae-c.dir/cfg-file.c.o libraries/libopae-c/CMakeFiles/opae-c.dir/fpgad-cfg.c.o libraries/libopae-c/CMakeFiles/opae-c.dir/fpgainfo-cfg.c.o libraries/libopae-c/CMakeFiles/opae-c.dir/opae-cfg.c.o libraries/libopae-c/CMakeFiles/opae-c.dir/__/__/tests/framework/mock/opae_std.c.o  -ldl  /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot/usr/lib64/libjson-c.so  /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot/usr/lib64/libuuid.so && :
| [4/113] cd /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/ofs.uio && /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/bin/python3-native/python3 -m pip install --root=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/ofs.uio/build --no-warn-script-location . && /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/bin/cmake -E touch /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/build/binaries/ofs.uio/timestamp
| FAILED: binaries/ofs.uio/timestamp /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/build/binaries/ofs.uio/timestamp

bitbake.log

build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git% git log -1
commit a79c735d85071f2056a730618e2d350365ede414 (HEAD -> master, origin/master, origin/HEAD)
Author: Tim Whisonant <[email protected]>
Date:   Mon Apr 17 10:27:54 2023 -0700

    Merge feature/fuzzing to master (#2920)
    
    Add fuzzing framework and fuzz tests, per new SDL
    requirement.
    
    Signed-off-by: Tim Whisonant <[email protected]>
    Signed-off-by: anandaravuri <[email protected]>
@pcolberg pcolberg self-assigned this Apr 17, 2023
@pcolberg pcolberg changed the title opae-sdk fails to build from source opae-sdk FTBFS: python3: No module named pip Apr 17, 2023
@pcolberg
Copy link
Contributor Author

pcolberg commented Apr 17, 2023

This regression is due to OFS/opae-sdk#2917.

@pcolberg
Copy link
Contributor Author

pcolberg commented Apr 17, 2023

pip tries to install setuptools despite being available:

--- a/recipes-ofs/opae-sdk/opae-sdk_git.bb
+++ b/recipes-ofs/opae-sdk/opae-sdk_git.bb
@@ -13,8 +13,10 @@ DEPENDS = "\
     libedit \
     python3 \
     python3-jsonschema-native \
+    python3-pip-native \
     python3-pybind11 \
     python3-pyyaml-native \
+    python3-setuptools \
     python3-setuptools-native \
     spdlog \
     tbb \
build% bitbake -c do_compile mc:x86-2021-minimal:opae-sdk
| FAILED: binaries/hssi/timestamp /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/build/binaries/hssi/timestamp
| cd /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/hssi && /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/bin/python3-native/python3 -m pip install --root=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/hssi/build --no-warn-script-location . && /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/bin/cmake -E touch /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/build/binaries/hssi/timestamp
| Processing /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/hssi
|   Installing build dependencies: started
|   Installing build dependencies: finished with status 'error'
|   error: subprocess-exited-with-error
| 
|   × pip subprocess to install build dependencies did not run successfully.
|   │ exit code: 1
|   ╰─> [7 lines of output]
|       WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f3fb039c520>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/
|       WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f3fb039d300>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/
|       WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f3fb039ee30>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/
|       WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f3fb039ca00>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/
|       WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f3fb039e950>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/
|       ERROR: Could not find a version that satisfies the requirement setuptools>=59.6 (from versions: none)
|       ERROR: No matching distribution found for setuptools>=59.6
|       [end of output]
| 
|   note: This error originates from a subprocess, and is likely not a problem with pip.
| error: subprocess-exited-with-error
| 
| × pip subprocess to install build dependencies did not run successfully.
| │ exit code: 1
| ╰─> See above for output.
| 
| note: This error originates from a subprocess, and is likely not a problem with pip.

@pcolberg
Copy link
Contributor Author

The issue might be caused by the slightly too old version in Yocto kirkstone:

python3-setuptools corei7_64 59.5.0
|       ERROR: No matching distribution found for setuptools>=59.6

pcolberg added a commit to pcolberg/opae-sdk that referenced this issue Apr 17, 2023
This adds support for building opae-sdk with Yocto kirkstone.

OFS/meta-ofs#1
@pcolberg
Copy link
Contributor Author

Same failure using OFS/opae-sdk@18a230a with relaxed setuptools version:

--- a/recipes-ofs/opae-sdk/opae-sdk_git.bb
+++ b/recipes-ofs/opae-sdk/opae-sdk_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "Open Programmable Acceleration Engine"
 HOMEPAGE = "https://github.com/OFS/opae-sdk"
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=5351f05d1aa340cb91bb885c2fd82fc7"
-SRC_URI = "git://github.com/OFS/opae-sdk;protocol=https;branch=master"
+SRC_URI = "git://github.com/pcolberg/opae-sdk;protocol=https;branch=pyproject-setuptools"
 SRCREV = "${AUTOREV}"
 S = "${WORKDIR}/git"
 
@@ -13,8 +13,11 @@ DEPENDS = "\
     libedit \
     python3 \
     python3-jsonschema-native \
+    python3-pip \
+    python3-pip-native \
     python3-pybind11 \
     python3-pyyaml-native \
+    python3-setuptools \
     python3-setuptools-native \
     spdlog \
     tbb \
| FAILED: binaries/ofs.uio/timestamp /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/build/binaries/ofs.uio/timestamp
| cd /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/ofs.uio && /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/bin/python3-native/python3 -m pip install --root=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/ofs.uio/build --no-warn-script-location . && /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/bin/cmake -E touch /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/build/binaries/ofs.uio/timestamp
| Processing /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/ofs.uio
|   Installing build dependencies: started
|   Installing build dependencies: finished with status 'error'
|   error: subprocess-exited-with-error
| 
|   × pip subprocess to install build dependencies did not run successfully.
|   │ exit code: 1
|   ╰─> [7 lines of output]
|       WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f8af1113fd0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/
|       WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f8af11112a0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/
|       WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f8af11121a0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/
|       WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f8af1110370>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/
|       WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f8af1112290>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/
|       ERROR: Could not find a version that satisfies the requirement setuptools>=59.5 (from versions: none)
|       ERROR: No matching distribution found for setuptools>=59.5
|       [end of output]
| 
|   note: This error originates from a subprocess, and is likely not a problem with pip.
| error: subprocess-exited-with-error
| 
| × pip subprocess to install build dependencies did not run successfully.
| │ exit code: 1
| ╰─> See above for output.
| 
| note: This error originates from a subprocess, and is likely not a problem with pip.

@pcolberg
Copy link
Contributor Author

pcolberg commented Apr 17, 2023

Using OFS/opae-sdk@b0e0933:

build% ls -d tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/setuptools*
tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/setuptools/
tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/setuptools-59.5.0.dist-info/
tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/setuptools_scm/
tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/setuptools_scm-6.4.2.dist-info/
build% bitbake -c do_compile mc:x86-2021-minimal:opae-sdk
| [53/59] cd /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/hssi && /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/bin/python3-native/python3 -m pip install --root=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/hssi/build --no-warn-script-location . && /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/bin/cmake -E touch /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/build/binaries/hssi/timestamp
| FAILED: binaries/hssi/timestamp /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/build/binaries/hssi/timestamp
| cd /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/hssi && /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/bin/python3-native/python3 -m pip install --root=/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/hssi/build --no-warn-script-location . && /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/bin/cmake -E touch /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/build/binaries/hssi/timestamp
| Processing /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/hssi
|   Getting requirements to build wheel: started
|   Getting requirements to build wheel: finished with status 'done'
| ERROR: Exception:
| Traceback (most recent call last):
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/pip/_internal/cli/base_command.py", line 167, in exc_logging_wrapper
|     status = run_func(*args)
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/pip/_internal/cli/req_command.py", line 205, in wrapper
|     return func(self, options, args)
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/pip/_internal/commands/install.py", line 339, in run
|     requirement_set = resolver.resolve(
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 75, in resolve
|     collected = self.factory.collect_root_requirements(root_reqs)
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 506, in collect_root_requirements
|     req = self._make_requirement_from_install_req(
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 468, in _make_requirement_from_install_req
|     cand = self._make_candidate_from_link(
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 215, in _make_candidate_from_link
|     self._link_candidate_cache[link] = LinkCandidate(
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 288, in __init__
|     super().__init__(
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 158, in __init__
|     self.dist = self._prepare()
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 227, in _prepare
|     dist = self._prepare_distribution()
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 299, in _prepare_distribution
|     return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/pip/_internal/operations/prepare.py", line 487, in prepare_linked_requirement
|     return self._prepare_linked_requirement(req, parallel_builds)
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/pip/_internal/operations/prepare.py", line 556, in _prepare_linked_requirement
|     dist = _get_prepared_distribution(
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/pip/_internal/operations/prepare.py", line 58, in _get_prepared_distribution
|     abstract_dist.prepare_distribution_metadata(finder, build_isolation)
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/pip/_internal/distributions/sdist.py", line 45, in prepare_distribution_metadata
|     self._install_build_reqs(finder)
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/pip/_internal/distributions/sdist.py", line 104, in _install_build_reqs
|     build_reqs = self._get_build_requires_wheel()
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/pip/_internal/distributions/sdist.py", line 81, in _get_build_requires_wheel
|     return backend.get_requires_for_build_wheel()
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/pip/_vendor/pep517/wrappers.py", line 172, in get_requires_for_build_wheel
|     return self._call_hook('get_requires_for_build_wheel', {
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/pip/_vendor/pep517/wrappers.py", line 332, in _call_hook
|     raise BackendUnavailable(data.get('traceback', ''))
| pip._vendor.pep517.wrappers.BackendUnavailable: Traceback (most recent call last):
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 89, in _build_backend
|     obj = import_module(mod_path)
|   File "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
|     return _bootstrap._gcd_import(name[level:], package, level)
|   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
|   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
|   File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
|   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
|   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
|   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
|   File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
| ModuleNotFoundError: No module named 'setuptools'

@pcolberg
Copy link
Contributor Author

pcolberg commented Apr 17, 2023

OFS/opae-sdk@b0e0933 builds with python_setuptools_build_meta, see 'no module named setuptools' but it is contained in the DEPENDS variable:

--- a/recipes-ofs/opae-sdk/opae-sdk_git.bb
+++ b/recipes-ofs/opae-sdk/opae-sdk_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "Open Programmable Acceleration Engine"
 HOMEPAGE = "https://github.com/OFS/opae-sdk"
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=5351f05d1aa340cb91bb885c2fd82fc7"
-SRC_URI = "git://github.com/OFS/opae-sdk;protocol=https;branch=master"
+SRC_URI = "git://github.com/pcolberg/opae-sdk;protocol=https;branch=pyproject-setuptools"
 SRCREV = "${AUTOREV}"
 S = "${WORKDIR}/git"
 
@@ -13,6 +13,7 @@ DEPENDS = "\
     libedit \
     python3 \
     python3-jsonschema-native \
+    python3-pip-native \
     python3-pybind11 \
     python3-pyyaml-native \
     python3-setuptools-native \
@@ -25,7 +26,7 @@ DEPENDS = "\
 inherit gitpkgv
 PKGV = "${GITPKGVTAG}"
 
-inherit cmake pkgconfig python3native
+inherit cmake pkgconfig python3native python_setuptools_build_meta
 
 # Work around linking error for Python extension modules
 #

On the other hand, inherit setuptools3 fails because that class expects the whole source, i.e. opae-sdk to be a Python module, which is not the case:

ERROR: mc:x86-2021-minimal:opae-sdk-git-r0 do_compile: 'python3 setup.py bdist_wheel ' execution failed.
ERROR: mc:x86-2021-minimal:opae-sdk-git-r0 do_compile: ExecutionError('/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/temp/run.do_compile.2515782', 1, None, None)
ERROR: Logfile of failure stored in: /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/temp/log.do_compile.2515782
Log data follows:
| DEBUG: Executing shell function do_compile
| /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/bin/python3-native/python3: can't open file '/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/setup.py': [Errno 2] No such file or directory
| ERROR: 'python3 setup.py bdist_wheel ' execution failed.
| WARNING: /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/temp/run.do_compile.2515782:174 exit 1 from 'exit 1'
| WARNING: Backtrace (BB generated script):
| 	#1: bbfatal_log, /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/temp/run.do_compile.2515782, line 174
| 	#2: setuptools3_do_compile, /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/temp/run.do_compile.2515782, line 164
| 	#3: do_compile, /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/temp/run.do_compile.2515782, line 153
| 	#4: main, /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/temp/run.do_compile.2515782, line 178
ERROR: Task (mc:x86-2021-minimal:/build/pcolberg/work/ofs-yocto/build/../intel-embedded-system-enabling/meta-ofs/recipes-ofs/opae-sdk/opae-sdk_git.bb:do_compile) failed with exit code '1'

@pcolberg
Copy link
Contributor Author

pcolberg commented Apr 17, 2023

OFS/opae-sdk@24d8650 builds, too, with python_setuptools_build_meta despite the unsatisfied version constraint.

Better yet, build dependencies are now automatically deduced:

--- a/recipes-ofs/opae-sdk/opae-sdk_git.bb
+++ b/recipes-ofs/opae-sdk/opae-sdk_git.bb
@@ -11,11 +11,6 @@ DEPENDS = "\
     hwloc \
     json-c \
     libedit \
-    python3 \
-    python3-jsonschema-native \
-    python3-pybind11 \
-    python3-pyyaml-native \
-    python3-setuptools-native \
     spdlog \
     tbb \
     udev \
@@ -25,7 +20,7 @@ DEPENDS = "\
 inherit gitpkgv
 PKGV = "${GITPKGVTAG}"
 
-inherit cmake pkgconfig python3native
+inherit cmake pkgconfig python_setuptools_build_meta
 
 # Work around linking error for Python extension modules
 #

@pcolberg
Copy link
Contributor Author

With regard to the runtime package dependencies, python3-core is added implicitly, but python modules still need to be specified explicitly:

--- a/recipes-ofs/opae-sdk/opae-sdk_git.bb
+++ b/recipes-ofs/opae-sdk/opae-sdk_git.bb
@@ -11,11 +11,6 @@ DEPENDS = "\
     hwloc \
     json-c \
     libedit \
-    python3 \
-    python3-jsonschema-native \
-    python3-pybind11 \
-    python3-pyyaml-native \
-    python3-setuptools-native \
     spdlog \
     tbb \
     udev \
@@ -25,35 +20,10 @@ DEPENDS = "\
 inherit gitpkgv
 PKGV = "${GITPKGVTAG}"
 
-inherit cmake pkgconfig python3native
-
-# Work around linking error for Python extension modules
-#
-# ld: cannot find crti.o: No such file or directory
-# ld: cannot find crtbeginS.o: No such file or directory
-# ld: cannot find -lstdc++: No such file or directory
-# ld: cannot find -lm: No such file or directory
-# ld: cannot find -lgcc_s: No such file or directory
-# ld: cannot find -lpthread: No such file or directory
-# ld: cannot find -lc: No such file or directory
-# ld: cannot find -lgcc_s: No such file or directory
-# ld: cannot find crtendS.o: No such file or directory
-# ld: cannot find crtn.o: No such file or directory
-#
-LDFLAGS += "--sysroot=${STAGING_DIR_TARGET}"
-
-# Work around setuptools overwriting hashbang with build path
-# https://cgit.openembedded.org/openembedded-core/tree/meta/classes-recipe/setuptools3_legacy.bbclass?id=8e9ec03c73e8c09e223d6f6cce297df363991350
-do_install:append() {
-    sed -i '1s:^#!${PYTHON}$:#!${bindir}/python3:' ${D}${bindir}/*
-}
+inherit cmake pkgconfig python_setuptools_build_meta
 
 FILES:${PN}+= "${prefix}/*"
 
 RDEPENDS:${PN} = "\
     bash \
-    python3-core \
-    python3-jsonschema \
-    python3-mmap \
-    python3-pyyaml\
 "
bitbake mc:x86-2021-minimal:opae-sdk
rpm -qRp tmp-x86-2021-minimal-glibc/deploy/rpm/corei7_64/opae-sdk-[0-9]*.corei7_64.rpm
bash
python3-core
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsZstd) <= 5.4.18-1

@pcolberg
Copy link
Contributor Author

pcolberg commented Apr 18, 2023

python_setuptools_build_meta overrides the package install to a degree that results in empty packages:

build% rpm -qlp tmp-x86-2021-minimal-glibc/deploy/rpm/corei7_64/opae-sdk-[0-9]*.corei7_64.rpm
/usr
/usr/lib64
/usr/lib64/python3.10
/usr/lib64/python3.10/site-packages
/usr/lib64/python3.10/site-packages/UNKNOWN-0.0.0.dist-info
/usr/lib64/python3.10/site-packages/UNKNOWN-0.0.0.dist-info/AUTHORS
/usr/lib64/python3.10/site-packages/UNKNOWN-0.0.0.dist-info/COPYING
/usr/lib64/python3.10/site-packages/UNKNOWN-0.0.0.dist-info/LICENSE
/usr/lib64/python3.10/site-packages/UNKNOWN-0.0.0.dist-info/METADATA
/usr/lib64/python3.10/site-packages/UNKNOWN-0.0.0.dist-info/RECORD
/usr/lib64/python3.10/site-packages/UNKNOWN-0.0.0.dist-info/WHEEL
/usr/lib64/python3.10/site-packages/UNKNOWN-0.0.0.dist-info/top_level.txt
build% rpm -qlp tmp-x86-2021-minimal-glibc/deploy/rpm/corei7_64/opae-sdk-dbg-[0-9]*.corei7_64.rpm
(contains no files)
build% rpm -qlp tmp-x86-2021-minimal-glibc/deploy/rpm/corei7_64/opae-sdk-dev-[0-9]*.corei7_64.rpm
(contains no files)

@pcolberg
Copy link
Contributor Author

pcolberg commented Apr 18, 2023

The included python_pep517.bbclass actually overrides the recipe configure and compile steps as well, which means that cmake is never run as seen from bitbake -v mc:x86-2021-minimal:opae-sdk. python_setuptools_build_meta is not suitable for the case of compiling Python modules as part of a CMake project.

pcolberg added a commit to pcolberg/opae-sdk that referenced this issue Apr 18, 2023
This adds support for building opae-sdk with Yocto kirkstone.

OFS/meta-ofs#1
@pcolberg
Copy link
Contributor Author

pip install --no-build-isolation appears to resolve the build failure, which tells pip to use pre-installed Python modules from the system, in this case provided by bitbake in the recipe's sysroot, instead of trying to download and install the modules itself.

With this option, compilation requires the familiar workaround to link C extension modules, the same as with setup.py before. It does appear that the hashbang is preserved though, so this workaround is likely no longer needed.

@pcolberg
Copy link
Contributor Author

pcolberg commented Apr 19, 2023

pip supports passing options via environment variables, e.g., in the recipe:

export PIP_NO_BUILD_ISOLATION = "off"

See pypa/pip#5735 regarding the confusing value off.

@pcolberg
Copy link
Contributor Author

pcolberg commented Apr 20, 2023

pip-based package diffed from c538a25 appears to be complete. pip-based package is missing .opt-1.pyc files, which is optional compiled bytecode with level-1 optimization (see Python Optional Bytecode Cache).

--- opae-sdk-2.5.0+1-r0.corei7_64.rpm
+++ opae-sdk-0.0+3189+g2ae85fa-r0.corei7_64.rpm
@@ -73,68 +73,71 @@
 /usr/lib/python3.10/site-packages/ethernet
 /usr/lib/python3.10/site-packages/ethernet/__init__.py
 /usr/lib/python3.10/site-packages/ethernet/__pycache__
-/usr/lib/python3.10/site-packages/ethernet/__pycache__/__init__.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/ethernet/__pycache__/__init__.cpython-310.pyc
-/usr/lib/python3.10/site-packages/ethernet/__pycache__/hssicommon.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/ethernet/__pycache__/hssicommon.cpython-310.pyc
-/usr/lib/python3.10/site-packages/ethernet/__pycache__/hssiloopback.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/ethernet/__pycache__/hssiloopback.cpython-310.pyc
-/usr/lib/python3.10/site-packages/ethernet/__pycache__/hssimac.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/ethernet/__pycache__/hssimac.cpython-310.pyc
-/usr/lib/python3.10/site-packages/ethernet/__pycache__/hssistats.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/ethernet/__pycache__/hssistats.cpython-310.pyc
 /usr/lib/python3.10/site-packages/ethernet/hssicommon.py
 /usr/lib/python3.10/site-packages/ethernet/hssiloopback.py
 /usr/lib/python3.10/site-packages/ethernet/hssimac.py
 /usr/lib/python3.10/site-packages/ethernet/hssistats.py
-/usr/lib/python3.10/site-packages/hssi_ethernet-2.0-py3.10.egg-info
-/usr/lib/python3.10/site-packages/hssi_ethernet-2.0-py3.10.egg-info/PKG-INFO
-/usr/lib/python3.10/site-packages/hssi_ethernet-2.0-py3.10.egg-info/SOURCES.txt
-/usr/lib/python3.10/site-packages/hssi_ethernet-2.0-py3.10.egg-info/dependency_links.txt
-/usr/lib/python3.10/site-packages/hssi_ethernet-2.0-py3.10.egg-info/entry_points.txt
-/usr/lib/python3.10/site-packages/hssi_ethernet-2.0-py3.10.egg-info/top_level.txt
+/usr/lib/python3.10/site-packages/hssi_ethernet-2.0.1.dist-info
+/usr/lib/python3.10/site-packages/hssi_ethernet-2.0.1.dist-info/INSTALLER
+/usr/lib/python3.10/site-packages/hssi_ethernet-2.0.1.dist-info/METADATA
+/usr/lib/python3.10/site-packages/hssi_ethernet-2.0.1.dist-info/RECORD
+/usr/lib/python3.10/site-packages/hssi_ethernet-2.0.1.dist-info/REQUESTED
+/usr/lib/python3.10/site-packages/hssi_ethernet-2.0.1.dist-info/WHEEL
+/usr/lib/python3.10/site-packages/hssi_ethernet-2.0.1.dist-info/direct_url.json
+/usr/lib/python3.10/site-packages/hssi_ethernet-2.0.1.dist-info/entry_points.txt
+/usr/lib/python3.10/site-packages/hssi_ethernet-2.0.1.dist-info/top_level.txt
 /usr/lib/python3.10/site-packages/libvfio.cpython-310-x86_64-linux-gnu.so
-/usr/lib/python3.10/site-packages/ofs.uio-1.0-py3.10.egg-info
-/usr/lib/python3.10/site-packages/ofs.uio-1.0-py3.10.egg-info/PKG-INFO
-/usr/lib/python3.10/site-packages/ofs.uio-1.0-py3.10.egg-info/SOURCES.txt
-/usr/lib/python3.10/site-packages/ofs.uio-1.0-py3.10.egg-info/dependency_links.txt
-/usr/lib/python3.10/site-packages/ofs.uio-1.0-py3.10.egg-info/entry_points.txt
-/usr/lib/python3.10/site-packages/ofs.uio-1.0-py3.10.egg-info/top_level.txt
+/usr/lib/python3.10/site-packages/ofs.uio-1.0.1.dist-info
+/usr/lib/python3.10/site-packages/ofs.uio-1.0.1.dist-info/INSTALLER
+/usr/lib/python3.10/site-packages/ofs.uio-1.0.1.dist-info/METADATA
+/usr/lib/python3.10/site-packages/ofs.uio-1.0.1.dist-info/RECORD
+/usr/lib/python3.10/site-packages/ofs.uio-1.0.1.dist-info/REQUESTED
+/usr/lib/python3.10/site-packages/ofs.uio-1.0.1.dist-info/WHEEL
+/usr/lib/python3.10/site-packages/ofs.uio-1.0.1.dist-info/direct_url.json
+/usr/lib/python3.10/site-packages/ofs.uio-1.0.1.dist-info/entry_points.txt
+/usr/lib/python3.10/site-packages/ofs.uio-1.0.1.dist-info/top_level.txt
 /usr/lib/python3.10/site-packages/opae
-/usr/lib/python3.10/site-packages/opae.admin-1.4.3-py3.10.egg-info
-/usr/lib/python3.10/site-packages/opae.admin-1.4.3-py3.10.egg-info/PKG-INFO
-/usr/lib/python3.10/site-packages/opae.admin-1.4.3-py3.10.egg-info/SOURCES.txt
-/usr/lib/python3.10/site-packages/opae.admin-1.4.3-py3.10.egg-info/dependency_links.txt
-/usr/lib/python3.10/site-packages/opae.admin-1.4.3-py3.10.egg-info/entry_points.txt
-/usr/lib/python3.10/site-packages/opae.admin-1.4.3-py3.10.egg-info/top_level.txt
-/usr/lib/python3.10/site-packages/opae.diag-2.0-py3.10.egg-info
-/usr/lib/python3.10/site-packages/opae.diag-2.0-py3.10.egg-info/PKG-INFO
-/usr/lib/python3.10/site-packages/opae.diag-2.0-py3.10.egg-info/SOURCES.txt
-/usr/lib/python3.10/site-packages/opae.diag-2.0-py3.10.egg-info/dependency_links.txt
-/usr/lib/python3.10/site-packages/opae.diag-2.0-py3.10.egg-info/entry_points.txt
-/usr/lib/python3.10/site-packages/opae.diag-2.0-py3.10.egg-info/top_level.txt
-/usr/lib/python3.10/site-packages/opae.io-0.2.6-py3.10.egg-info
-/usr/lib/python3.10/site-packages/opae.io-0.2.6-py3.10.egg-info/PKG-INFO
-/usr/lib/python3.10/site-packages/opae.io-0.2.6-py3.10.egg-info/SOURCES.txt
-/usr/lib/python3.10/site-packages/opae.io-0.2.6-py3.10.egg-info/dependency_links.txt
-/usr/lib/python3.10/site-packages/opae.io-0.2.6-py3.10.egg-info/entry_points.txt
-/usr/lib/python3.10/site-packages/opae.io-0.2.6-py3.10.egg-info/top_level.txt
+/usr/lib/python3.10/site-packages/opae.admin-1.4.4.dist-info
+/usr/lib/python3.10/site-packages/opae.admin-1.4.4.dist-info/INSTALLER
+/usr/lib/python3.10/site-packages/opae.admin-1.4.4.dist-info/LICENSE
+/usr/lib/python3.10/site-packages/opae.admin-1.4.4.dist-info/METADATA
+/usr/lib/python3.10/site-packages/opae.admin-1.4.4.dist-info/RECORD
+/usr/lib/python3.10/site-packages/opae.admin-1.4.4.dist-info/REQUESTED
+/usr/lib/python3.10/site-packages/opae.admin-1.4.4.dist-info/WHEEL
+/usr/lib/python3.10/site-packages/opae.admin-1.4.4.dist-info/direct_url.json
+/usr/lib/python3.10/site-packages/opae.admin-1.4.4.dist-info/entry_points.txt
+/usr/lib/python3.10/site-packages/opae.admin-1.4.4.dist-info/top_level.txt
+/usr/lib/python3.10/site-packages/opae.diag-2.0.1.dist-info
+/usr/lib/python3.10/site-packages/opae.diag-2.0.1.dist-info/INSTALLER
+/usr/lib/python3.10/site-packages/opae.diag-2.0.1.dist-info/METADATA
+/usr/lib/python3.10/site-packages/opae.diag-2.0.1.dist-info/RECORD
+/usr/lib/python3.10/site-packages/opae.diag-2.0.1.dist-info/REQUESTED
+/usr/lib/python3.10/site-packages/opae.diag-2.0.1.dist-info/WHEEL
+/usr/lib/python3.10/site-packages/opae.diag-2.0.1.dist-info/direct_url.json
+/usr/lib/python3.10/site-packages/opae.diag-2.0.1.dist-info/entry_points.txt
+/usr/lib/python3.10/site-packages/opae.diag-2.0.1.dist-info/top_level.txt
+/usr/lib/python3.10/site-packages/opae.io-0.2.7.dist-info
+/usr/lib/python3.10/site-packages/opae.io-0.2.7.dist-info/INSTALLER
+/usr/lib/python3.10/site-packages/opae.io-0.2.7.dist-info/METADATA
+/usr/lib/python3.10/site-packages/opae.io-0.2.7.dist-info/RECORD
+/usr/lib/python3.10/site-packages/opae.io-0.2.7.dist-info/REQUESTED
+/usr/lib/python3.10/site-packages/opae.io-0.2.7.dist-info/WHEEL
+/usr/lib/python3.10/site-packages/opae.io-0.2.7.dist-info/direct_url.json
+/usr/lib/python3.10/site-packages/opae.io-0.2.7.dist-info/top_level.txt
 /usr/lib/python3.10/site-packages/opae/admin
 /usr/lib/python3.10/site-packages/opae/admin/__init__.py
 /usr/lib/python3.10/site-packages/opae/admin/__pycache__
-/usr/lib/python3.10/site-packages/opae/admin/__pycache__/__init__.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/__pycache__/__init__.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/__pycache__/config.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/__pycache__/config.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/__pycache__/dfl.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/__pycache__/dfl.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/__pycache__/fpga.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/__pycache__/fpga.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/__pycache__/path.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/__pycache__/path.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/__pycache__/sysfs.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/__pycache__/sysfs.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/__pycache__/version.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/__pycache__/version.cpython-310.pyc
 /usr/lib/python3.10/site-packages/opae/admin/config.py
 /usr/lib/python3.10/site-packages/opae/admin/dfl.py
@@ -144,31 +147,18 @@
 /usr/lib/python3.10/site-packages/opae/admin/tools
 /usr/lib/python3.10/site-packages/opae/admin/tools/__init__.py
 /usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__
-/usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/__init__.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/__init__.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/bitstream_info.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/bitstream_info.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/fpgaflash.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/fpgaflash.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/fpgaotsu.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/fpgaotsu.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/fpgaport.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/fpgaport.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/fpgareg.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/fpgareg.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/fpgasupdate.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/fpgasupdate.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/ihex2ipmi.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/ihex2ipmi.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/opaevfio.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/opaevfio.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/pci_device.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/pci_device.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/regmap_debugfs.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/regmap_debugfs.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/rsu.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/rsu.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/super_rsu.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/tools/__pycache__/super_rsu.cpython-310.pyc
 /usr/lib/python3.10/site-packages/opae/admin/tools/bitstream_info.py
 /usr/lib/python3.10/site-packages/opae/admin/tools/fpgaflash.py
@@ -185,25 +175,15 @@
 /usr/lib/python3.10/site-packages/opae/admin/utils
 /usr/lib/python3.10/site-packages/opae/admin/utils/__init__.py
 /usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__
-/usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__/__init__.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__/__init__.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__/common_util.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__/common_util.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__/database.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__/database.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__/log.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__/log.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__/mtd.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__/mtd.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__/process.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__/process.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__/progress.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__/progress.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__/terminal.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__/terminal.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__/utils.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__/utils.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__/verifier.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/admin/utils/__pycache__/verifier.cpython-310.pyc
 /usr/lib/python3.10/site-packages/opae/admin/utils/common_util.py
 /usr/lib/python3.10/site-packages/opae/admin/utils/database.py
@@ -218,25 +198,15 @@
 /usr/lib/python3.10/site-packages/opae/diag
 /usr/lib/python3.10/site-packages/opae/diag/__init__.py
 /usr/lib/python3.10/site-packages/opae/diag/__pycache__
-/usr/lib/python3.10/site-packages/opae/diag/__pycache__/__init__.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/diag/__pycache__/__init__.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/diag/__pycache__/common.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/diag/__pycache__/common.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/diag/__pycache__/fecmode.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/diag/__pycache__/fecmode.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/diag/__pycache__/fpgadiag.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/diag/__pycache__/fpgadiag.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/diag/__pycache__/fpgalpbk.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/diag/__pycache__/fpgalpbk.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/diag/__pycache__/fpgamac.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/diag/__pycache__/fpgamac.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/diag/__pycache__/fpgastats.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/diag/__pycache__/fpgastats.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/diag/__pycache__/fvlbypass.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/diag/__pycache__/fvlbypass.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/diag/__pycache__/mactest.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/diag/__pycache__/mactest.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/diag/__pycache__/mux.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/diag/__pycache__/mux.cpython-310.pyc
 /usr/lib/python3.10/site-packages/opae/diag/common.py
 /usr/lib/python3.10/site-packages/opae/diag/eth_group.cpython-310-x86_64-linux-gnu.so
@@ -251,57 +221,46 @@
 /usr/lib/python3.10/site-packages/opae/io
 /usr/lib/python3.10/site-packages/opae/io/__init__.py
 /usr/lib/python3.10/site-packages/opae/io/__pycache__
-/usr/lib/python3.10/site-packages/opae/io/__pycache__/__init__.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/io/__pycache__/__init__.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/io/__pycache__/config.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/io/__pycache__/config.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/io/__pycache__/pci.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/io/__pycache__/pci.cpython-310.pyc
-/usr/lib/python3.10/site-packages/opae/io/__pycache__/utils.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/opae/io/__pycache__/utils.cpython-310.pyc
 /usr/lib/python3.10/site-packages/opae/io/config.py
 /usr/lib/python3.10/site-packages/opae/io/pci.py
 /usr/lib/python3.10/site-packages/opae/io/utils.py
 /usr/lib/python3.10/site-packages/packager
-/usr/lib/python3.10/site-packages/packager-1.0.0-py3.10.egg-info
-/usr/lib/python3.10/site-packages/packager-1.0.0-py3.10.egg-info/PKG-INFO
-/usr/lib/python3.10/site-packages/packager-1.0.0-py3.10.egg-info/SOURCES.txt
-/usr/lib/python3.10/site-packages/packager-1.0.0-py3.10.egg-info/dependency_links.txt
-/usr/lib/python3.10/site-packages/packager-1.0.0-py3.10.egg-info/entry_points.txt
-/usr/lib/python3.10/site-packages/packager-1.0.0-py3.10.egg-info/requires.txt
-/usr/lib/python3.10/site-packages/packager-1.0.0-py3.10.egg-info/top_level.txt
+/usr/lib/python3.10/site-packages/packager-1.0.1.dist-info
+/usr/lib/python3.10/site-packages/packager-1.0.1.dist-info/INSTALLER
+/usr/lib/python3.10/site-packages/packager-1.0.1.dist-info/METADATA
+/usr/lib/python3.10/site-packages/packager-1.0.1.dist-info/RECORD
+/usr/lib/python3.10/site-packages/packager-1.0.1.dist-info/REQUESTED
+/usr/lib/python3.10/site-packages/packager-1.0.1.dist-info/WHEEL
+/usr/lib/python3.10/site-packages/packager-1.0.1.dist-info/direct_url.json
+/usr/lib/python3.10/site-packages/packager-1.0.1.dist-info/entry_points.txt
+/usr/lib/python3.10/site-packages/packager-1.0.1.dist-info/top_level.txt
 /usr/lib/python3.10/site-packages/packager/__init__.py
 /usr/lib/python3.10/site-packages/packager/__pycache__
-/usr/lib/python3.10/site-packages/packager/__pycache__/__init__.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/packager/__pycache__/__init__.cpython-310.pyc
 /usr/lib/python3.10/site-packages/packager/metadata
 /usr/lib/python3.10/site-packages/packager/metadata/__init__.py
 /usr/lib/python3.10/site-packages/packager/metadata/__pycache__
-/usr/lib/python3.10/site-packages/packager/metadata/__pycache__/__init__.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/packager/metadata/__pycache__/__init__.cpython-310.pyc
-/usr/lib/python3.10/site-packages/packager/metadata/__pycache__/constants.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/packager/metadata/__pycache__/constants.cpython-310.pyc
-/usr/lib/python3.10/site-packages/packager/metadata/__pycache__/metadata.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/packager/metadata/__pycache__/metadata.cpython-310.pyc
 /usr/lib/python3.10/site-packages/packager/metadata/constants.py
 /usr/lib/python3.10/site-packages/packager/metadata/metadata.py
 /usr/lib/python3.10/site-packages/packager/schema
 /usr/lib/python3.10/site-packages/packager/schema/__init__.py
 /usr/lib/python3.10/site-packages/packager/schema/__pycache__
-/usr/lib/python3.10/site-packages/packager/schema/__pycache__/__init__.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/packager/schema/__pycache__/__init__.cpython-310.pyc
 /usr/lib/python3.10/site-packages/packager/schema/afu_schema_v01.json
 /usr/lib/python3.10/site-packages/packager/schema/afu_template.json
 /usr/lib/python3.10/site-packages/packager/test
 /usr/lib/python3.10/site-packages/packager/test/__init__.py
 /usr/lib/python3.10/site-packages/packager/test/__pycache__
-/usr/lib/python3.10/site-packages/packager/test/__pycache__/__init__.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/packager/test/__pycache__/__init__.cpython-310.pyc
-/usr/lib/python3.10/site-packages/packager/test/__pycache__/test_afu.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/packager/test/__pycache__/test_afu.cpython-310.pyc
-/usr/lib/python3.10/site-packages/packager/test/__pycache__/test_hello.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/packager/test/__pycache__/test_hello.cpython-310.pyc
-/usr/lib/python3.10/site-packages/packager/test/__pycache__/test_metadata.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/packager/test/__pycache__/test_metadata.cpython-310.pyc
 /usr/lib/python3.10/site-packages/packager/test/test_afu.py
 /usr/lib/python3.10/site-packages/packager/test/test_data
@@ -312,57 +271,43 @@
 /usr/lib/python3.10/site-packages/packager/tools
 /usr/lib/python3.10/site-packages/packager/tools/__init__.py
 /usr/lib/python3.10/site-packages/packager/tools/__pycache__
-/usr/lib/python3.10/site-packages/packager/tools/__pycache__/__init__.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/packager/tools/__pycache__/__init__.cpython-310.pyc
-/usr/lib/python3.10/site-packages/packager/tools/__pycache__/afu_json_mgr.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/packager/tools/__pycache__/afu_json_mgr.cpython-310.pyc
-/usr/lib/python3.10/site-packages/packager/tools/__pycache__/packager.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/packager/tools/__pycache__/packager.cpython-310.pyc
 /usr/lib/python3.10/site-packages/packager/tools/afu_json_mgr.py
 /usr/lib/python3.10/site-packages/packager/tools/packager.py
 /usr/lib/python3.10/site-packages/packager/utils
 /usr/lib/python3.10/site-packages/packager/utils/__init__.py
 /usr/lib/python3.10/site-packages/packager/utils/__pycache__
-/usr/lib/python3.10/site-packages/packager/utils/__pycache__/__init__.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/packager/utils/__pycache__/__init__.cpython-310.pyc
-/usr/lib/python3.10/site-packages/packager/utils/__pycache__/afu.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/packager/utils/__pycache__/afu.cpython-310.pyc
-/usr/lib/python3.10/site-packages/packager/utils/__pycache__/gbs.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/packager/utils/__pycache__/gbs.cpython-310.pyc
-/usr/lib/python3.10/site-packages/packager/utils/__pycache__/utils.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/packager/utils/__pycache__/utils.cpython-310.pyc
 /usr/lib/python3.10/site-packages/packager/utils/afu.py
 /usr/lib/python3.10/site-packages/packager/utils/gbs.py
 /usr/lib/python3.10/site-packages/packager/utils/utils.py
 /usr/lib/python3.10/site-packages/pacsign
-/usr/lib/python3.10/site-packages/pacsign-1.0.7-py3.10.egg-info
-/usr/lib/python3.10/site-packages/pacsign-1.0.7-py3.10.egg-info/PKG-INFO
-/usr/lib/python3.10/site-packages/pacsign-1.0.7-py3.10.egg-info/SOURCES.txt
-/usr/lib/python3.10/site-packages/pacsign-1.0.7-py3.10.egg-info/dependency_links.txt
-/usr/lib/python3.10/site-packages/pacsign-1.0.7-py3.10.egg-info/entry_points.txt
-/usr/lib/python3.10/site-packages/pacsign-1.0.7-py3.10.egg-info/top_level.txt
+/usr/lib/python3.10/site-packages/pacsign-1.0.8.dist-info
+/usr/lib/python3.10/site-packages/pacsign-1.0.8.dist-info/INSTALLER
+/usr/lib/python3.10/site-packages/pacsign-1.0.8.dist-info/METADATA
+/usr/lib/python3.10/site-packages/pacsign-1.0.8.dist-info/RECORD
+/usr/lib/python3.10/site-packages/pacsign-1.0.8.dist-info/REQUESTED
+/usr/lib/python3.10/site-packages/pacsign-1.0.8.dist-info/WHEEL
+/usr/lib/python3.10/site-packages/pacsign-1.0.8.dist-info/direct_url.json
+/usr/lib/python3.10/site-packages/pacsign-1.0.8.dist-info/entry_points.txt
+/usr/lib/python3.10/site-packages/pacsign-1.0.8.dist-info/top_level.txt
 /usr/lib/python3.10/site-packages/pacsign/__init__.py
 /usr/lib/python3.10/site-packages/pacsign/__main__.py
 /usr/lib/python3.10/site-packages/pacsign/__pycache__
-/usr/lib/python3.10/site-packages/pacsign/__pycache__/__init__.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/pacsign/__pycache__/__init__.cpython-310.pyc
-/usr/lib/python3.10/site-packages/pacsign/__pycache__/__main__.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/pacsign/__pycache__/__main__.cpython-310.pyc
-/usr/lib/python3.10/site-packages/pacsign/__pycache__/common_util.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/pacsign/__pycache__/common_util.cpython-310.pyc
-/usr/lib/python3.10/site-packages/pacsign/__pycache__/database.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/pacsign/__pycache__/database.cpython-310.pyc
-/usr/lib/python3.10/site-packages/pacsign/__pycache__/ecdsa.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/pacsign/__pycache__/ecdsa.cpython-310.pyc
-/usr/lib/python3.10/site-packages/pacsign/__pycache__/logger.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/pacsign/__pycache__/logger.cpython-310.pyc
-/usr/lib/python3.10/site-packages/pacsign/__pycache__/pacsign.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/pacsign/__pycache__/pacsign.cpython-310.pyc
-/usr/lib/python3.10/site-packages/pacsign/__pycache__/reader.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/pacsign/__pycache__/reader.cpython-310.pyc
-/usr/lib/python3.10/site-packages/pacsign/__pycache__/terminal.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/pacsign/__pycache__/terminal.cpython-310.pyc
-/usr/lib/python3.10/site-packages/pacsign/__pycache__/verifier.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/pacsign/__pycache__/verifier.cpython-310.pyc
 /usr/lib/python3.10/site-packages/pacsign/common_util.py
 /usr/lib/python3.10/site-packages/pacsign/database.py
@@ -370,25 +315,19 @@
 /usr/lib/python3.10/site-packages/pacsign/hsm_managers
 /usr/lib/python3.10/site-packages/pacsign/hsm_managers/__init__.py
 /usr/lib/python3.10/site-packages/pacsign/hsm_managers/__pycache__
-/usr/lib/python3.10/site-packages/pacsign/hsm_managers/__pycache__/__init__.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/pacsign/hsm_managers/__pycache__/__init__.cpython-310.pyc
 /usr/lib/python3.10/site-packages/pacsign/hsm_managers/openssl
 /usr/lib/python3.10/site-packages/pacsign/hsm_managers/openssl/__init__.py
 /usr/lib/python3.10/site-packages/pacsign/hsm_managers/openssl/__pycache__
-/usr/lib/python3.10/site-packages/pacsign/hsm_managers/openssl/__pycache__/__init__.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/pacsign/hsm_managers/openssl/__pycache__/__init__.cpython-310.pyc
-/usr/lib/python3.10/site-packages/pacsign/hsm_managers/openssl/__pycache__/key_manager.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/pacsign/hsm_managers/openssl/__pycache__/key_manager.cpython-310.pyc
-/usr/lib/python3.10/site-packages/pacsign/hsm_managers/openssl/__pycache__/openssl.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/pacsign/hsm_managers/openssl/__pycache__/openssl.cpython-310.pyc
 /usr/lib/python3.10/site-packages/pacsign/hsm_managers/openssl/key_manager.py
 /usr/lib/python3.10/site-packages/pacsign/hsm_managers/openssl/openssl.py
 /usr/lib/python3.10/site-packages/pacsign/hsm_managers/pkcs11
 /usr/lib/python3.10/site-packages/pacsign/hsm_managers/pkcs11/__init__.py
 /usr/lib/python3.10/site-packages/pacsign/hsm_managers/pkcs11/__pycache__
-/usr/lib/python3.10/site-packages/pacsign/hsm_managers/pkcs11/__pycache__/__init__.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/pacsign/hsm_managers/pkcs11/__pycache__/__init__.cpython-310.pyc
-/usr/lib/python3.10/site-packages/pacsign/hsm_managers/pkcs11/__pycache__/pkcs11_manager.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/pacsign/hsm_managers/pkcs11/__pycache__/pkcs11_manager.cpython-310.pyc
 /usr/lib/python3.10/site-packages/pacsign/hsm_managers/pkcs11/pkcs11_manager.py
 /usr/lib/python3.10/site-packages/pacsign/logger.py
@@ -396,20 +335,19 @@
 /usr/lib/python3.10/site-packages/pacsign/reader.py
 /usr/lib/python3.10/site-packages/pacsign/terminal.py
 /usr/lib/python3.10/site-packages/pacsign/verifier.py
-/usr/lib/python3.10/site-packages/pyopaeuio-2.0-py3.10.egg-info
-/usr/lib/python3.10/site-packages/pyopaeuio-2.0-py3.10.egg-info/PKG-INFO
-/usr/lib/python3.10/site-packages/pyopaeuio-2.0-py3.10.egg-info/SOURCES.txt
-/usr/lib/python3.10/site-packages/pyopaeuio-2.0-py3.10.egg-info/dependency_links.txt
-/usr/lib/python3.10/site-packages/pyopaeuio-2.0-py3.10.egg-info/entry_points.txt
-/usr/lib/python3.10/site-packages/pyopaeuio-2.0-py3.10.egg-info/requires.txt
-/usr/lib/python3.10/site-packages/pyopaeuio-2.0-py3.10.egg-info/top_level.txt
+/usr/lib/python3.10/site-packages/pyopaeuio-2.0.1.dist-info
+/usr/lib/python3.10/site-packages/pyopaeuio-2.0.1.dist-info/INSTALLER
+/usr/lib/python3.10/site-packages/pyopaeuio-2.0.1.dist-info/METADATA
+/usr/lib/python3.10/site-packages/pyopaeuio-2.0.1.dist-info/RECORD
+/usr/lib/python3.10/site-packages/pyopaeuio-2.0.1.dist-info/REQUESTED
+/usr/lib/python3.10/site-packages/pyopaeuio-2.0.1.dist-info/WHEEL
+/usr/lib/python3.10/site-packages/pyopaeuio-2.0.1.dist-info/direct_url.json
+/usr/lib/python3.10/site-packages/pyopaeuio-2.0.1.dist-info/top_level.txt
 /usr/lib/python3.10/site-packages/pyopaeuio.cpython-310-x86_64-linux-gnu.so
 /usr/lib/python3.10/site-packages/uio
 /usr/lib/python3.10/site-packages/uio/__init__.py
 /usr/lib/python3.10/site-packages/uio/__pycache__
-/usr/lib/python3.10/site-packages/uio/__pycache__/__init__.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/uio/__pycache__/__init__.cpython-310.pyc
-/usr/lib/python3.10/site-packages/uio/__pycache__/ofs_uio.cpython-310.opt-1.pyc
 /usr/lib/python3.10/site-packages/uio/__pycache__/ofs_uio.cpython-310.pyc
 /usr/lib/python3.10/site-packages/uio/ofs_uio.py
 /usr/lib/systemd
@@ -456,8 +394,6 @@
 /usr/lib64/opae/libxfpga.so
 /usr/share
 /usr/share/opae
-/usr/share/opae/packager
-/usr/share/opae/packager/README
 /usr/share/opae/platform
 /usr/share/opae/platform/afu_top_ifc_db
 /usr/share/opae/platform/afu_top_ifc_db/README.md

@pcolberg
Copy link
Contributor Author

opae-sdk-dev packages are identical since it does not contain Python modules:

/usr
/usr/include
/usr/include/mock
/usr/include/mock/opae_std.h
/usr/include/opae
/usr/include/opae/access.h
/usr/include/opae/buffer.h
/usr/include/opae/cxx
/usr/include/opae/cxx/.clang-format
/usr/include/opae/cxx/core
/usr/include/opae/cxx/core.h
/usr/include/opae/cxx/core/errors.h
/usr/include/opae/cxx/core/events.h
/usr/include/opae/cxx/core/except.h
/usr/include/opae/cxx/core/handle.h
/usr/include/opae/cxx/core/properties.h
/usr/include/opae/cxx/core/pvalue.h
/usr/include/opae/cxx/core/shared_buffer.h
/usr/include/opae/cxx/core/sysobject.h
/usr/include/opae/cxx/core/token.h
/usr/include/opae/cxx/core/version.h
/usr/include/opae/enum.h
/usr/include/opae/error.h
/usr/include/opae/event.h
/usr/include/opae/fpga.h
/usr/include/opae/hash_map.h
/usr/include/opae/init.h
/usr/include/opae/log.h
/usr/include/opae/manage.h
/usr/include/opae/mem_alloc.h
/usr/include/opae/metrics.h
/usr/include/opae/mmio.h
/usr/include/opae/plugin
/usr/include/opae/plugin.h
/usr/include/opae/plugin/adapter.h
/usr/include/opae/plugin/opae_int.h
/usr/include/opae/plugin/props.h
/usr/include/opae/properties.h
/usr/include/opae/sysobject.h
/usr/include/opae/types.h
/usr/include/opae/types_enum.h
/usr/include/opae/uio.h
/usr/include/opae/umsg.h
/usr/include/opae/userclk.h
/usr/include/opae/utils.h
/usr/include/opae/version.h
/usr/include/opae/vfio.h
/usr/lib64
/usr/lib64/libbitstream.so
/usr/lib64/libfpgad-api.so
/usr/lib64/libmml-srv.so
/usr/lib64/libmml-stream.so
/usr/lib64/libofs.so
/usr/lib64/libofs_cpeng.so
/usr/lib64/libopae-c++-nlb.so
/usr/lib64/libopae-c++-utils.so
/usr/lib64/libopae-c.so
/usr/lib64/libopae-cxx-core.so
/usr/lib64/libopaemem.so
/usr/lib64/libopaeuio.so
/usr/lib64/libopaevfio.so

@pcolberg
Copy link
Contributor Author

pcolberg commented Apr 20, 2023

The entry scripts for Python executables generated by pip are shell scripts, whereas with setuptools these were Python scripts. The workaround to replace the host interpreter path is still needed, but the build did not fail because the interpreter path is no longer the hash-bang and does not trigger the length limit. This appears to be the reason why pip migrated to a shell wrapper.

setuptools entry script (includes manual substitution of hash-bang):

build% cat tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/packages-split/opae-sdk/usr/bin/opaevfio
#!/usr/bin/python3
# EASY-INSTALL-ENTRY-SCRIPT: 'opae.admin==1.4.3','console_scripts','opaevfio'
import re
import sys

# for compatibility with easy_install; see #2198
__requires__ = 'opae.admin==1.4.3'

try:
    from importlib.metadata import distribution
except ImportError:
    try:
        from importlib_metadata import distribution
    except ImportError:
        from pkg_resources import load_entry_point


def importlib_load_entry_point(spec, group, name):
    dist_name, _, _ = spec.partition('==')
    matches = (
        entry_point
        for entry_point in distribution(dist_name).entry_points
        if entry_point.group == group and entry_point.name == name
    )
    return next(matches).load()


globals().setdefault('load_entry_point', importlib_load_entry_point)


if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(load_entry_point('opae.admin==1.4.3', 'console_scripts', 'opaevfio')())

pip entry script:

build% cat tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/packages-split/opae-sdk/usr/bin/opaevfio
#!/bin/sh
'''exec' /build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/bin/python3-native/python3 "$0" "$@"
' '''
# -*- coding: utf-8 -*-
import re
import sys
from opae.admin.tools.opaevfio import main
if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

@pcolberg
Copy link
Contributor Author

A feature request to override the hashbang of installed scripts was rejected.

@pcolberg
Copy link
Contributor Author

pcolberg commented Apr 20, 2023

References to the build path are mostly found in direct_url.json metadata:

build% grep -r tmp-x86-2021-minimal-glibc tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/
Binary file tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/var/lib/dnf/history.sqlite-wal matches

Binary file tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/var/lib/dnf/history.sqlite matches

Binary file tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/usr/bin/afu_platform_config matches

Binary file tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/usr/bin/afu_platform_info matches

tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/usr/lib/python3.10/site-packages/packager-1.0.1.dist-info/direct_url.json:
{"dir_info": {}, "url": "file:///build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/python/packager"}

Binary file tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/usr/lib/python3.10/site-packages/opae/diag/eth_group.cpython-310-x86_64-linux-gnu.so matches

tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/usr/lib/python3.10/site-packages/opae.admin-1.4.4.dist-info/direct_url.json:
{"dir_info": {}, "url": "file:///build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/python/opae.admin"}

tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/usr/lib/python3.10/site-packages/ofs.uio-1.0.1.dist-info/direct_url.json:
{"dir_info": {}, "url": "file:///build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/ofs.uio"}

tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/usr/lib/python3.10/site-packages/opae.diag-2.0.1.dist-info/direct_url.json:
{"dir_info": {}, "url": "file:///build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/build/binaries/fpgadiag/stage"}

tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/usr/lib/python3.10/site-packages/hssi_ethernet-2.0.1.dist-info/direct_url.json:
{"dir_info": {}, "url": "file:///build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/binaries/hssi"}

tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/usr/lib/python3.10/site-packages/pyopaeuio-2.0.1.dist-info/direct_url.json:
{"dir_info": {}, "url": "file:///build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/build/libraries/pyopaeuio/stage"}

Binary file tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/usr/lib/python3.10/site-packages/libvfio.cpython-310-x86_64-linux-gnu.so matches

tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/usr/lib/python3.10/site-packages/opae.io-0.2.7.dist-info/direct_url.json:
{"dir_info": {}, "url": "file:///build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/build/binaries/opae.io/stage"}

tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/usr/lib/python3.10/site-packages/pacsign-1.0.8.dist-info/direct_url.json:
{"dir_info": {}, "url": "file:///build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/git/python/pacsign"}

Binary file tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/usr/lib/python3.10/site-packages/pyopaeuio.cpython-310-x86_64-linux-gnu.so matches

tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/usr/lib/opae-2.4.0/opae-targets.cmake:
  INTERFACE_LINK_LIBRARIES "dl;/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot/usr/lib64/libjson-c.so;/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot/usr/lib64/libuuid.so"

tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/usr/lib/opae-2.4.0/opae-targets.cmake:
  INTERFACE_LINK_LIBRARIES "opae-c;/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot/usr/lib64/libjson-c.so;/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot/usr/lib64/libuuid.so"

tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/usr/lib/opae-2.4.0/opae-targets.cmake:
  INTERFACE_LINK_LIBRARIES "/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot/usr/lib64/libuuid.so"

Binary file tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/usr/lib64/libopae-c.so.2.4.0 matches

The Python extension libraries reference the build path in the linker runpath:

build% readelf -d tmp-x86-2021-minimal-glibc/work/intel_corei7_64-ese-linux/core-image-full-cmdline/1.0-r0/rootfs/usr/lib/python3.10/site-packages/pyopaeuio.cpython-310-x86_64-linux-gnu.so
Dynamic section at offset 0x23720 contains 30 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libopaeuio.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000001d (RUNPATH)            Library runpath: [/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/usr/lib:/build/pcolberg/work/ofs-yocto/build/tmp-x86-2021-minimal-glibc/work/corei7-64-ese-linux/opae-sdk/git-r0/recipe-sysroot-native/lib]

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant