Attempting to install 2021.2 Xilinx tools

GC
Gareth Cavaciuti
Mon, May 22, 2023 4:52 PM

Hi
I'm using v2.5.0-beta.1 with Ubuntu 20.04.6LTS.

I thought from the install guide that Vivado/Vitis/Petalinux 2021.2 was a supported combination.  I'd previously tried v2.4.6 with Ubuntu 18.04 and 2019.2 Xilinx tools but had an issue with "ocpiadmin install platform xsim" and then subsequently saw some reports of compatibility issues at Ubuntu 18.04/Vivado 2019.2 combination.

So, I've subsequently tried 2021.2; xsim installs without error, but in the v2.5.0-beta.1 there's no folder ./projects/core/rcc/platforms/xilinx21_2_aarch64.  I tried creating by looking at the differences between xilinx17_2_aarch64 and xilinx19_2_aarch64, (so limited renaming from 19_2 to 21_2, and removal of the alternative git tag in the 19_2).  After going round a loop of re-running "make cleaneverything" and "./scripts/install-opencpi.h" then trying to "ocpiadmin install platform xilinx21_2_aarch64" I get the process eventually fails in ImportSDKartifacts.sh.

The platform is nonetheless visible with "ocpidev show rcc platforms".

The last lines of the build are:-
make[1]: Leaving directory '/tools/Xilinx/git/linux-xlnx'


---==========================
Capturing the built Linux uImage file and the zynq device trees in directory: /home/gareth/opencpi/projects/core/rcc/platforms/xilinx21_2_aarch64/gen/kernel-artifacts


---==========================
Preparing the kernel-headers tree based on the built kernel.
Removing .cmd
Removing x86_64 binaries
rm kernel-headers/scripts/kallsyms
rm kernel-headers/scripts/sorttable
rm kernel-headers/scripts/basic/fixdep
rm kernel-headers/scripts/asn1_compiler
rm kernel-headers/scripts/extract-cert
rm kernel-headers/scripts/kconfig/conf
rm kernel-headers/scripts/mod/mk_elfconfig
rm kernel-headers/scripts/mod/modpost
rm kernel-headers/scripts/dtc/dtc
Restoring source to removed binaries
Removing unused large headers
Creating the compressed archive for kernel headers
The kernel-headers has been created.
WARNING: Cannot locate libstdc++.so
in /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu in any of these dirs below: libc/lib libc/usr/lib lib
WARNING: Cannot locate libgcc_s.so* in /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu in any of these dirs below: libc/lib libc/usr/lib lib
WARNING: Cannot locate ld-.so in /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu in any of these dirs below: libc/lib libc/usr/lib lib
WARNING: Cannot locate libpthread*.so* in /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu in any of these dirs below: libc/lib libc/usr/lib lib
cp: cannot stat '/tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/gdbserver': No such file or directory
make: *** [/home/gareth/opencpi/cdk/include/xilinx/xilinx-rcc-platform.mk:109: gen/sdk-artifacts.done] Error 1
make: Leaving directory '/home/gareth/opencpi/projects/core/rcc/platforms/xilinx21_2_aarch64'

ocpidev show rcc platforms

| Platform          | Package-ID                  | Target              |
| ------------------ | ---------------------------- | ------------------- |
| macos11_4          | ocpi.core.macos11_4          | macos-11_4-x86_64  |
| macos11_3          | ocpi.core.macos11_3          | macos-11_3-x86_64  |
| macos12_5          | ocpi.core.macos12_5          | macos-12_5-x86_64  |
| xilinx13_3        | ocpi.core.xilinx13_3        | linux-x13_3-arm    |
| macos12_3          | ocpi.core.macos12_3          | macos-12_3-x86_64  |
| macos13_0          | ocpi.core.macos13_0          | macos-13_0-x86_64  |
| macos12_1          | ocpi.core.macos12_1          | macos-12_1-x86_64  |
| xilinx19_2_aarch64 | ocpi.core.xilinx19_2_aarch64 | linux-19_2-aarch64  |
| macos13_1          | ocpi.core.macos13_1          | macos-13_1-x86_64  |
| macos12_0          | ocpi.core.macos12_0          | macos-12_0-x86_64  |
| macos10_15        | ocpi.core.macos10_15        | macos-10_15-x86_64  |
| macos10_14        | ocpi.core.macos10_14        | macos-10_14-x86_64  |
| ubuntu18_04        | ocpi.core.ubuntu18_04        | linux-u18_04-x86_64 |
| macos12_6          | ocpi.core.macos12_6          | macos-12_6-x86_64  |
| xilinx13_4        | ocpi.core.xilinx13_4        | linux-x13_4-arm    |
| xilinx17_1_aarch32 | ocpi.core.xilinx17_1_aarch32 | linux-17_1-aarch32  |
| ubuntu20_04        | ocpi.core.ubuntu20_04        | linux-u20_04-x86_64 |
| centos8            | ocpi.core.centos8            | linux-c8-x86_64    |
| xilinx17_2_aarch64 | ocpi.core.xilinx17_2_aarch64 | linux-17_2-aarch64  |
| mint21_1          | ocpi.core.mint21_1          | linux-m21_1-x86_64  |
| xilinx21_2_aarch64 | ocpi.core.xilinx21_2_aarch64 | linux-21_2-aarch64  |
| macos11_1          | ocpi.core.macos11_1          | macos-11_1-x86_64  |
| xilinx13_4_arm    | ocpi.core.xilinx13_4_arm    | linux-13_4-arm      |
| macos11_5          | ocpi.core.macos11_5          | macos-11_5-x86_64  |
| macos11_6          | ocpi.core.macos11_6          | macos-11_6-x86_64  |
| macos11_2          | ocpi.core.macos11_2          | macos-11_2-x86_64  |
| xilinx17_1_aarch64 | ocpi.core.xilinx17_1_aarch64 | linux-17_1-aarch64  |
| ubuntu22_04        | ocpi.core.ubuntu22_04        | linux-u22_04-x86_64 |
| xilinx19_2_aarch32 | ocpi.core.xilinx19_2_aarch32 | linux-19_2-aarch32  |
| rocky8            | ocpi.core.rocky8            | linux-r8-x86_64    |
| macos12_2          | ocpi.core.macos12_2          | macos-12_2-x86_64  |
| xilinx17_2_aarch32 | ocpi.core.xilinx17_2_aarch32 | linux-17_2-aarch32  |
| macos10_13        | ocpi.core.macos10_13        | macos-10_13-x86_64  |
| macos12_4          | ocpi.core.macos12_4          | macos-12_4-x86_64  |
| centos7            | ocpi.core.centos7            | linux-c7-x86_64    |
| xilinx18_3_aarch64 | ocpi.core.xilinx18_3_aarch64 | linux-18_3-aarch64  |

The Vitis folder structure around where the copy is failing is:-
/tools/Xilinx/Vitis/2021.2/gnu/aarch64
└── lin
├── aarch64-linux
│  ├── aarch64-xilinx-linux
│  ├── bin
│  └── x86_64-petalinux-linux
└── aarch64-none
├── aarch64-xilinx-elf
├── bin
└── x86_64-oesdk-linux

The files in lin/aarch64-linux/bin (such as aarch64-linux-gnu-cpp) seem to suggest for 21_2 the library output directories are ../aarch64-xilinx-linux and searching the files seem to end up in usr/lib.

Would it be a reasonable approach to modify ./runtime/hdl-support/Xilinx/importSDKartifacts.sh to add usr/lib into "places" at line 32, then create another variable for e.g. OcpiCrossCompileLibraryOutput in ./runtime/hdl-support/Xilinx and pass this to importSDKartifacts.sh as an extra parameter (which would be either set as empty or the same as OcpiCrossCompile for versions < 21_2)?

Obviously the error itself is a missing gdbserver; which doesn't seem to exist for the aarch64 target in Vitis 2021_2 as far as I can see.  I did see a comment on previous versions that gdbserver is deprecated and may be removed in future versions of Vitis.

Has anyone resolved this already?  Are there any other big "gotchas" with targeting 2021.2 as a rcc or vhdl platform?

Kind regards
Gareth Cavaciuti
www.allenvanguard.comhttp://www.allenvanguard.com/
gareth.cavaciuti@allenvanguard.commailto:gareth.cavaciuti@allenvanguard.com

Allen-Vanguard Corporation
IMPORTANT NOTICE:

This message is intended only for the use of the individual or entity to which it is addressed. The message may contain information that is privileged, confidential and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, you are notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify me immediately and delete it from your system. This system and communications using this system are monitored and recorded to secure its effective operation and for other lawful business purposes.

Hi I'm using v2.5.0-beta.1 with Ubuntu 20.04.6LTS. I thought from the install guide that Vivado/Vitis/Petalinux 2021.2 was a supported combination. I'd previously tried v2.4.6 with Ubuntu 18.04 and 2019.2 Xilinx tools but had an issue with "ocpiadmin install platform xsim" and then subsequently saw some reports of compatibility issues at Ubuntu 18.04/Vivado 2019.2 combination. So, I've subsequently tried 2021.2; xsim installs without error, but in the v2.5.0-beta.1 there's no folder ./projects/core/rcc/platforms/xilinx21_2_aarch64. I tried creating by looking at the differences between xilinx17_2_aarch64 and xilinx19_2_aarch64, (so limited renaming from 19_2 to 21_2, and removal of the alternative git tag in the 19_2). After going round a loop of re-running "make cleaneverything" and "./scripts/install-opencpi.h" then trying to "ocpiadmin install platform xilinx21_2_aarch64" I get the process eventually fails in ImportSDKartifacts.sh. The platform is nonetheless visible with "ocpidev show rcc platforms". The last lines of the build are:- make[1]: Leaving directory '/tools/Xilinx/git/linux-xlnx' ============================================================================================ Capturing the built Linux uImage file and the zynq device trees in directory: /home/gareth/opencpi/projects/core/rcc/platforms/xilinx21_2_aarch64/gen/kernel-artifacts ============================================================================================ Preparing the kernel-headers tree based on the built kernel. Removing *.cmd Removing x86_64 binaries rm kernel-headers/scripts/kallsyms rm kernel-headers/scripts/sorttable rm kernel-headers/scripts/basic/fixdep rm kernel-headers/scripts/asn1_compiler rm kernel-headers/scripts/extract-cert rm kernel-headers/scripts/kconfig/conf rm kernel-headers/scripts/mod/mk_elfconfig rm kernel-headers/scripts/mod/modpost rm kernel-headers/scripts/dtc/dtc Restoring source to removed binaries Removing unused large headers Creating the compressed archive for kernel headers The kernel-headers has been created. WARNING: Cannot locate libstdc++.so* in /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu in any of these dirs below: libc/lib libc/usr/lib lib WARNING: Cannot locate libgcc_s.so* in /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu in any of these dirs below: libc/lib libc/usr/lib lib WARNING: Cannot locate ld-*.so* in /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu in any of these dirs below: libc/lib libc/usr/lib lib WARNING: Cannot locate libpthread*.so* in /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu in any of these dirs below: libc/lib libc/usr/lib lib cp: cannot stat '/tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/gdbserver': No such file or directory make: *** [/home/gareth/opencpi/cdk/include/xilinx/xilinx-rcc-platform.mk:109: gen/sdk-artifacts.done] Error 1 make: Leaving directory '/home/gareth/opencpi/projects/core/rcc/platforms/xilinx21_2_aarch64' ocpidev show rcc platforms --------------------------------------------------------------------------- | Platform | Package-ID | Target | | ------------------ | ---------------------------- | ------------------- | | macos11_4 | ocpi.core.macos11_4 | macos-11_4-x86_64 | | macos11_3 | ocpi.core.macos11_3 | macos-11_3-x86_64 | | macos12_5 | ocpi.core.macos12_5 | macos-12_5-x86_64 | | xilinx13_3 | ocpi.core.xilinx13_3 | linux-x13_3-arm | | macos12_3 | ocpi.core.macos12_3 | macos-12_3-x86_64 | | macos13_0 | ocpi.core.macos13_0 | macos-13_0-x86_64 | | macos12_1 | ocpi.core.macos12_1 | macos-12_1-x86_64 | | xilinx19_2_aarch64 | ocpi.core.xilinx19_2_aarch64 | linux-19_2-aarch64 | | macos13_1 | ocpi.core.macos13_1 | macos-13_1-x86_64 | | macos12_0 | ocpi.core.macos12_0 | macos-12_0-x86_64 | | macos10_15 | ocpi.core.macos10_15 | macos-10_15-x86_64 | | macos10_14 | ocpi.core.macos10_14 | macos-10_14-x86_64 | | ubuntu18_04 | ocpi.core.ubuntu18_04 | linux-u18_04-x86_64 | | macos12_6 | ocpi.core.macos12_6 | macos-12_6-x86_64 | | xilinx13_4 | ocpi.core.xilinx13_4 | linux-x13_4-arm | | xilinx17_1_aarch32 | ocpi.core.xilinx17_1_aarch32 | linux-17_1-aarch32 | | ubuntu20_04 | ocpi.core.ubuntu20_04 | linux-u20_04-x86_64 | | centos8 | ocpi.core.centos8 | linux-c8-x86_64 | | xilinx17_2_aarch64 | ocpi.core.xilinx17_2_aarch64 | linux-17_2-aarch64 | | mint21_1 | ocpi.core.mint21_1 | linux-m21_1-x86_64 | | xilinx21_2_aarch64 | ocpi.core.xilinx21_2_aarch64 | linux-21_2-aarch64 | | macos11_1 | ocpi.core.macos11_1 | macos-11_1-x86_64 | | xilinx13_4_arm | ocpi.core.xilinx13_4_arm | linux-13_4-arm | | macos11_5 | ocpi.core.macos11_5 | macos-11_5-x86_64 | | macos11_6 | ocpi.core.macos11_6 | macos-11_6-x86_64 | | macos11_2 | ocpi.core.macos11_2 | macos-11_2-x86_64 | | xilinx17_1_aarch64 | ocpi.core.xilinx17_1_aarch64 | linux-17_1-aarch64 | | ubuntu22_04 | ocpi.core.ubuntu22_04 | linux-u22_04-x86_64 | | xilinx19_2_aarch32 | ocpi.core.xilinx19_2_aarch32 | linux-19_2-aarch32 | | rocky8 | ocpi.core.rocky8 | linux-r8-x86_64 | | macos12_2 | ocpi.core.macos12_2 | macos-12_2-x86_64 | | xilinx17_2_aarch32 | ocpi.core.xilinx17_2_aarch32 | linux-17_2-aarch32 | | macos10_13 | ocpi.core.macos10_13 | macos-10_13-x86_64 | | macos12_4 | ocpi.core.macos12_4 | macos-12_4-x86_64 | | centos7 | ocpi.core.centos7 | linux-c7-x86_64 | | xilinx18_3_aarch64 | ocpi.core.xilinx18_3_aarch64 | linux-18_3-aarch64 | --------------------------------------------------------------------------- The Vitis folder structure around where the copy is failing is:- /tools/Xilinx/Vitis/2021.2/gnu/aarch64 └── lin ├── aarch64-linux │ ├── aarch64-xilinx-linux │ ├── bin │ └── x86_64-petalinux-linux └── aarch64-none ├── aarch64-xilinx-elf ├── bin └── x86_64-oesdk-linux The files in lin/aarch64-linux/bin (such as aarch64-linux-gnu-cpp) seem to suggest for 21_2 the library output directories are ../aarch64-xilinx-linux and searching the files seem to end up in usr/lib. Would it be a reasonable approach to modify ./runtime/hdl-support/Xilinx/importSDKartifacts.sh to add usr/lib into "places" at line 32, then create another variable for e.g. OcpiCrossCompileLibraryOutput in ./runtime/hdl-support/Xilinx and pass this to importSDKartifacts.sh as an extra parameter (which would be either set as empty or the same as OcpiCrossCompile for versions < 21_2)? Obviously the error itself is a missing gdbserver; which doesn't seem to exist for the aarch64 target in Vitis 2021_2 as far as I can see. I did see a comment on previous versions that gdbserver is deprecated and may be removed in future versions of Vitis. Has anyone resolved this already? Are there any other big "gotchas" with targeting 2021.2 as a rcc or vhdl platform? Kind regards Gareth Cavaciuti www.allenvanguard.com<http://www.allenvanguard.com/> gareth.cavaciuti@allenvanguard.com<mailto:gareth.cavaciuti@allenvanguard.com> Allen-Vanguard Corporation IMPORTANT NOTICE: This message is intended only for the use of the individual or entity to which it is addressed. The message may contain information that is privileged, confidential and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, you are notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify me immediately and delete it from your system. This system and communications using this system are monitored and recorded to secure its effective operation and for other lawful business purposes.
DW
Dominic Walters
Mon, May 22, 2023 7:20 PM

Hi Gareth,

An open MR for xilinx21_1 can be found here:
https://gitlab.com/opencpi/opencpi/-/merge_requests/1015

I'd suggest taking that and adapting it for xilinx21_2 if you want to
commit to it (it appears to fix the importSDKartifacts.sh issues).
I would however be very cautious about using newer Xilinx Tools and the
v2.5.0 branch.
Note: I can see that xilinx21_2 is listed in the 2.5.0 installation guide
but not the 2.4.6 one:
https://opencpi.gitlab.io/releases/v2.4.6/docs/OpenCPI_Installation_Guide.pdf
.

Other assorted ramblings:

The tracking issue for 2021.2 support is still open:
https://gitlab.com/opencpi/opencpi/-/issues/2608
I had a discussion on the following issue a few months back with somebody
asking about support for newer Xilinx versions:
https://gitlab.com/opencpi/opencpi/-/issues/3537
Here is my issue detailing some OS and Xilinx pairings that definitely
work: https://gitlab.com/opencpi/opencpi/-/issues/3520
I believe since then I did try several newer ones, but I don't appear to
have updated the issue.

Cheers,
D. Walters

On Mon, May 22, 2023 at 5:53 PM Gareth Cavaciuti <
Gareth.Cavaciuti@allenvanguard.com> wrote:

Hi

I’m using v2.5.0-beta.1 with Ubuntu 20.04.6LTS.

I thought from the install guide that Vivado/Vitis/Petalinux 2021.2 was a
supported combination.  I’d previously tried v2.4.6 with Ubuntu 18.04 and
2019.2 Xilinx tools but had an issue with “ocpiadmin install platform xsim”
and then subsequently saw some reports of compatibility issues at Ubuntu
18.04/Vivado 2019.2 combination.

So, I’ve subsequently tried 2021.2; xsim installs without error, but in
the v2.5.0-beta.1 there’s no folder
./projects/core/rcc/platforms/xilinx21_2_aarch64.  I tried creating by
looking at the differences between xilinx17_2_aarch64 and
xilinx19_2_aarch64, (so limited renaming from 19_2 to 21_2, and removal of
the alternative git tag in the 19_2).  After going round a loop of
re-running “make cleaneverything” and “./scripts/install-opencpi.h” then
trying to “ocpiadmin install platform xilinx21_2_aarch64” I get the process
eventually fails in ImportSDKartifacts.sh.

The platform is nonetheless visible with “ocpidev show rcc platforms”.

The last lines of the build are:-

make[1]: Leaving directory '/tools/Xilinx/git/linux-xlnx'


---==========================

Capturing the built Linux uImage file and the zynq device trees in
directory:
/home/gareth/opencpi/projects/core/rcc/platforms/xilinx21_2_aarch64/gen/kernel-artifacts


---==========================

Preparing the kernel-headers tree based on the built kernel.

Removing *.cmd

Removing x86_64 binaries

rm kernel-headers/scripts/kallsyms

rm kernel-headers/scripts/sorttable

rm kernel-headers/scripts/basic/fixdep

rm kernel-headers/scripts/asn1_compiler

rm kernel-headers/scripts/extract-cert

rm kernel-headers/scripts/kconfig/conf

rm kernel-headers/scripts/mod/mk_elfconfig

rm kernel-headers/scripts/mod/modpost

rm kernel-headers/scripts/dtc/dtc

Restoring source to removed binaries

Removing unused large headers

Creating the compressed archive for kernel headers

The kernel-headers has been created.

WARNING: Cannot locate libstdc++.so* in
/tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu
in any of these dirs below: libc/lib libc/usr/lib lib

WARNING: Cannot locate libgcc_s.so* in
/tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu
in any of these dirs below: libc/lib libc/usr/lib lib

WARNING: Cannot locate ld-.so in
/tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu
in any of these dirs below: libc/lib libc/usr/lib lib

WARNING: Cannot locate libpthread*.so* in
/tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu
in any of these dirs below: libc/lib libc/usr/lib lib

cp: cannot stat
'/tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/gdbserver':
No such file or directory

make: *** [/home/gareth/opencpi/cdk/include/xilinx/
xilinx-rcc-platform.mk:109: gen/sdk-artifacts.done] Error 1

make: Leaving directory
'/home/gareth/opencpi/projects/core/rcc/platforms/xilinx21_2_aarch64'

ocpidev show rcc platforms


| Platform          | Package-ID                  | Target              |

| ------------------ | ---------------------------- | ------------------- |

| macos11_4          | ocpi.core.macos11_4          | macos-11_4-x86_64  |

| macos11_3          | ocpi.core.macos11_3          | macos-11_3-x86_64  |

| macos12_5          | ocpi.core.macos12_5          | macos-12_5-x86_64  |

| xilinx13_3        | ocpi.core.xilinx13_3        | linux-x13_3-arm    |

| macos12_3          | ocpi.core.macos12_3          | macos-12_3-x86_64  |

| macos13_0          | ocpi.core.macos13_0          | macos-13_0-x86_64  |

| macos12_1          | ocpi.core.macos12_1          | macos-12_1-x86_64  |

| xilinx19_2_aarch64 | ocpi.core.xilinx19_2_aarch64 | linux-19_2-aarch64  |

| macos13_1          | ocpi.core.macos13_1          | macos-13_1-x86_64  |

| macos12_0          | ocpi.core.macos12_0          | macos-12_0-x86_64  |

| macos10_15        | ocpi.core.macos10_15        | macos-10_15-x86_64  |

| macos10_14        | ocpi.core.macos10_14        | macos-10_14-x86_64  |

| ubuntu18_04        | ocpi.core.ubuntu18_04        | linux-u18_04-x86_64 |

| macos12_6          | ocpi.core.macos12_6          | macos-12_6-x86_64  |

| xilinx13_4        | ocpi.core.xilinx13_4        | linux-x13_4-arm    |

| xilinx17_1_aarch32 | ocpi.core.xilinx17_1_aarch32 | linux-17_1-aarch32  |

| ubuntu20_04        | ocpi.core.ubuntu20_04        | linux-u20_04-x86_64 |

| centos8            | ocpi.core.centos8            | linux-c8-x86_64    |

| xilinx17_2_aarch64 | ocpi.core.xilinx17_2_aarch64 | linux-17_2-aarch64  |

| mint21_1          | ocpi.core.mint21_1          | linux-m21_1-x86_64  |

| xilinx21_2_aarch64 | ocpi.core.xilinx21_2_aarch64 | linux-21_2-aarch64  |

| macos11_1          | ocpi.core.macos11_1          | macos-11_1-x86_64  |

| xilinx13_4_arm    | ocpi.core.xilinx13_4_arm    | linux-13_4-arm      |

| macos11_5          | ocpi.core.macos11_5          | macos-11_5-x86_64  |

| macos11_6          | ocpi.core.macos11_6          | macos-11_6-x86_64  |

| macos11_2          | ocpi.core.macos11_2          | macos-11_2-x86_64  |

| xilinx17_1_aarch64 | ocpi.core.xilinx17_1_aarch64 | linux-17_1-aarch64  |

| ubuntu22_04        | ocpi.core.ubuntu22_04        | linux-u22_04-x86_64 |

| xilinx19_2_aarch32 | ocpi.core.xilinx19_2_aarch32 | linux-19_2-aarch32  |

| rocky8            | ocpi.core.rocky8            | linux-r8-x86_64    |

| macos12_2          | ocpi.core.macos12_2          | macos-12_2-x86_64  |

| xilinx17_2_aarch32 | ocpi.core.xilinx17_2_aarch32 | linux-17_2-aarch32  |

| macos10_13        | ocpi.core.macos10_13        | macos-10_13-x86_64  |

| macos12_4          | ocpi.core.macos12_4          | macos-12_4-x86_64  |

| centos7            | ocpi.core.centos7            | linux-c7-x86_64    |

| xilinx18_3_aarch64 | ocpi.core.xilinx18_3_aarch64 | linux-18_3-aarch64  |


The Vitis folder structure around where the copy is failing is:-

/tools/Xilinx/Vitis/2021.2/gnu/aarch64

└── lin

 ├── aarch64-linux

 │   ├── aarch64-xilinx-linux

 │   ├── bin

 │   └── x86_64-petalinux-linux

 └── aarch64-none

     ├── aarch64-xilinx-elf

     ├── bin

     └── x86_64-oesdk-linux

The files in lin/aarch64-linux/bin (such as aarch64-linux-gnu-cpp) seem to
suggest for 21_2 the library output directories are ../aarch64-xilinx-linux
and searching the files seem to end up in usr/lib.

Would it be a reasonable approach to modify
./runtime/hdl-support/Xilinx/importSDKartifacts.sh to add usr/lib into
“places” at line 32, then create another variable for e.g.
OcpiCrossCompileLibraryOutput in ./runtime/hdl-support/Xilinx and pass this
to importSDKartifacts.sh as an extra parameter (which would be either set
as empty or the same as OcpiCrossCompile for versions < 21_2)?

Obviously the error itself is a missing gdbserver; which doesn’t seem to
exist for the aarch64 target in Vitis 2021_2 as far as I can see.  I did
see a comment on previous versions that gdbserver is deprecated and may be
removed in future versions of Vitis.

Has anyone resolved this already?  Are there any other big “gotchas” with
targeting 2021.2 as a rcc or vhdl platform?

Kind regards

Gareth Cavaciuti

www.allenvanguard.com

gareth.cavaciuti@allenvanguard.com

Allen-Vanguard Corporation
IMPORTANT NOTICE:

This message is intended only for the use of the individual or entity to
which it is addressed. The message may contain information that is
privileged, confidential and exempt from disclosure under applicable law.
If the reader of this message is not the intended recipient, you are
notified that any dissemination, distribution or copying of this
communication is strictly prohibited. If you have received this
communication in error, please notify me immediately and delete it from
your system. This system and communications using this system are monitored
and recorded to secure its effective operation and for other lawful
business purposes.


discuss mailing list -- discuss@lists.opencpi.org
To unsubscribe send an email to discuss-leave@lists.opencpi.org

Hi Gareth, An open MR for xilinx21_1 can be found here: https://gitlab.com/opencpi/opencpi/-/merge_requests/1015 I'd suggest taking that and adapting it for xilinx21_2 if you want to commit to it (it appears to fix the `importSDKartifacts.sh` issues). I would however be very cautious about using newer Xilinx Tools and the v2.5.0 branch. Note: I can see that xilinx21_2 is listed in the 2.5.0 installation guide but not the 2.4.6 one: https://opencpi.gitlab.io/releases/v2.4.6/docs/OpenCPI_Installation_Guide.pdf . Other assorted ramblings: The tracking issue for 2021.2 support is still open: https://gitlab.com/opencpi/opencpi/-/issues/2608 I had a discussion on the following issue a few months back with somebody asking about support for newer Xilinx versions: https://gitlab.com/opencpi/opencpi/-/issues/3537 Here is my issue detailing some OS and Xilinx pairings that definitely work: https://gitlab.com/opencpi/opencpi/-/issues/3520 I believe since then I did try several newer ones, but I don't appear to have updated the issue. Cheers, D. Walters On Mon, May 22, 2023 at 5:53 PM Gareth Cavaciuti < Gareth.Cavaciuti@allenvanguard.com> wrote: > Hi > > I’m using v2.5.0-beta.1 with Ubuntu 20.04.6LTS. > > > > I thought from the install guide that Vivado/Vitis/Petalinux 2021.2 was a > supported combination. I’d previously tried v2.4.6 with Ubuntu 18.04 and > 2019.2 Xilinx tools but had an issue with “ocpiadmin install platform xsim” > and then subsequently saw some reports of compatibility issues at Ubuntu > 18.04/Vivado 2019.2 combination. > > > > So, I’ve subsequently tried 2021.2; xsim installs without error, but in > the v2.5.0-beta.1 there’s no folder > ./projects/core/rcc/platforms/xilinx21_2_aarch64. I tried creating by > looking at the differences between xilinx17_2_aarch64 and > xilinx19_2_aarch64, (so limited renaming from 19_2 to 21_2, and removal of > the alternative git tag in the 19_2). After going round a loop of > re-running “make cleaneverything” and “./scripts/install-opencpi.h” then > trying to “ocpiadmin install platform xilinx21_2_aarch64” I get the process > eventually fails in ImportSDKartifacts.sh. > > > > The platform is nonetheless visible with “ocpidev show rcc platforms”. > > > > > > > > The last lines of the build are:- > > make[1]: Leaving directory '/tools/Xilinx/git/linux-xlnx' > > > ============================================================================================ > > Capturing the built Linux uImage file and the zynq device trees in > directory: > /home/gareth/opencpi/projects/core/rcc/platforms/xilinx21_2_aarch64/gen/kernel-artifacts > > > ============================================================================================ > > Preparing the kernel-headers tree based on the built kernel. > > Removing *.cmd > > Removing x86_64 binaries > > rm kernel-headers/scripts/kallsyms > > rm kernel-headers/scripts/sorttable > > rm kernel-headers/scripts/basic/fixdep > > rm kernel-headers/scripts/asn1_compiler > > rm kernel-headers/scripts/extract-cert > > rm kernel-headers/scripts/kconfig/conf > > rm kernel-headers/scripts/mod/mk_elfconfig > > rm kernel-headers/scripts/mod/modpost > > rm kernel-headers/scripts/dtc/dtc > > Restoring source to removed binaries > > Removing unused large headers > > Creating the compressed archive for kernel headers > > The kernel-headers has been created. > > WARNING: Cannot locate libstdc++.so* in > /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu > in any of these dirs below: libc/lib libc/usr/lib lib > > WARNING: Cannot locate libgcc_s.so* in > /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu > in any of these dirs below: libc/lib libc/usr/lib lib > > WARNING: Cannot locate ld-*.so* in > /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu > in any of these dirs below: libc/lib libc/usr/lib lib > > WARNING: Cannot locate libpthread*.so* in > /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu > in any of these dirs below: libc/lib libc/usr/lib lib > > cp: cannot stat > '/tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/gdbserver': > No such file or directory > > make: *** [/home/gareth/opencpi/cdk/include/xilinx/ > xilinx-rcc-platform.mk:109: gen/sdk-artifacts.done] Error 1 > > make: Leaving directory > '/home/gareth/opencpi/projects/core/rcc/platforms/xilinx21_2_aarch64' > > > > ocpidev show rcc platforms > > --------------------------------------------------------------------------- > > | Platform | Package-ID | Target | > > | ------------------ | ---------------------------- | ------------------- | > > | macos11_4 | ocpi.core.macos11_4 | macos-11_4-x86_64 | > > | macos11_3 | ocpi.core.macos11_3 | macos-11_3-x86_64 | > > | macos12_5 | ocpi.core.macos12_5 | macos-12_5-x86_64 | > > | xilinx13_3 | ocpi.core.xilinx13_3 | linux-x13_3-arm | > > | macos12_3 | ocpi.core.macos12_3 | macos-12_3-x86_64 | > > | macos13_0 | ocpi.core.macos13_0 | macos-13_0-x86_64 | > > | macos12_1 | ocpi.core.macos12_1 | macos-12_1-x86_64 | > > | xilinx19_2_aarch64 | ocpi.core.xilinx19_2_aarch64 | linux-19_2-aarch64 | > > | macos13_1 | ocpi.core.macos13_1 | macos-13_1-x86_64 | > > | macos12_0 | ocpi.core.macos12_0 | macos-12_0-x86_64 | > > | macos10_15 | ocpi.core.macos10_15 | macos-10_15-x86_64 | > > | macos10_14 | ocpi.core.macos10_14 | macos-10_14-x86_64 | > > | ubuntu18_04 | ocpi.core.ubuntu18_04 | linux-u18_04-x86_64 | > > | macos12_6 | ocpi.core.macos12_6 | macos-12_6-x86_64 | > > | xilinx13_4 | ocpi.core.xilinx13_4 | linux-x13_4-arm | > > | xilinx17_1_aarch32 | ocpi.core.xilinx17_1_aarch32 | linux-17_1-aarch32 | > > | ubuntu20_04 | ocpi.core.ubuntu20_04 | linux-u20_04-x86_64 | > > | centos8 | ocpi.core.centos8 | linux-c8-x86_64 | > > | xilinx17_2_aarch64 | ocpi.core.xilinx17_2_aarch64 | linux-17_2-aarch64 | > > | mint21_1 | ocpi.core.mint21_1 | linux-m21_1-x86_64 | > > | xilinx21_2_aarch64 | ocpi.core.xilinx21_2_aarch64 | linux-21_2-aarch64 | > > | macos11_1 | ocpi.core.macos11_1 | macos-11_1-x86_64 | > > | xilinx13_4_arm | ocpi.core.xilinx13_4_arm | linux-13_4-arm | > > | macos11_5 | ocpi.core.macos11_5 | macos-11_5-x86_64 | > > | macos11_6 | ocpi.core.macos11_6 | macos-11_6-x86_64 | > > | macos11_2 | ocpi.core.macos11_2 | macos-11_2-x86_64 | > > | xilinx17_1_aarch64 | ocpi.core.xilinx17_1_aarch64 | linux-17_1-aarch64 | > > | ubuntu22_04 | ocpi.core.ubuntu22_04 | linux-u22_04-x86_64 | > > | xilinx19_2_aarch32 | ocpi.core.xilinx19_2_aarch32 | linux-19_2-aarch32 | > > | rocky8 | ocpi.core.rocky8 | linux-r8-x86_64 | > > | macos12_2 | ocpi.core.macos12_2 | macos-12_2-x86_64 | > > | xilinx17_2_aarch32 | ocpi.core.xilinx17_2_aarch32 | linux-17_2-aarch32 | > > | macos10_13 | ocpi.core.macos10_13 | macos-10_13-x86_64 | > > | macos12_4 | ocpi.core.macos12_4 | macos-12_4-x86_64 | > > | centos7 | ocpi.core.centos7 | linux-c7-x86_64 | > > | xilinx18_3_aarch64 | ocpi.core.xilinx18_3_aarch64 | linux-18_3-aarch64 | > > --------------------------------------------------------------------------- > > > > The Vitis folder structure around where the copy is failing is:- > > /tools/Xilinx/Vitis/2021.2/gnu/aarch64 > > └── lin > > ├── aarch64-linux > > │ ├── aarch64-xilinx-linux > > │ ├── bin > > │ └── x86_64-petalinux-linux > > └── aarch64-none > > ├── aarch64-xilinx-elf > > ├── bin > > └── x86_64-oesdk-linux > > > > The files in lin/aarch64-linux/bin (such as aarch64-linux-gnu-cpp) seem to > suggest for 21_2 the library output directories are ../aarch64-xilinx-linux > and searching the files seem to end up in usr/lib. > > > > Would it be a reasonable approach to modify > ./runtime/hdl-support/Xilinx/importSDKartifacts.sh to add usr/lib into > “places” at line 32, then create another variable for e.g. > OcpiCrossCompileLibraryOutput in ./runtime/hdl-support/Xilinx and pass this > to importSDKartifacts.sh as an extra parameter (which would be either set > as empty or the same as OcpiCrossCompile for versions < 21_2)? > > > > Obviously the error itself is a missing gdbserver; which doesn’t seem to > exist for the aarch64 target in Vitis 2021_2 as far as I can see. I did > see a comment on previous versions that gdbserver is deprecated and may be > removed in future versions of Vitis. > > > > Has anyone resolved this already? Are there any other big “gotchas” with > targeting 2021.2 as a rcc or vhdl platform? > > > > Kind regards > > *Gareth Cavaciuti* > > www.allenvanguard.com > > gareth.cavaciuti@allenvanguard.com > > > > > > > *Allen-Vanguard Corporation* > *IMPORTANT NOTICE*: > > This message is intended only for the use of the individual or entity to > which it is addressed. The message may contain information that is > privileged, confidential and exempt from disclosure under applicable law. > If the reader of this message is not the intended recipient, you are > notified that any dissemination, distribution or copying of this > communication is strictly prohibited. If you have received this > communication in error, please notify me immediately and delete it from > your system. This system and communications using this system are monitored > and recorded to secure its effective operation and for other lawful > business purposes. > _______________________________________________ > discuss mailing list -- discuss@lists.opencpi.org > To unsubscribe send an email to discuss-leave@lists.opencpi.org >
DW
Dominic Walters
Mon, May 22, 2023 7:23 PM

PSB: I suggest reading the comments on the !1015 MR.
You may encounter further kernel driver issues.

On Mon, May 22, 2023 at 8:20 PM Dominic Walters waltersdom@googlemail.com
wrote:

Hi Gareth,

An open MR for xilinx21_1 can be found here:
https://gitlab.com/opencpi/opencpi/-/merge_requests/1015

I'd suggest taking that and adapting it for xilinx21_2 if you want to
commit to it (it appears to fix the importSDKartifacts.sh issues).
I would however be very cautious about using newer Xilinx Tools and the
v2.5.0 branch.
Note: I can see that xilinx21_2 is listed in the 2.5.0 installation guide
but not the 2.4.6 one:
https://opencpi.gitlab.io/releases/v2.4.6/docs/OpenCPI_Installation_Guide.pdf
.

Other assorted ramblings:

The tracking issue for 2021.2 support is still open:
https://gitlab.com/opencpi/opencpi/-/issues/2608
I had a discussion on the following issue a few months back with somebody
asking about support for newer Xilinx versions:
https://gitlab.com/opencpi/opencpi/-/issues/3537
Here is my issue detailing some OS and Xilinx pairings that definitely
work: https://gitlab.com/opencpi/opencpi/-/issues/3520
I believe since then I did try several newer ones, but I don't appear to
have updated the issue.

Cheers,
D. Walters

On Mon, May 22, 2023 at 5:53 PM Gareth Cavaciuti <
Gareth.Cavaciuti@allenvanguard.com> wrote:

Hi

I’m using v2.5.0-beta.1 with Ubuntu 20.04.6LTS.

I thought from the install guide that Vivado/Vitis/Petalinux 2021.2 was a
supported combination.  I’d previously tried v2.4.6 with Ubuntu 18.04 and
2019.2 Xilinx tools but had an issue with “ocpiadmin install platform xsim”
and then subsequently saw some reports of compatibility issues at Ubuntu
18.04/Vivado 2019.2 combination.

So, I’ve subsequently tried 2021.2; xsim installs without error, but in
the v2.5.0-beta.1 there’s no folder
./projects/core/rcc/platforms/xilinx21_2_aarch64.  I tried creating by
looking at the differences between xilinx17_2_aarch64 and
xilinx19_2_aarch64, (so limited renaming from 19_2 to 21_2, and removal of
the alternative git tag in the 19_2).  After going round a loop of
re-running “make cleaneverything” and “./scripts/install-opencpi.h” then
trying to “ocpiadmin install platform xilinx21_2_aarch64” I get the process
eventually fails in ImportSDKartifacts.sh.

The platform is nonetheless visible with “ocpidev show rcc platforms”.

The last lines of the build are:-

make[1]: Leaving directory '/tools/Xilinx/git/linux-xlnx'


---==========================

Capturing the built Linux uImage file and the zynq device trees in
directory:
/home/gareth/opencpi/projects/core/rcc/platforms/xilinx21_2_aarch64/gen/kernel-artifacts


---==========================

Preparing the kernel-headers tree based on the built kernel.

Removing *.cmd

Removing x86_64 binaries

rm kernel-headers/scripts/kallsyms

rm kernel-headers/scripts/sorttable

rm kernel-headers/scripts/basic/fixdep

rm kernel-headers/scripts/asn1_compiler

rm kernel-headers/scripts/extract-cert

rm kernel-headers/scripts/kconfig/conf

rm kernel-headers/scripts/mod/mk_elfconfig

rm kernel-headers/scripts/mod/modpost

rm kernel-headers/scripts/dtc/dtc

Restoring source to removed binaries

Removing unused large headers

Creating the compressed archive for kernel headers

The kernel-headers has been created.

WARNING: Cannot locate libstdc++.so* in
/tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu
in any of these dirs below: libc/lib libc/usr/lib lib

WARNING: Cannot locate libgcc_s.so* in
/tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu
in any of these dirs below: libc/lib libc/usr/lib lib

WARNING: Cannot locate ld-.so in
/tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu
in any of these dirs below: libc/lib libc/usr/lib lib

WARNING: Cannot locate libpthread*.so* in
/tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu
in any of these dirs below: libc/lib libc/usr/lib lib

cp: cannot stat
'/tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/gdbserver':
No such file or directory

make: *** [/home/gareth/opencpi/cdk/include/xilinx/
xilinx-rcc-platform.mk:109: gen/sdk-artifacts.done] Error 1

make: Leaving directory
'/home/gareth/opencpi/projects/core/rcc/platforms/xilinx21_2_aarch64'

ocpidev show rcc platforms


| Platform          | Package-ID                  | Target
|

| ------------------ | ---------------------------- | -------------------
|

| macos11_4          | ocpi.core.macos11_4          | macos-11_4-x86_64
|

| macos11_3          | ocpi.core.macos11_3          | macos-11_3-x86_64
|

| macos12_5          | ocpi.core.macos12_5          | macos-12_5-x86_64
|

| xilinx13_3        | ocpi.core.xilinx13_3        | linux-x13_3-arm
|

| macos12_3          | ocpi.core.macos12_3          | macos-12_3-x86_64
|

| macos13_0          | ocpi.core.macos13_0          | macos-13_0-x86_64
|

| macos12_1          | ocpi.core.macos12_1          | macos-12_1-x86_64
|

| xilinx19_2_aarch64 | ocpi.core.xilinx19_2_aarch64 | linux-19_2-aarch64
|

| macos13_1          | ocpi.core.macos13_1          | macos-13_1-x86_64
|

| macos12_0          | ocpi.core.macos12_0          | macos-12_0-x86_64
|

| macos10_15        | ocpi.core.macos10_15        | macos-10_15-x86_64
|

| macos10_14        | ocpi.core.macos10_14        | macos-10_14-x86_64
|

| ubuntu18_04        | ocpi.core.ubuntu18_04        | linux-u18_04-x86_64
|

| macos12_6          | ocpi.core.macos12_6          | macos-12_6-x86_64
|

| xilinx13_4        | ocpi.core.xilinx13_4        | linux-x13_4-arm
|

| xilinx17_1_aarch32 | ocpi.core.xilinx17_1_aarch32 | linux-17_1-aarch32
|

| ubuntu20_04        | ocpi.core.ubuntu20_04        | linux-u20_04-x86_64
|

| centos8            | ocpi.core.centos8            | linux-c8-x86_64
|

| xilinx17_2_aarch64 | ocpi.core.xilinx17_2_aarch64 | linux-17_2-aarch64
|

| mint21_1          | ocpi.core.mint21_1          | linux-m21_1-x86_64
|

| xilinx21_2_aarch64 | ocpi.core.xilinx21_2_aarch64 | linux-21_2-aarch64
|

| macos11_1          | ocpi.core.macos11_1          | macos-11_1-x86_64
|

| xilinx13_4_arm    | ocpi.core.xilinx13_4_arm    | linux-13_4-arm
|

| macos11_5          | ocpi.core.macos11_5          | macos-11_5-x86_64
|

| macos11_6          | ocpi.core.macos11_6          | macos-11_6-x86_64
|

| macos11_2          | ocpi.core.macos11_2          | macos-11_2-x86_64
|

| xilinx17_1_aarch64 | ocpi.core.xilinx17_1_aarch64 | linux-17_1-aarch64
|

| ubuntu22_04        | ocpi.core.ubuntu22_04        | linux-u22_04-x86_64
|

| xilinx19_2_aarch32 | ocpi.core.xilinx19_2_aarch32 | linux-19_2-aarch32
|

| rocky8            | ocpi.core.rocky8            | linux-r8-x86_64
|

| macos12_2          | ocpi.core.macos12_2          | macos-12_2-x86_64
|

| xilinx17_2_aarch32 | ocpi.core.xilinx17_2_aarch32 | linux-17_2-aarch32
|

| macos10_13        | ocpi.core.macos10_13        | macos-10_13-x86_64
|

| macos12_4          | ocpi.core.macos12_4          | macos-12_4-x86_64
|

| centos7            | ocpi.core.centos7            | linux-c7-x86_64
|

| xilinx18_3_aarch64 | ocpi.core.xilinx18_3_aarch64 | linux-18_3-aarch64
|


The Vitis folder structure around where the copy is failing is:-

/tools/Xilinx/Vitis/2021.2/gnu/aarch64

└── lin

 ├── aarch64-linux

 │   ├── aarch64-xilinx-linux

 │   ├── bin

 │   └── x86_64-petalinux-linux

 └── aarch64-none

     ├── aarch64-xilinx-elf

     ├── bin

     └── x86_64-oesdk-linux

The files in lin/aarch64-linux/bin (such as aarch64-linux-gnu-cpp) seem
to suggest for 21_2 the library output directories are
../aarch64-xilinx-linux and searching the files seem to end up in usr/lib.

Would it be a reasonable approach to modify
./runtime/hdl-support/Xilinx/importSDKartifacts.sh to add usr/lib into
“places” at line 32, then create another variable for e.g.
OcpiCrossCompileLibraryOutput in ./runtime/hdl-support/Xilinx and pass this
to importSDKartifacts.sh as an extra parameter (which would be either set
as empty or the same as OcpiCrossCompile for versions < 21_2)?

Obviously the error itself is a missing gdbserver; which doesn’t seem to
exist for the aarch64 target in Vitis 2021_2 as far as I can see.  I did
see a comment on previous versions that gdbserver is deprecated and may be
removed in future versions of Vitis.

Has anyone resolved this already?  Are there any other big “gotchas” with
targeting 2021.2 as a rcc or vhdl platform?

Kind regards

Gareth Cavaciuti

www.allenvanguard.com

gareth.cavaciuti@allenvanguard.com

Allen-Vanguard Corporation
IMPORTANT NOTICE:

This message is intended only for the use of the individual or entity to
which it is addressed. The message may contain information that is
privileged, confidential and exempt from disclosure under applicable law.
If the reader of this message is not the intended recipient, you are
notified that any dissemination, distribution or copying of this
communication is strictly prohibited. If you have received this
communication in error, please notify me immediately and delete it from
your system. This system and communications using this system are monitored
and recorded to secure its effective operation and for other lawful
business purposes.


discuss mailing list -- discuss@lists.opencpi.org
To unsubscribe send an email to discuss-leave@lists.opencpi.org

PSB: I suggest reading the comments on the !1015 MR. You may encounter further kernel driver issues. On Mon, May 22, 2023 at 8:20 PM Dominic Walters <waltersdom@googlemail.com> wrote: > Hi Gareth, > > An open MR for xilinx21_1 can be found here: > https://gitlab.com/opencpi/opencpi/-/merge_requests/1015 > > I'd suggest taking that and adapting it for xilinx21_2 if you want to > commit to it (it appears to fix the `importSDKartifacts.sh` issues). > I would however be very cautious about using newer Xilinx Tools and the > v2.5.0 branch. > Note: I can see that xilinx21_2 is listed in the 2.5.0 installation guide > but not the 2.4.6 one: > https://opencpi.gitlab.io/releases/v2.4.6/docs/OpenCPI_Installation_Guide.pdf > . > > Other assorted ramblings: > > The tracking issue for 2021.2 support is still open: > https://gitlab.com/opencpi/opencpi/-/issues/2608 > I had a discussion on the following issue a few months back with somebody > asking about support for newer Xilinx versions: > https://gitlab.com/opencpi/opencpi/-/issues/3537 > Here is my issue detailing some OS and Xilinx pairings that definitely > work: https://gitlab.com/opencpi/opencpi/-/issues/3520 > I believe since then I did try several newer ones, but I don't appear to > have updated the issue. > > Cheers, > D. Walters > > On Mon, May 22, 2023 at 5:53 PM Gareth Cavaciuti < > Gareth.Cavaciuti@allenvanguard.com> wrote: > >> Hi >> >> I’m using v2.5.0-beta.1 with Ubuntu 20.04.6LTS. >> >> >> >> I thought from the install guide that Vivado/Vitis/Petalinux 2021.2 was a >> supported combination. I’d previously tried v2.4.6 with Ubuntu 18.04 and >> 2019.2 Xilinx tools but had an issue with “ocpiadmin install platform xsim” >> and then subsequently saw some reports of compatibility issues at Ubuntu >> 18.04/Vivado 2019.2 combination. >> >> >> >> So, I’ve subsequently tried 2021.2; xsim installs without error, but in >> the v2.5.0-beta.1 there’s no folder >> ./projects/core/rcc/platforms/xilinx21_2_aarch64. I tried creating by >> looking at the differences between xilinx17_2_aarch64 and >> xilinx19_2_aarch64, (so limited renaming from 19_2 to 21_2, and removal of >> the alternative git tag in the 19_2). After going round a loop of >> re-running “make cleaneverything” and “./scripts/install-opencpi.h” then >> trying to “ocpiadmin install platform xilinx21_2_aarch64” I get the process >> eventually fails in ImportSDKartifacts.sh. >> >> >> >> The platform is nonetheless visible with “ocpidev show rcc platforms”. >> >> >> >> >> >> >> >> The last lines of the build are:- >> >> make[1]: Leaving directory '/tools/Xilinx/git/linux-xlnx' >> >> >> ============================================================================================ >> >> Capturing the built Linux uImage file and the zynq device trees in >> directory: >> /home/gareth/opencpi/projects/core/rcc/platforms/xilinx21_2_aarch64/gen/kernel-artifacts >> >> >> ============================================================================================ >> >> Preparing the kernel-headers tree based on the built kernel. >> >> Removing *.cmd >> >> Removing x86_64 binaries >> >> rm kernel-headers/scripts/kallsyms >> >> rm kernel-headers/scripts/sorttable >> >> rm kernel-headers/scripts/basic/fixdep >> >> rm kernel-headers/scripts/asn1_compiler >> >> rm kernel-headers/scripts/extract-cert >> >> rm kernel-headers/scripts/kconfig/conf >> >> rm kernel-headers/scripts/mod/mk_elfconfig >> >> rm kernel-headers/scripts/mod/modpost >> >> rm kernel-headers/scripts/dtc/dtc >> >> Restoring source to removed binaries >> >> Removing unused large headers >> >> Creating the compressed archive for kernel headers >> >> The kernel-headers has been created. >> >> WARNING: Cannot locate libstdc++.so* in >> /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu >> in any of these dirs below: libc/lib libc/usr/lib lib >> >> WARNING: Cannot locate libgcc_s.so* in >> /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu >> in any of these dirs below: libc/lib libc/usr/lib lib >> >> WARNING: Cannot locate ld-*.so* in >> /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu >> in any of these dirs below: libc/lib libc/usr/lib lib >> >> WARNING: Cannot locate libpthread*.so* in >> /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu >> in any of these dirs below: libc/lib libc/usr/lib lib >> >> cp: cannot stat >> '/tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/gdbserver': >> No such file or directory >> >> make: *** [/home/gareth/opencpi/cdk/include/xilinx/ >> xilinx-rcc-platform.mk:109: gen/sdk-artifacts.done] Error 1 >> >> make: Leaving directory >> '/home/gareth/opencpi/projects/core/rcc/platforms/xilinx21_2_aarch64' >> >> >> >> ocpidev show rcc platforms >> >> >> --------------------------------------------------------------------------- >> >> | Platform | Package-ID | Target >> | >> >> | ------------------ | ---------------------------- | ------------------- >> | >> >> | macos11_4 | ocpi.core.macos11_4 | macos-11_4-x86_64 >> | >> >> | macos11_3 | ocpi.core.macos11_3 | macos-11_3-x86_64 >> | >> >> | macos12_5 | ocpi.core.macos12_5 | macos-12_5-x86_64 >> | >> >> | xilinx13_3 | ocpi.core.xilinx13_3 | linux-x13_3-arm >> | >> >> | macos12_3 | ocpi.core.macos12_3 | macos-12_3-x86_64 >> | >> >> | macos13_0 | ocpi.core.macos13_0 | macos-13_0-x86_64 >> | >> >> | macos12_1 | ocpi.core.macos12_1 | macos-12_1-x86_64 >> | >> >> | xilinx19_2_aarch64 | ocpi.core.xilinx19_2_aarch64 | linux-19_2-aarch64 >> | >> >> | macos13_1 | ocpi.core.macos13_1 | macos-13_1-x86_64 >> | >> >> | macos12_0 | ocpi.core.macos12_0 | macos-12_0-x86_64 >> | >> >> | macos10_15 | ocpi.core.macos10_15 | macos-10_15-x86_64 >> | >> >> | macos10_14 | ocpi.core.macos10_14 | macos-10_14-x86_64 >> | >> >> | ubuntu18_04 | ocpi.core.ubuntu18_04 | linux-u18_04-x86_64 >> | >> >> | macos12_6 | ocpi.core.macos12_6 | macos-12_6-x86_64 >> | >> >> | xilinx13_4 | ocpi.core.xilinx13_4 | linux-x13_4-arm >> | >> >> | xilinx17_1_aarch32 | ocpi.core.xilinx17_1_aarch32 | linux-17_1-aarch32 >> | >> >> | ubuntu20_04 | ocpi.core.ubuntu20_04 | linux-u20_04-x86_64 >> | >> >> | centos8 | ocpi.core.centos8 | linux-c8-x86_64 >> | >> >> | xilinx17_2_aarch64 | ocpi.core.xilinx17_2_aarch64 | linux-17_2-aarch64 >> | >> >> | mint21_1 | ocpi.core.mint21_1 | linux-m21_1-x86_64 >> | >> >> | xilinx21_2_aarch64 | ocpi.core.xilinx21_2_aarch64 | linux-21_2-aarch64 >> | >> >> | macos11_1 | ocpi.core.macos11_1 | macos-11_1-x86_64 >> | >> >> | xilinx13_4_arm | ocpi.core.xilinx13_4_arm | linux-13_4-arm >> | >> >> | macos11_5 | ocpi.core.macos11_5 | macos-11_5-x86_64 >> | >> >> | macos11_6 | ocpi.core.macos11_6 | macos-11_6-x86_64 >> | >> >> | macos11_2 | ocpi.core.macos11_2 | macos-11_2-x86_64 >> | >> >> | xilinx17_1_aarch64 | ocpi.core.xilinx17_1_aarch64 | linux-17_1-aarch64 >> | >> >> | ubuntu22_04 | ocpi.core.ubuntu22_04 | linux-u22_04-x86_64 >> | >> >> | xilinx19_2_aarch32 | ocpi.core.xilinx19_2_aarch32 | linux-19_2-aarch32 >> | >> >> | rocky8 | ocpi.core.rocky8 | linux-r8-x86_64 >> | >> >> | macos12_2 | ocpi.core.macos12_2 | macos-12_2-x86_64 >> | >> >> | xilinx17_2_aarch32 | ocpi.core.xilinx17_2_aarch32 | linux-17_2-aarch32 >> | >> >> | macos10_13 | ocpi.core.macos10_13 | macos-10_13-x86_64 >> | >> >> | macos12_4 | ocpi.core.macos12_4 | macos-12_4-x86_64 >> | >> >> | centos7 | ocpi.core.centos7 | linux-c7-x86_64 >> | >> >> | xilinx18_3_aarch64 | ocpi.core.xilinx18_3_aarch64 | linux-18_3-aarch64 >> | >> >> >> --------------------------------------------------------------------------- >> >> >> >> The Vitis folder structure around where the copy is failing is:- >> >> /tools/Xilinx/Vitis/2021.2/gnu/aarch64 >> >> └── lin >> >> ├── aarch64-linux >> >> │ ├── aarch64-xilinx-linux >> >> │ ├── bin >> >> │ └── x86_64-petalinux-linux >> >> └── aarch64-none >> >> ├── aarch64-xilinx-elf >> >> ├── bin >> >> └── x86_64-oesdk-linux >> >> >> >> The files in lin/aarch64-linux/bin (such as aarch64-linux-gnu-cpp) seem >> to suggest for 21_2 the library output directories are >> ../aarch64-xilinx-linux and searching the files seem to end up in usr/lib. >> >> >> >> Would it be a reasonable approach to modify >> ./runtime/hdl-support/Xilinx/importSDKartifacts.sh to add usr/lib into >> “places” at line 32, then create another variable for e.g. >> OcpiCrossCompileLibraryOutput in ./runtime/hdl-support/Xilinx and pass this >> to importSDKartifacts.sh as an extra parameter (which would be either set >> as empty or the same as OcpiCrossCompile for versions < 21_2)? >> >> >> >> Obviously the error itself is a missing gdbserver; which doesn’t seem to >> exist for the aarch64 target in Vitis 2021_2 as far as I can see. I did >> see a comment on previous versions that gdbserver is deprecated and may be >> removed in future versions of Vitis. >> >> >> >> Has anyone resolved this already? Are there any other big “gotchas” with >> targeting 2021.2 as a rcc or vhdl platform? >> >> >> >> Kind regards >> >> *Gareth Cavaciuti* >> >> www.allenvanguard.com >> >> gareth.cavaciuti@allenvanguard.com >> >> >> >> >> >> >> *Allen-Vanguard Corporation* >> *IMPORTANT NOTICE*: >> >> This message is intended only for the use of the individual or entity to >> which it is addressed. The message may contain information that is >> privileged, confidential and exempt from disclosure under applicable law. >> If the reader of this message is not the intended recipient, you are >> notified that any dissemination, distribution or copying of this >> communication is strictly prohibited. If you have received this >> communication in error, please notify me immediately and delete it from >> your system. This system and communications using this system are monitored >> and recorded to secure its effective operation and for other lawful >> business purposes. >> _______________________________________________ >> discuss mailing list -- discuss@lists.opencpi.org >> To unsubscribe send an email to discuss-leave@lists.opencpi.org >> >
GC
Gareth Cavaciuti
Tue, May 23, 2023 4:12 PM

Hi Dominic
Thanks for the replies.  I’ve got Vitis 2020.2 on another machine and it looks like the same directory structure as 2021.2 (and no gdbserver for target).  Whilst the file locations is easily managed, the threat of issues with the kernel driver is enough to push me to move to Centos at least for the time being.

Thanks
Gareth

From: Dominic Walters waltersdom@googlemail.com
Sent: 22 May 2023 20:24
To: Gareth Cavaciuti Gareth.Cavaciuti@allenvanguard.com
Cc: discuss@lists.opencpi.org
Subject: Re: [Discuss OpenCPI] Attempting to install 2021.2 Xilinx tools

PSB: I suggest reading the comments on the !1015 MR.
You may encounter further kernel driver issues.

On Mon, May 22, 2023 at 8:20 PM Dominic Walters <waltersdom@googlemail.commailto:waltersdom@googlemail.com> wrote:
Hi Gareth,

An open MR for xilinx21_1 can be found here: https://gitlab.com/opencpi/opencpi/-/merge_requests/1015

I'd suggest taking that and adapting it for xilinx21_2 if you want to commit to it (it appears to fix the importSDKartifacts.sh issues).
I would however be very cautious about using newer Xilinx Tools and the v2.5.0 branch.
Note: I can see that xilinx21_2 is listed in the 2.5.0 installation guide but not the 2.4.6 one: https://opencpi.gitlab.io/releases/v2.4.6/docs/OpenCPI_Installation_Guide.pdf.

Other assorted ramblings:

The tracking issue for 2021.2 support is still open: https://gitlab.com/opencpi/opencpi/-/issues/2608
I had a discussion on the following issue a few months back with somebody asking about support for newer Xilinx versions: https://gitlab.com/opencpi/opencpi/-/issues/3537
Here is my issue detailing some OS and Xilinx pairings that definitely work: https://gitlab.com/opencpi/opencpi/-/issues/3520
I believe since then I did try several newer ones, but I don't appear to have updated the issue.

Cheers,
D. Walters

On Mon, May 22, 2023 at 5:53 PM Gareth Cavaciuti <Gareth.Cavaciuti@allenvanguard.commailto:Gareth.Cavaciuti@allenvanguard.com> wrote:
Hi
I’m using v2.5.0-beta.1 with Ubuntu 20.04.6LTS.

I thought from the install guide that Vivado/Vitis/Petalinux 2021.2 was a supported combination.  I’d previously tried v2.4.6 with Ubuntu 18.04 and 2019.2 Xilinx tools but had an issue with “ocpiadmin install platform xsim” and then subsequently saw some reports of compatibility issues at Ubuntu 18.04/Vivado 2019.2 combination.

So, I’ve subsequently tried 2021.2; xsim installs without error, but in the v2.5.0-beta.1 there’s no folder ./projects/core/rcc/platforms/xilinx21_2_aarch64.  I tried creating by looking at the differences between xilinx17_2_aarch64 and xilinx19_2_aarch64, (so limited renaming from 19_2 to 21_2, and removal of the alternative git tag in the 19_2).  After going round a loop of re-running “make cleaneverything” and “./scripts/install-opencpi.h” then trying to “ocpiadmin install platform xilinx21_2_aarch64” I get the process eventually fails in ImportSDKartifacts.sh.

The platform is nonetheless visible with “ocpidev show rcc platforms”.

The last lines of the build are:-
make[1]: Leaving directory '/tools/Xilinx/git/linux-xlnx'


---==========================
Capturing the built Linux uImage file and the zynq device trees in directory: /home/gareth/opencpi/projects/core/rcc/platforms/xilinx21_2_aarch64/gen/kernel-artifacts


---==========================
Preparing the kernel-headers tree based on the built kernel.
Removing .cmd
Removing x86_64 binaries
rm kernel-headers/scripts/kallsyms
rm kernel-headers/scripts/sorttable
rm kernel-headers/scripts/basic/fixdep
rm kernel-headers/scripts/asn1_compiler
rm kernel-headers/scripts/extract-cert
rm kernel-headers/scripts/kconfig/conf
rm kernel-headers/scripts/mod/mk_elfconfig
rm kernel-headers/scripts/mod/modpost
rm kernel-headers/scripts/dtc/dtc
Restoring source to removed binaries
Removing unused large headers
Creating the compressed archive for kernel headers
The kernel-headers has been created.
WARNING: Cannot locate libstdc++.so
in /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu in any of these dirs below: libc/lib libc/usr/lib lib
WARNING: Cannot locate libgcc_s.so* in /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu in any of these dirs below: libc/lib libc/usr/lib lib
WARNING: Cannot locate ld-.so in /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu in any of these dirs below: libc/lib libc/usr/lib lib
WARNING: Cannot locate libpthread*.so* in /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu in any of these dirs below: libc/lib libc/usr/lib lib
cp: cannot stat '/tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/gdbserver': No such file or directory
make: *** [/home/gareth/opencpi/cdk/include/xilinx/xilinx-rcc-platform.mk:109https://gw3062.fortimail.com/fmlurlsvc/?fewReq=:B:JVs5MjU3OSV1PjEtMyVqZz4zMjkzMiVwamRtYnd2cWY+ZzQ0NDpiNzFhN2dhNjFlYGU7YDBhZWVhZWY0YmZgNWdiYjUyZmE6MiV3PjI1Ozc0OzA3NjMlcmpnPjA3TklMO2VrMzM0OzE6LjA3TklMO2VpMzM0OzE6JXFgc3c+RGJxZndrLUBidWJganZ3akNib29mbXVibWR2YnFnLWBsbiVgPjozJWtnbz4z&url=http%3a%2f%2fxilinx-rcc-platform.mk%3a109: gen/sdk-artifacts.done] Error 1
make: Leaving directory '/home/gareth/opencpi/projects/core/rcc/platforms/xilinx21_2_aarch64'

ocpidev show rcc platforms

| Platform          | Package-ID                  | Target              |
| ------------------ | ---------------------------- | ------------------- |
| macos11_4          | ocpi.core.macos11_4          | macos-11_4-x86_64  |
| macos11_3          | ocpi.core.macos11_3          | macos-11_3-x86_64  |
| macos12_5          | ocpi.core.macos12_5          | macos-12_5-x86_64  |
| xilinx13_3        | ocpi.core.xilinx13_3        | linux-x13_3-arm    |
| macos12_3          | ocpi.core.macos12_3          | macos-12_3-x86_64  |
| macos13_0          | ocpi.core.macos13_0          | macos-13_0-x86_64  |
| macos12_1          | ocpi.core.macos12_1          | macos-12_1-x86_64  |
| xilinx19_2_aarch64 | ocpi.core.xilinx19_2_aarch64 | linux-19_2-aarch64  |
| macos13_1          | ocpi.core.macos13_1          | macos-13_1-x86_64  |
| macos12_0          | ocpi.core.macos12_0          | macos-12_0-x86_64  |
| macos10_15        | ocpi.core.macos10_15        | macos-10_15-x86_64  |
| macos10_14        | ocpi.core.macos10_14        | macos-10_14-x86_64  |
| ubuntu18_04        | ocpi.core.ubuntu18_04        | linux-u18_04-x86_64 |
| macos12_6          | ocpi.core.macos12_6          | macos-12_6-x86_64  |
| xilinx13_4        | ocpi.core.xilinx13_4        | linux-x13_4-arm    |
| xilinx17_1_aarch32 | ocpi.core.xilinx17_1_aarch32 | linux-17_1-aarch32  |
| ubuntu20_04        | ocpi.core.ubuntu20_04        | linux-u20_04-x86_64 |
| centos8            | ocpi.core.centos8            | linux-c8-x86_64    |
| xilinx17_2_aarch64 | ocpi.core.xilinx17_2_aarch64 | linux-17_2-aarch64  |
| mint21_1          | ocpi.core.mint21_1          | linux-m21_1-x86_64  |
| xilinx21_2_aarch64 | ocpi.core.xilinx21_2_aarch64 | linux-21_2-aarch64  |
| macos11_1          | ocpi.core.macos11_1          | macos-11_1-x86_64  |
| xilinx13_4_arm    | ocpi.core.xilinx13_4_arm    | linux-13_4-arm      |
| macos11_5          | ocpi.core.macos11_5          | macos-11_5-x86_64  |
| macos11_6          | ocpi.core.macos11_6          | macos-11_6-x86_64  |
| macos11_2          | ocpi.core.macos11_2          | macos-11_2-x86_64  |
| xilinx17_1_aarch64 | ocpi.core.xilinx17_1_aarch64 | linux-17_1-aarch64  |
| ubuntu22_04        | ocpi.core.ubuntu22_04        | linux-u22_04-x86_64 |
| xilinx19_2_aarch32 | ocpi.core.xilinx19_2_aarch32 | linux-19_2-aarch32  |
| rocky8            | ocpi.core.rocky8            | linux-r8-x86_64    |
| macos12_2          | ocpi.core.macos12_2          | macos-12_2-x86_64  |
| xilinx17_2_aarch32 | ocpi.core.xilinx17_2_aarch32 | linux-17_2-aarch32  |
| macos10_13        | ocpi.core.macos10_13        | macos-10_13-x86_64  |
| macos12_4          | ocpi.core.macos12_4          | macos-12_4-x86_64  |
| centos7            | ocpi.core.centos7            | linux-c7-x86_64    |
| xilinx18_3_aarch64 | ocpi.core.xilinx18_3_aarch64 | linux-18_3-aarch64  |

The Vitis folder structure around where the copy is failing is:-
/tools/Xilinx/Vitis/2021.2/gnu/aarch64
└── lin
├── aarch64-linux
│  ├── aarch64-xilinx-linux
│  ├── bin
│  └── x86_64-petalinux-linux
└── aarch64-none
├── aarch64-xilinx-elf
├── bin
└── x86_64-oesdk-linux

The files in lin/aarch64-linux/bin (such as aarch64-linux-gnu-cpp) seem to suggest for 21_2 the library output directories are ../aarch64-xilinx-linux and searching the files seem to end up in usr/lib.

Would it be a reasonable approach to modify ./runtime/hdl-support/Xilinx/importSDKartifacts.sh to add usr/lib into “places” at line 32, then create another variable for e.g. OcpiCrossCompileLibraryOutput in ./runtime/hdl-support/Xilinx and pass this to importSDKartifacts.sh as an extra parameter (which would be either set as empty or the same as OcpiCrossCompile for versions < 21_2)?

Obviously the error itself is a missing gdbserver; which doesn’t seem to exist for the aarch64 target in Vitis 2021_2 as far as I can see.  I did see a comment on previous versions that gdbserver is deprecated and may be removed in future versions of Vitis.

Has anyone resolved this already?  Are there any other big “gotchas” with targeting 2021.2 as a rcc or vhdl platform?

Kind regards
Gareth Cavaciuti
www.allenvanguard.comhttp://www.allenvanguard.com/
gareth.cavaciuti@allenvanguard.commailto:gareth.cavaciuti@allenvanguard.com

Allen-Vanguard Corporation
IMPORTANT NOTICE:

This message is intended only for the use of the individual or entity to which it is addressed. The message may contain information that is privileged, confidential and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, you are notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify me immediately and delete it from your system. This system and communications using this system are monitored and recorded to secure its effective operation and for other lawful business purposes.


discuss mailing list -- discuss@lists.opencpi.orgmailto:discuss@lists.opencpi.org
To unsubscribe send an email to discuss-leave@lists.opencpi.orgmailto:discuss-leave@lists.opencpi.org

Allen-Vanguard Corporation
IMPORTANT NOTICE:

This message is intended only for the use of the individual or entity to which it is addressed. The message may contain information that is privileged, confidential and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, you are notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify me immediately and delete it from your system. This system and communications using this system are monitored and recorded to secure its effective operation and for other lawful business purposes.

Hi Dominic Thanks for the replies. I’ve got Vitis 2020.2 on another machine and it looks like the same directory structure as 2021.2 (and no gdbserver for target). Whilst the file locations is easily managed, the threat of issues with the kernel driver is enough to push me to move to Centos at least for the time being. Thanks Gareth From: Dominic Walters <waltersdom@googlemail.com> Sent: 22 May 2023 20:24 To: Gareth Cavaciuti <Gareth.Cavaciuti@allenvanguard.com> Cc: discuss@lists.opencpi.org Subject: Re: [Discuss OpenCPI] Attempting to install 2021.2 Xilinx tools PSB: I suggest reading the comments on the !1015 MR. You may encounter further kernel driver issues. On Mon, May 22, 2023 at 8:20 PM Dominic Walters <waltersdom@googlemail.com<mailto:waltersdom@googlemail.com>> wrote: Hi Gareth, An open MR for xilinx21_1 can be found here: https://gitlab.com/opencpi/opencpi/-/merge_requests/1015 I'd suggest taking that and adapting it for xilinx21_2 if you want to commit to it (it appears to fix the `importSDKartifacts.sh` issues). I would however be very cautious about using newer Xilinx Tools and the v2.5.0 branch. Note: I can see that xilinx21_2 is listed in the 2.5.0 installation guide but not the 2.4.6 one: https://opencpi.gitlab.io/releases/v2.4.6/docs/OpenCPI_Installation_Guide.pdf. Other assorted ramblings: The tracking issue for 2021.2 support is still open: https://gitlab.com/opencpi/opencpi/-/issues/2608 I had a discussion on the following issue a few months back with somebody asking about support for newer Xilinx versions: https://gitlab.com/opencpi/opencpi/-/issues/3537 Here is my issue detailing some OS and Xilinx pairings that definitely work: https://gitlab.com/opencpi/opencpi/-/issues/3520 I believe since then I did try several newer ones, but I don't appear to have updated the issue. Cheers, D. Walters On Mon, May 22, 2023 at 5:53 PM Gareth Cavaciuti <Gareth.Cavaciuti@allenvanguard.com<mailto:Gareth.Cavaciuti@allenvanguard.com>> wrote: Hi I’m using v2.5.0-beta.1 with Ubuntu 20.04.6LTS. I thought from the install guide that Vivado/Vitis/Petalinux 2021.2 was a supported combination. I’d previously tried v2.4.6 with Ubuntu 18.04 and 2019.2 Xilinx tools but had an issue with “ocpiadmin install platform xsim” and then subsequently saw some reports of compatibility issues at Ubuntu 18.04/Vivado 2019.2 combination. So, I’ve subsequently tried 2021.2; xsim installs without error, but in the v2.5.0-beta.1 there’s no folder ./projects/core/rcc/platforms/xilinx21_2_aarch64. I tried creating by looking at the differences between xilinx17_2_aarch64 and xilinx19_2_aarch64, (so limited renaming from 19_2 to 21_2, and removal of the alternative git tag in the 19_2). After going round a loop of re-running “make cleaneverything” and “./scripts/install-opencpi.h” then trying to “ocpiadmin install platform xilinx21_2_aarch64” I get the process eventually fails in ImportSDKartifacts.sh. The platform is nonetheless visible with “ocpidev show rcc platforms”. The last lines of the build are:- make[1]: Leaving directory '/tools/Xilinx/git/linux-xlnx' ============================================================================================ Capturing the built Linux uImage file and the zynq device trees in directory: /home/gareth/opencpi/projects/core/rcc/platforms/xilinx21_2_aarch64/gen/kernel-artifacts ============================================================================================ Preparing the kernel-headers tree based on the built kernel. Removing *.cmd Removing x86_64 binaries rm kernel-headers/scripts/kallsyms rm kernel-headers/scripts/sorttable rm kernel-headers/scripts/basic/fixdep rm kernel-headers/scripts/asn1_compiler rm kernel-headers/scripts/extract-cert rm kernel-headers/scripts/kconfig/conf rm kernel-headers/scripts/mod/mk_elfconfig rm kernel-headers/scripts/mod/modpost rm kernel-headers/scripts/dtc/dtc Restoring source to removed binaries Removing unused large headers Creating the compressed archive for kernel headers The kernel-headers has been created. WARNING: Cannot locate libstdc++.so* in /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu in any of these dirs below: libc/lib libc/usr/lib lib WARNING: Cannot locate libgcc_s.so* in /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu in any of these dirs below: libc/lib libc/usr/lib lib WARNING: Cannot locate ld-*.so* in /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu in any of these dirs below: libc/lib libc/usr/lib lib WARNING: Cannot locate libpthread*.so* in /tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/../aarch64-linux-gnu in any of these dirs below: libc/lib libc/usr/lib lib cp: cannot stat '/tools/Xilinx/Vitis/2021.2/gnu/aarch64/lin/aarch64-linux/bin/gdbserver': No such file or directory make: *** [/home/gareth/opencpi/cdk/include/xilinx/xilinx-rcc-platform.mk:109<https://gw3062.fortimail.com/fmlurlsvc/?fewReq=:B:JVs5MjU3OSV1PjEtMyVqZz4zMjkzMiVwamRtYnd2cWY+ZzQ0NDpiNzFhN2dhNjFlYGU7YDBhZWVhZWY0YmZgNWdiYjUyZmE6MiV3PjI1Ozc0OzA3NjMlcmpnPjA3TklMO2VrMzM0OzE6LjA3TklMO2VpMzM0OzE6JXFgc3c+RGJxZndrLUBidWJganZ3akNib29mbXVibWR2YnFnLWBsbiVgPjozJWtnbz4z&url=http%3a%2f%2fxilinx-rcc-platform.mk%3a109>: gen/sdk-artifacts.done] Error 1 make: Leaving directory '/home/gareth/opencpi/projects/core/rcc/platforms/xilinx21_2_aarch64' ocpidev show rcc platforms --------------------------------------------------------------------------- | Platform | Package-ID | Target | | ------------------ | ---------------------------- | ------------------- | | macos11_4 | ocpi.core.macos11_4 | macos-11_4-x86_64 | | macos11_3 | ocpi.core.macos11_3 | macos-11_3-x86_64 | | macos12_5 | ocpi.core.macos12_5 | macos-12_5-x86_64 | | xilinx13_3 | ocpi.core.xilinx13_3 | linux-x13_3-arm | | macos12_3 | ocpi.core.macos12_3 | macos-12_3-x86_64 | | macos13_0 | ocpi.core.macos13_0 | macos-13_0-x86_64 | | macos12_1 | ocpi.core.macos12_1 | macos-12_1-x86_64 | | xilinx19_2_aarch64 | ocpi.core.xilinx19_2_aarch64 | linux-19_2-aarch64 | | macos13_1 | ocpi.core.macos13_1 | macos-13_1-x86_64 | | macos12_0 | ocpi.core.macos12_0 | macos-12_0-x86_64 | | macos10_15 | ocpi.core.macos10_15 | macos-10_15-x86_64 | | macos10_14 | ocpi.core.macos10_14 | macos-10_14-x86_64 | | ubuntu18_04 | ocpi.core.ubuntu18_04 | linux-u18_04-x86_64 | | macos12_6 | ocpi.core.macos12_6 | macos-12_6-x86_64 | | xilinx13_4 | ocpi.core.xilinx13_4 | linux-x13_4-arm | | xilinx17_1_aarch32 | ocpi.core.xilinx17_1_aarch32 | linux-17_1-aarch32 | | ubuntu20_04 | ocpi.core.ubuntu20_04 | linux-u20_04-x86_64 | | centos8 | ocpi.core.centos8 | linux-c8-x86_64 | | xilinx17_2_aarch64 | ocpi.core.xilinx17_2_aarch64 | linux-17_2-aarch64 | | mint21_1 | ocpi.core.mint21_1 | linux-m21_1-x86_64 | | xilinx21_2_aarch64 | ocpi.core.xilinx21_2_aarch64 | linux-21_2-aarch64 | | macos11_1 | ocpi.core.macos11_1 | macos-11_1-x86_64 | | xilinx13_4_arm | ocpi.core.xilinx13_4_arm | linux-13_4-arm | | macos11_5 | ocpi.core.macos11_5 | macos-11_5-x86_64 | | macos11_6 | ocpi.core.macos11_6 | macos-11_6-x86_64 | | macos11_2 | ocpi.core.macos11_2 | macos-11_2-x86_64 | | xilinx17_1_aarch64 | ocpi.core.xilinx17_1_aarch64 | linux-17_1-aarch64 | | ubuntu22_04 | ocpi.core.ubuntu22_04 | linux-u22_04-x86_64 | | xilinx19_2_aarch32 | ocpi.core.xilinx19_2_aarch32 | linux-19_2-aarch32 | | rocky8 | ocpi.core.rocky8 | linux-r8-x86_64 | | macos12_2 | ocpi.core.macos12_2 | macos-12_2-x86_64 | | xilinx17_2_aarch32 | ocpi.core.xilinx17_2_aarch32 | linux-17_2-aarch32 | | macos10_13 | ocpi.core.macos10_13 | macos-10_13-x86_64 | | macos12_4 | ocpi.core.macos12_4 | macos-12_4-x86_64 | | centos7 | ocpi.core.centos7 | linux-c7-x86_64 | | xilinx18_3_aarch64 | ocpi.core.xilinx18_3_aarch64 | linux-18_3-aarch64 | --------------------------------------------------------------------------- The Vitis folder structure around where the copy is failing is:- /tools/Xilinx/Vitis/2021.2/gnu/aarch64 └── lin ├── aarch64-linux │ ├── aarch64-xilinx-linux │ ├── bin │ └── x86_64-petalinux-linux └── aarch64-none ├── aarch64-xilinx-elf ├── bin └── x86_64-oesdk-linux The files in lin/aarch64-linux/bin (such as aarch64-linux-gnu-cpp) seem to suggest for 21_2 the library output directories are ../aarch64-xilinx-linux and searching the files seem to end up in usr/lib. Would it be a reasonable approach to modify ./runtime/hdl-support/Xilinx/importSDKartifacts.sh to add usr/lib into “places” at line 32, then create another variable for e.g. OcpiCrossCompileLibraryOutput in ./runtime/hdl-support/Xilinx and pass this to importSDKartifacts.sh as an extra parameter (which would be either set as empty or the same as OcpiCrossCompile for versions < 21_2)? Obviously the error itself is a missing gdbserver; which doesn’t seem to exist for the aarch64 target in Vitis 2021_2 as far as I can see. I did see a comment on previous versions that gdbserver is deprecated and may be removed in future versions of Vitis. Has anyone resolved this already? Are there any other big “gotchas” with targeting 2021.2 as a rcc or vhdl platform? Kind regards Gareth Cavaciuti www.allenvanguard.com<http://www.allenvanguard.com/> gareth.cavaciuti@allenvanguard.com<mailto:gareth.cavaciuti@allenvanguard.com> Allen-Vanguard Corporation IMPORTANT NOTICE: This message is intended only for the use of the individual or entity to which it is addressed. The message may contain information that is privileged, confidential and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, you are notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify me immediately and delete it from your system. This system and communications using this system are monitored and recorded to secure its effective operation and for other lawful business purposes. _______________________________________________ discuss mailing list -- discuss@lists.opencpi.org<mailto:discuss@lists.opencpi.org> To unsubscribe send an email to discuss-leave@lists.opencpi.org<mailto:discuss-leave@lists.opencpi.org> Allen-Vanguard Corporation IMPORTANT NOTICE: This message is intended only for the use of the individual or entity to which it is addressed. The message may contain information that is privileged, confidential and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, you are notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify me immediately and delete it from your system. This system and communications using this system are monitored and recorded to secure its effective operation and for other lawful business purposes.