eclipse-cyclonedds/cyclonedds-python

Code portability issue, can't locate libraries on aarch64

zatevakhin opened this issue · 3 comments

It seems there might be some challenges with the portability of the code.

Please refer to buildhelp/cyclone_search.py#L48-L52 and buildhelp/oxidize_library.py#L49-L53 for reference.
Distro: Docker container with Debian Bookworm.

List of performed actions to reproduce:

  • Running docker container with debian:bookworm
~ $ docker run --rm -it debian:bookworm
root@ababded08176:/#
  • Check the availability of the CycloneDDS package.
root@ababded08176:/# apt search cyclonedds
Sorting... Done
Full Text Search... Done
cyclonedds-dev/stable 0.10.2-2 arm64
  Eclipse Cyclone DDS library - development headers

cyclonedds-doc/stable 0.10.2-2 all
  Eclipse Cyclone DDS library - API documentation

cyclonedds-tools/stable 0.10.2-2 arm64
  Eclipse Cyclone DDS tools

libcycloneddsidl0/stable 0.10.2-2 arm64
  Eclipse Cyclone DDS IDL library
  • Install CycloneDDS-dev
root@ababded08176:/# apt install -qq -y cyclonedds-dev
The following additional packages will be installed:
  cyclonedds-tools libcycloneddsidl0 libddsc0debian libiceoryx-binding-c-dev libiceoryx-binding-c2 libiceoryx-hoofs-dev libiceoryx-hoofs2 libiceoryx-platform2 libiceoryx-posh-config2 libiceoryx-posh-dev libiceoryx-posh-gateway2 libiceoryx-posh-roudi2 libiceoryx-posh2
...
Unpacking cyclonedds-tools (0.10.2-2) ...
Setting up libcycloneddsidl0:arm64 (0.10.2-2) ...
Setting up libiceoryx-platform2:arm64 (2.0.3+dfsg-1) ...
Setting up libiceoryx-hoofs2:arm64 (2.0.3+dfsg-1) ...
Setting up libiceoryx-hoofs-dev:arm64 (2.0.3+dfsg-1) ...
Setting up libiceoryx-posh2:arm64 (2.0.3+dfsg-1) ...
Setting up libiceoryx-posh-roudi2:arm64 (2.0.3+dfsg-1) ...
Setting up libiceoryx-posh-config2:arm64 (2.0.3+dfsg-1) ...
Setting up libiceoryx-posh-gateway2:arm64 (2.0.3+dfsg-1) ...
Setting up libiceoryx-binding-c2:arm64 (2.0.3+dfsg-1) ...
Setting up libddsc0debian:arm64 (0.10.2-2) ...
Setting up cyclonedds-tools (0.10.2-2) ...
Setting up libiceoryx-posh-dev:arm64 (2.0.3+dfsg-1) ...
Setting up libiceoryx-binding-c-dev:arm64 (2.0.3+dfsg-1) ...
Setting up cyclonedds-dev:arm64 (0.10.2-2) ...
Processing triggers for libc-bin (2.36-9+deb12u1) ...
  • Required libraries are already present in the system.
root@ababded08176:/# ls /lib/aarch64-linux-gnu/ | grep cyclonedds
libcycloneddsidl.so
libcycloneddsidl.so.0
libcycloneddsidl.so.0.10.2
root@ababded08176:/#
  • Install CycloneDDS Python package.
root@ababded08176:/# pip install --break-system-packages cyclonedds
Collecting cyclonedds
  Downloading cyclonedds-0.10.2.tar.gz (156 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 156.8/156.8 kB 696.0 kB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [1 lines of output]
      Could not locate cyclonedds. Try to set CYCLONEDDS_HOME or CMAKE_PREFIX_PATH
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel 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.
  • Install CycloneDDS Python package (verbose mode).
root@ababded08176:/# pip install -vvv --break-system-packages cyclonedds
Using pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11)
Non-user install because site-packages writeable
Created temporary directory: /tmp/pip-build-tracker-faskk29k
Initialized build tracking at /tmp/pip-build-tracker-faskk29k
Created build tracker: /tmp/pip-build-tracker-faskk29k
Entered build tracker: /tmp/pip-build-tracker-faskk29k
Created temporary directory: /tmp/pip-install-hjq_sjib
Created temporary directory: /tmp/pip-ephem-wheel-cache-q4h_v101
1 location(s) to search for versions of cyclonedds:
* https://pypi.org/simple/cyclonedds/
Fetching project page and analyzing links: https://pypi.org/simple/cyclonedds/
Getting page https://pypi.org/simple/cyclonedds/
Found index url https://pypi.org/simple
Looking up "https://pypi.org/simple/cyclonedds/" in the cache
Request header has "max_age" as 0, cache bypassed
Starting new HTTPS connection (1): pypi.org:443
https://pypi.org:443 "GET /simple/cyclonedds/ HTTP/1.1" 304 0
Fetched page https://pypi.org/simple/cyclonedds/ as application/vnd.pypi.simple.v1+json
  Skipping link: none of the wheel's tags (cp310-cp310-macosx_10_9_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/68/7d/96fdc4bc9b9eb69e8cb4e809c4ea6018986df447677dc3f702004968e95c/cyclonedds-0.9.0-cp310-cp310-macosx_10_9_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp310-cp310-macosx_11_0_arm64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/8d/ea/7d8cc77ac5c12afa95ad6909d848e2afd86dc10c2e522f421bf471f3e9f7/cyclonedds-0.9.0-cp310-cp310-macosx_11_0_arm64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp310-cp310-manylinux2014_x86_64, cp310-cp310-manylinux_2_17_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/8c/e2/f7f6390ec58bcfd207cb4f35c8928adace3f63fb231e3d77952e3d1b4ca9/cyclonedds-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp310-cp310-win_amd64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/ef/0a/5a8eb7d508755b5e5b4b7f02e41f19f292c2dd17a0d5620554a0d850585e/cyclonedds-0.9.0-cp310-cp310-win_amd64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp37-cp37m-macosx_10_9_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/1d/30/b14edbc742b8548a157545c455e69082e495cbff0f7829618f66d791a683/cyclonedds-0.9.0-cp37-cp37m-macosx_10_9_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp37-cp37m-manylinux2014_x86_64, cp37-cp37m-manylinux_2_17_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/d8/ce/b06dce04b9a717073edc08b50a163f91cf768c7023a58b08f1fdc967e239/cyclonedds-0.9.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp37-cp37m-win_amd64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/b1/52/bbe47e06ca7110f98ac91c5ef67bd35798e61852f06ba0c21f64ebe7537c/cyclonedds-0.9.0-cp37-cp37m-win_amd64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp38-cp38-macosx_10_9_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/82/dc/6ca36b81bdeba707eadf0af0d6d7c6e2bb70b7f8edc3f089253b02307882/cyclonedds-0.9.0-cp38-cp38-macosx_10_9_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp38-cp38-macosx_11_0_arm64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/eb/f5/9fecb3a7ff87a1afd0353de1e9af50b86997b2d8280f5cce6687e4d686e9/cyclonedds-0.9.0-cp38-cp38-macosx_11_0_arm64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp38-cp38-manylinux2014_x86_64, cp38-cp38-manylinux_2_17_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/df/50/bbcf5feda20b9f9791c33607c8b3edadef98260dc3dc008d574e3e046c5b/cyclonedds-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp38-cp38-win_amd64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/47/98/aebdfe1db09ad2c700c17a0f2338e924e06c6ba964f8246f759aed1aef3a/cyclonedds-0.9.0-cp38-cp38-win_amd64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp39-cp39-macosx_10_9_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/1b/1c/3ba1199e166475e0813e28a960211f054db257df2c472c199221c621a9d2/cyclonedds-0.9.0-cp39-cp39-macosx_10_9_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp39-cp39-macosx_11_0_arm64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/4f/cb/5f148e63bcb2ee3a293f69804059f5759b0d60beb0a028e4a64e7faa3b71/cyclonedds-0.9.0-cp39-cp39-macosx_11_0_arm64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp39-cp39-manylinux2014_x86_64, cp39-cp39-manylinux_2_17_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/91/45/f3133792bd98d386efacdaeaec83e3a1d8481de725296641d0864daa931b/cyclonedds-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp39-cp39-win_amd64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/b7/36/de110b66a1e181cf09b8434f8a4c45e8daf5d49ec74216c2ecafe3abe1df/cyclonedds-0.9.0-cp39-cp39-win_amd64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Found link https://files.pythonhosted.org/packages/46/44/1a6d8fd0fed2c401e37e9532abb5b2830da0b7b85ef064638b9643bc3033/cyclonedds-0.9.0.tar.gz (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7), version: 0.9.0
  Skipping link: none of the wheel's tags (cp310-cp310-macosx_10_9_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/2f/62/a69be1c3bf39cb3742de72767110ae3a1d8751505780464c187446101483/cyclonedds-0.9.1-cp310-cp310-macosx_10_9_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp310-cp310-macosx_11_0_arm64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/e7/4e/d8147a51eef9f7280436c5d2c152ab546ae4e3df78a7e44906ace1c1a6b6/cyclonedds-0.9.1-cp310-cp310-macosx_11_0_arm64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp310-cp310-manylinux2014_x86_64, cp310-cp310-manylinux_2_17_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/17/b1/a4fd6128759868251142b4854e7154a85ea1e4f70979a18606d38d1c6e39/cyclonedds-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp310-cp310-win_amd64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/bd/df/6c49daf57c680a2fb05e2c354455d3c6cfc4c71ca512d5054beea592f978/cyclonedds-0.9.1-cp310-cp310-win_amd64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp37-cp37m-macosx_10_9_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/bb/27/49ccb01d29fcd56db564ab24de478b9683d202c4d29a3f3c3ba14ec9ada6/cyclonedds-0.9.1-cp37-cp37m-macosx_10_9_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp37-cp37m-manylinux2014_x86_64, cp37-cp37m-manylinux_2_17_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/a5/22/f886cdc3447c0e7dd99efa7a07193508f60860c527d84951dea70f196f5f/cyclonedds-0.9.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp37-cp37m-win_amd64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/b0/9d/5165403e90adb1ce2ab086ca5939d07b2b8819ac98151b9c3ffadfb4435a/cyclonedds-0.9.1-cp37-cp37m-win_amd64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp38-cp38-macosx_10_9_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/cc/94/9b41b3331fcc1364f4804c3ca130f91c317ddfd640abaaa282dace7cfb56/cyclonedds-0.9.1-cp38-cp38-macosx_10_9_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp38-cp38-macosx_11_0_arm64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/58/84/ce59b4eca8bdf130a175e4645b44b44639c1fad2632d71af685b7f324cd8/cyclonedds-0.9.1-cp38-cp38-macosx_11_0_arm64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp38-cp38-manylinux2014_x86_64, cp38-cp38-manylinux_2_17_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/e3/62/ae21ac64f276148c2dcde22208b02e1e6283162213993383f4daa664ce54/cyclonedds-0.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp38-cp38-win_amd64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/4a/15/784db50f61ef010be5654612c4a48dfaafcbc382f8fea26d27e8e121444b/cyclonedds-0.9.1-cp38-cp38-win_amd64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp39-cp39-macosx_10_9_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/19/d3/5043bab169fa832abc0246a254eb99e9f83b38db6552a5b54b30c69a0a28/cyclonedds-0.9.1-cp39-cp39-macosx_10_9_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp39-cp39-macosx_11_0_arm64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/14/c2/bf1e04e1bc5968a8f75c3be26b2acd8e1b93052a480e561a46c500183666/cyclonedds-0.9.1-cp39-cp39-macosx_11_0_arm64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp39-cp39-manylinux2014_x86_64, cp39-cp39-manylinux_2_17_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/be/01/ac6d5bbbd034ee4321e99b0392392c1c06afb51b4141f2a476b3085ae6e8/cyclonedds-0.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp39-cp39-win_amd64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/44/90/dbd28eb1f0ae3cc99550c5a08e08d19ad3da451bb08ec5e6feb04d9b195d/cyclonedds-0.9.1-cp39-cp39-win_amd64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Found link https://files.pythonhosted.org/packages/d2/58/09e4457a6ee674cd3556731ed57e422355b47c47dcde600d5b40af37c693/cyclonedds-0.9.1.tar.gz (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7), version: 0.9.1
  Skipping link: none of the wheel's tags (cp310-cp310-macosx_10_9_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/00/a4/0cd0d4fb12b094bb95f900eda684bf7dae9a2ef07d0890b6c54f74ef9321/cyclonedds-0.10.2rc1-cp310-cp310-macosx_10_9_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp310-cp310-macosx_11_0_arm64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/b7/ff/c353b34fcd3cf65764d4af4b372ee0b041e78381a84747e793c3d46d87c7/cyclonedds-0.10.2rc1-cp310-cp310-macosx_11_0_arm64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp310-cp310-manylinux2014_x86_64, cp310-cp310-manylinux_2_17_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/14/06/ec57a24aa318430eb0184d8d1b6cc7d7a09aa5e968ab4c5aa47a5f620f7f/cyclonedds-0.10.2rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp310-cp310-musllinux_1_1_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/04/08/411b415154157930102e2b389ea0958e56e43c2d624bbfa4988bbc5d9ea7/cyclonedds-0.10.2rc1-cp310-cp310-musllinux_1_1_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp310-cp310-win_amd64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/9f/ed/a6fba8556cff08ce54ea672c69d17a93a8722a68bc5eb5ee8c1ee1fb11d8/cyclonedds-0.10.2rc1-cp310-cp310-win_amd64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp37-cp37m-macosx_10_9_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/82/58/77d0d9bfa2f1d3ee0368b94de7b9808614cdd30e74fa76388212c7781761/cyclonedds-0.10.2rc1-cp37-cp37m-macosx_10_9_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp37-cp37m-manylinux2014_x86_64, cp37-cp37m-manylinux_2_17_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/eb/91/b37b7e3029160c1d30e44ac2942f84b1a80362aea94cce6f601f30cf736d/cyclonedds-0.10.2rc1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp37-cp37m-musllinux_1_1_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/24/d4/068fe955b5c21d8ecd409ce0dd725cb5ede3024b182c30090f44f1ec5a94/cyclonedds-0.10.2rc1-cp37-cp37m-musllinux_1_1_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp37-cp37m-win_amd64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/14/99/2b308598d740084ff5ac313881398fd2acac6f212aeceb297c00749c1fd3/cyclonedds-0.10.2rc1-cp37-cp37m-win_amd64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp38-cp38-macosx_10_9_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/ec/ef/e2bebe8451a7e529e9c544720e0e29696b73b97717eff913b2b1b4451be7/cyclonedds-0.10.2rc1-cp38-cp38-macosx_10_9_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp38-cp38-macosx_11_0_arm64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/c6/84/b2f1b646fb8f7aa4cfc990f1807ae7e5447c4dbd7bd6fd36a01cd5b166a0/cyclonedds-0.10.2rc1-cp38-cp38-macosx_11_0_arm64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp38-cp38-manylinux2014_x86_64, cp38-cp38-manylinux_2_17_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/9d/d0/bb8e57a71c7a16ac95e8849b78036766b3574f9d76e7598e7fa0dceb8532/cyclonedds-0.10.2rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp38-cp38-musllinux_1_1_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/9c/25/04fb04dee6066c57d2da2a822397e6abeee3042e4b64ae5721333bff643f/cyclonedds-0.10.2rc1-cp38-cp38-musllinux_1_1_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp38-cp38-win_amd64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/b5/06/e99ea6d009ac77d41c563cc5a400ab5869e8125bc43a459f4ad466e41ad7/cyclonedds-0.10.2rc1-cp38-cp38-win_amd64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp39-cp39-macosx_10_9_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/b8/ad/8f30a0479ec959f7af844acba54e1e95ab0e809a7ca73301bf52a040f3e4/cyclonedds-0.10.2rc1-cp39-cp39-macosx_10_9_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp39-cp39-macosx_11_0_arm64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/c0/c1/ca02e5b41c7f11094b6d85076376189cbc4bc98636bece97f7b90e73fe81/cyclonedds-0.10.2rc1-cp39-cp39-macosx_11_0_arm64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp39-cp39-manylinux2014_x86_64, cp39-cp39-manylinux_2_17_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/05/95/4f32d24b59116b16c1131f105c7669311eae14ce7583ce45437a77d3fabc/cyclonedds-0.10.2rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp39-cp39-musllinux_1_1_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/52/f7/4b16eea0110a2872e11c7c49e9b722116964e7fa6948ca9f7519faec010d/cyclonedds-0.10.2rc1-cp39-cp39-musllinux_1_1_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp39-cp39-win_amd64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/f0/2e/b32745a4c0c30665c5330258b5d8d151c727aa4da550d2b1e217636f7a0e/cyclonedds-0.10.2rc1-cp39-cp39-win_amd64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Found link https://files.pythonhosted.org/packages/46/78/2c04c33c27df3d1a2837af0c5073d094b67357dd474411e0de0344af1e5c/cyclonedds-0.10.2rc1.tar.gz (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7), version: 0.10.2rc1
  Skipping link: none of the wheel's tags (cp310-cp310-macosx_10_9_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/16/9f/ad6b8668e5f6d7297cdca4fa42e3c57073f5a323aa7a590e2a1581289eef/cyclonedds-0.10.2-cp310-cp310-macosx_10_9_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp310-cp310-macosx_11_0_arm64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/04/2b/b392a8593c9d7e7f770c60900b3ea3733704ec9786de258d6013b9faad0c/cyclonedds-0.10.2-cp310-cp310-macosx_11_0_arm64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp310-cp310-manylinux2014_x86_64, cp310-cp310-manylinux_2_17_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/c1/23/6d8b2630e0c1f24b84c414572ca16b728c69f0d81d974756b4bf0e990afe/cyclonedds-0.10.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp310-cp310-musllinux_1_1_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/bc/05/6b4084bc94f564ec8a1b2e4b3b3634835064fefec560f57d85a173d5c68f/cyclonedds-0.10.2-cp310-cp310-musllinux_1_1_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp310-cp310-win_amd64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/f1/e7/3bbb2d3e6eb7aa29e2edc95ea5062458a0c92dd3e87640f83feed537e555/cyclonedds-0.10.2-cp310-cp310-win_amd64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp37-cp37m-macosx_10_9_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/8b/7e/4a640a4776d2168319d06f282ecbf2b7256d18897696aadd2a61fbd27817/cyclonedds-0.10.2-cp37-cp37m-macosx_10_9_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp37-cp37m-manylinux2014_x86_64, cp37-cp37m-manylinux_2_17_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/f0/61/4be9589483008bb386618ded0cbf4de0850b12397524867ffa7afe371113/cyclonedds-0.10.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp37-cp37m-musllinux_1_1_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/bd/f1/f1ebc8b29498637a32d0a81cbf7dda5897ee1952686cebf80a4a6f7c75ff/cyclonedds-0.10.2-cp37-cp37m-musllinux_1_1_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp37-cp37m-win_amd64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/8c/77/468ffc4d84b1fb46e926c6319ca4ec741055d424772827980e10520a9284/cyclonedds-0.10.2-cp37-cp37m-win_amd64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp38-cp38-macosx_10_9_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/45/5c/b7e9f3b314ec364d0d72e1dcaafd9d13755552850f765a08bf51c2692d7e/cyclonedds-0.10.2-cp38-cp38-macosx_10_9_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp38-cp38-macosx_11_0_arm64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/38/8d/c5973a5fcadd27e9f8913fdba2b5226fe1e77072338671c586e8e6650c99/cyclonedds-0.10.2-cp38-cp38-macosx_11_0_arm64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp38-cp38-manylinux2014_x86_64, cp38-cp38-manylinux_2_17_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/ad/7d/b4df9d6624378936ffc4727e30c1f0b58236198b1330c9f2346fc9a6f156/cyclonedds-0.10.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp38-cp38-musllinux_1_1_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/80/89/f863efb59e1c0bff6e6426c6a6537182e25b40f3b7055d3534aac9d5fea0/cyclonedds-0.10.2-cp38-cp38-musllinux_1_1_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp38-cp38-win_amd64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/89/01/e931e2022c00fc339e60746eaad0377889db07c6bb03239347f81b8bd0a8/cyclonedds-0.10.2-cp38-cp38-win_amd64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp39-cp39-macosx_10_9_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/a2/76/a197eb24994e49c66d4c11261f1d9be5f5d62655d00f9664af7bcb856a44/cyclonedds-0.10.2-cp39-cp39-macosx_10_9_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp39-cp39-macosx_11_0_arm64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/e5/00/7cc5806f9262af62f91b7889c874c7ff1f577fd8c444f8d5138eec88787e/cyclonedds-0.10.2-cp39-cp39-macosx_11_0_arm64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp39-cp39-manylinux2014_x86_64, cp39-cp39-manylinux_2_17_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/94/7f/2ed23c47d8af137a21eb0aebd4353c1b1207403c6b7212a1bc9848359ee1/cyclonedds-0.10.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp39-cp39-musllinux_1_1_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/ee/98/13b0b265fea47eda143e3c5f4b9420534cbfec29f976bc5696bf76156b92/cyclonedds-0.10.2-cp39-cp39-musllinux_1_1_x86_64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Skipping link: none of the wheel's tags (cp39-cp39-win_amd64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/4a/9b/6a1c0e5b300bb5c55142f96656571b421ffbefc1772d44a825b39de06e0c/cyclonedds-0.10.2-cp39-cp39-win_amd64.whl (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7)
  Found link https://files.pythonhosted.org/packages/62/88/4b440f5916976234838989c3214222a5abc6fd48009a992c4dc22a86c04f/cyclonedds-0.10.2.tar.gz (from https://pypi.org/simple/cyclonedds/) (requires-python:>=3.7), version: 0.10.2
Skipping link: not a file: https://pypi.org/simple/cyclonedds/
Given no hashes to check 3 links for project 'cyclonedds': discarding no candidates
Collecting cyclonedds
  Created temporary directory: /tmp/pip-unpack-h5vkeg2q
  Looking up "https://files.pythonhosted.org/packages/62/88/4b440f5916976234838989c3214222a5abc6fd48009a992c4dc22a86c04f/cyclonedds-0.10.2.tar.gz" in the cache
  Current age based on date: 202
  Ignoring unknown cache-control directive: immutable
  Freshness lifetime from max-age: 365000000
  The response is "fresh", returning cached response
  365000000 > 202
  Using cached cyclonedds-0.10.2.tar.gz (156 kB)
  Added cyclonedds from https://files.pythonhosted.org/packages/62/88/4b440f5916976234838989c3214222a5abc6fd48009a992c4dc22a86c04f/cyclonedds-0.10.2.tar.gz to build tracker '/tmp/pip-build-tracker-faskk29k'
  Created temporary directory: /tmp/pip-build-env-8a5m__3d
  Running command pip subprocess to install build dependencies
  Using pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11)
  Collecting setuptools>=42.0.2
    Using cached setuptools-68.0.0-py3-none-any.whl (804 kB)
  Collecting wheel>=0.29.0
    Using cached wheel-0.41.1-py3-none-any.whl (64 kB)
  Installing collected packages: wheel, setuptools
    Creating /tmp/pip-build-env-8a5m__3d/overlay/local/bin
    changing mode of /tmp/pip-build-env-8a5m__3d/overlay/local/bin/wheel to 755
  Successfully installed setuptools-68.0.0 wheel-0.41.1
  WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
  Installing build dependencies ... done
  Running command Getting requirements to build wheel
  Could not locate cyclonedds. Try to set CYCLONEDDS_HOME or CMAKE_PREFIX_PATH
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel 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.
  full command: /usr/bin/python3 /usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py get_requires_for_build_wheel /tmp/tmp5ofe1yez
  cwd: /tmp/pip-install-hjq_sjib/cyclonedds_c45d0878b09848a2809fcc608e0fafe5
  Getting requirements to build wheel ... error
error: subprocess-exited-with-error

× Getting requirements to build wheel 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.
Exception information:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 160, in exc_logging_wrapper
    status = run_func(*args)
             ^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 247, in wrapper
    return func(self, options, args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pip/_internal/commands/install.py", line 419, in run
    requirement_set = resolver.resolve(
                      ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 92, in resolve
    result = self._result = resolver.resolve(
                            ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 481, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 348, in resolve
    self._add_to_criteria(self.state.criteria, r, parent=None)
  File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 172, in _add_to_criteria
    if not criterion.candidates:
  File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 151, in __bool__
    return bool(self._sequence)
           ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__
    return any(self)
           ^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in <genexpr>
    return (c for c in iterator if id(c) not in self._incompatible_ids)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built
    candidate = func()
                ^^^^^^
  File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 206, in _make_candidate_from_link
    self._link_candidate_cache[link] = LinkCandidate(
                                       ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 297, in __init__
    super().__init__(
  File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 162, in __init__
    self.dist = self._prepare()
                ^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 231, in _prepare
    dist = self._prepare_distribution()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 308, in _prepare_distribution
    return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 491, in prepare_linked_requirement
    return self._prepare_linked_requirement(req, parallel_builds)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 577, in _prepare_linked_requirement
    dist = _get_prepared_distribution(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 69, in _get_prepared_distribution
    abstract_dist.prepare_distribution_metadata(
  File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 48, in prepare_distribution_metadata
    self._install_build_reqs(finder)
  File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 118, in _install_build_reqs
    build_reqs = self._get_build_requires_wheel()
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 95, in _get_build_requires_wheel
    return backend.get_requires_for_build_wheel()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pip/_internal/utils/misc.py", line 725, in get_requires_for_build_wheel
    return super().get_requires_for_build_wheel(config_settings=cs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_impl.py", line 166, in get_requires_for_build_wheel
    return self._call_hook('get_requires_for_build_wheel', {
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_impl.py", line 311, in _call_hook
    self._subprocess_runner(
  File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 252, in runner
    call_subprocess(
  File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 224, in call_subprocess
    raise error
pip._internal.exceptions.InstallationSubprocessError: Getting requirements to build wheel exited with 1
Removed cyclonedds from https://files.pythonhosted.org/packages/62/88/4b440f5916976234838989c3214222a5abc6fd48009a992c4dc22a86c04f/cyclonedds-0.10.2.tar.gz from build tracker '/tmp/pip-build-tracker-faskk29k'
Removed build tracker: '/tmp/pip-build-tracker-faskk29k'

Yes, I agree, it definitely looks like that doesn't allow for the installation paths used by apt install cyclonedds-dev. I suppose the list of locations it checks could be extended fairly easily. However, with all the platform-specific bits in the directory names it is always going to be dicey if we don't figure out the "proper" and portable way to do so.

I suspect you know your way around python setup scripts better than I do1, is there any chance you know what the proper way here would be? Otherwise I'll try my hand at it, but that'll take some time ...

If you can't wait, I'd recommend building Cyclone from source, all you need are cmake and build-essentials and it builds in a few seconds. You can take either the heads of the 0.10.x branches for cyclonedds, cyclonedds-cxx (if you want it) and cyclonedds-python, or the heads of master (that would be my personal choice, I have no indication the master suffers from development-related issues).

Footnotes

  1. That is almost a given: I never really used Python. That we have such a nice binding is entirely thanks to @thijsmie and I'd hate to go rummaging around these bits and probably causing trouble by trying to fix this the wrong way.

@eboasson Thank you for your answer! Install from sources cyclonedds-python#via-pypi, and cyclonedds-python#via-git works well for me.

Btw. Got the same problem when trying to build in debian:bookworm x86_64, when trying to force library binaries to build from the source.

root@f3a9b81c55cc:/cyclonedds-python# uname -a
Linux f3a9b81c55cc 6.4.8-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 03 Aug 2023 16:02:01 +0000 x86_64 GNU/Linux

root@f3a9b81c55cc:/cyclonedds-python# pip3 install --use-feature=no-binary-enable-wheel-cache --break-system-packages cyclonedds 
Collecting cyclonedds
  Using cached cyclonedds-0.10.2.tar.gz (156 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [1 lines of output]
      Could not locate cyclonedds. Try to set CYCLONEDDS_HOME or CMAKE_PREFIX_PATH
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel 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.

Can make more verbose output if needed, but it looks similar to verbose output in my previous comment .

This issue basically can be closed, but it is nice to have a way how to install cyclonedds package on aarch64, without building it from the source.

I can create another issue in which we can continue the discussion about how we can make aarch64 packages (whl) available for cyclonedds, because there are no releases for those packages in PyPi (https://pypi.org/project/cyclonedds/#files).

@eboasson Btw. I implemented fixes for buildhelp/cyclone_search.py#L48-L52 and buildhelp/oxidize_library.py#L49-L53, but because installation of cyclonedds from apt (apt install cyclonedds-dev) provides only libraries without header files there's missing some includes when I trying to build it on aarch64 or x86_64, using pip.

    potential_libdirs = [Path("lib") / "aarch64-linux-gnu", "lib64", "lib"]

    # Iterate over potential directories and use the first one that exists
    for potential_dir in potential_libdirs:
        libdir = dir / potential_dir
        if libdir.exists():
            break
    else:
        # No valid library directory found
        return None
  • Pip command to build package:
pip3 install --user ".[dev]"
  • Error with includes:
...
  clayer/pysertype.c:23:10: fatal error: dds/ddsi/q_radmin.h: No such file or directory
     23 | #include "dds/ddsi/q_radmin.h"
...

Think there should be a proper way to provide at least source distribution on PyPi (https://pypi.org/project/cyclonedds/#files) which can be built regardless of the system.