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_at_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_at_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_at_lists.opencpi.org
> To unsubscribe send an email to discuss-leave_at_lists.opencpi.org
>
Received on Mon May 22 2023 - 19:20:24 CDT