06-28-2021 05:12 PM
I have managed to install Vitis (incl. Vivado) and Petalinux 2021.1 on [unsupported] Fedora 33, which RHEL 9 may be based on in some few months. I intend to document the workarounds in this post as I find them.
The Vitis installation through the web install went quite smoothly, though the tool showed a worrying window just before finishing, but so far without noticeable ill effects.
The first attempt at the Petalinux install was to install on an NTFS partition, which failed with an error message:
ERROR: Failed to install /mnt/data/Xilinx/Petalinux/./components/yocto/buildtools.
Changing the installation directory to a non-NTFS partition fixed this problem.
Then attempting to source the Petalinux tools threw another error message.
[pcarr@pat-laptop Default]$ . /opt/Xilinx/Petalinux/settings.sh PetaLinux environment set to '/opt/Xilinx/Petalinux' WARNING: This is not a supported OS INFO: Checking free disk space INFO: Checking installed tools gcc: /opt/Xilinx/Petalinux/tools/xsct/lib/lnx64.o/Default/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by gcc) (standard_in) 1: syntax error environment: line 265: [: : integer expression expected INFO: Checking installed development libraries ERROR: You are missing these development libraries required by PetaLinux: - zlib - ncurses Please install them with your operating system package manager, and try again
The zlib-devel and ncurses-devel were already installed, so this was not related to the error message.
The fix was to replace the libstdc++ library within Petalinux tree with the OS' provided one.
[pcarr@pat-laptop Default]$ cd /opt/Xilinx/Petalinux/tools/xsct/lib/lnx64.o/Default [pcarr@pat-laptop Default]$ mv libstdc++.so.6 libstdc++.so.6.orig [pcarr@pat-laptop Default]$ ln -s /usr/lib64/libstdc++.so.6 libstdc++.so
Leaving the directory looking like:
[pcarr@pat-laptop Default]$ ll total 1784 -rwxr-xr-x 1 pcarr pcarr 89584 Jun 5 21:11 libgcc_s.so.1 -rwxr-xr-x 1 pcarr pcarr 175896 Jun 5 21:11 libgomp.so.1 lrwxrwxrwx 1 pcarr pcarr 25 Jun 28 16:26 libstdc++.so -> /usr/lib64/libstdc++.so.6 -rwxr-xr-x 1 pcarr pcarr 1557464 Jun 5 21:11 libstdc++.so.6.orig
I have yet to test run Vitis but will continue this thread if I discover anything of interest.
06-28-2021 11:02 PM
Continuing with a new workaround, this time Petalinux throws a series of errors, that seem to originate from this message:
| /opt/Xilinx/Petalinux/tools/xsct/tps/lnx64/cmake-3.3.2/bin/cmake: error while loading shared libraries: libidn.so.11: cannot open shared object file: No such file or directory | child process exited abnormally | Failed to generate cmake files Linux. | ERROR: [Hsi 55-1545] Problem running tcl command ::sw_rfdc_v10_0::generate : Failed to generate cmake files Linux.
The libidn library that is looking for does not exist as it's too old for this new OS. It expects version 11 and only 12 is available. The workaround is to soft link the new version to the old.
[pcarr@pat-laptop ~]$ cd /usr/lib64/ [pcarr@pat-laptop lib64]$ ls -l libidn* lrwxrwxrwx 1 root root 16 May 13 05:15 libidn2.so -> libidn2.so.0.3.7 lrwxrwxrwx 1 root root 16 May 13 05:15 libidn2.so.0 -> libidn2.so.0.3.7 -rwxr-xr-x 1 root root 131048 May 13 05:15 libidn2.so.0.3.7 lrwxrwxrwx 1 root root 16 Jul 28 2020 libidn.so.12 -> libidn.so.12.6.1 -rwxr-xr-x 1 root root 213104 Jul 28 2020 libidn.so.12.6.1 [pcarr@pat-laptop lib64]$ sudo ln -s libidn.so.12 libidn.so.11
06-28-2021 11:47 PM
It's interesting for me. And it's good information for community memer.
BTW, I have some question.
Which NFS version are you using ?
I guess, if you use NFS v.3, you might be able to install it.
Did you try compat-* package file to resolve your issue instead of workaround ?
I guess it seems compat-* package issue...
06-29-2021 12:41 AM
> 1) Which NFS version are you using ?
Not using NFS; just a local hard drives partitioned as ext4 and NTFS.
2) Did you try compat-* package file to resolve your issue instead of workaround ?
I haven't found a suitable compat-* package for libidn to install in Fedora 33.
06-30-2021 11:45 PM
Thank you for your reply.
> The libidn library that is looking for does not exist as it's too old for this new OS. It expects version 11 and only 12 is available. The workaround is to soft link the new version to the old.
There is libidn.so.12 in "libidn-1.36" package. But there is libidn.so.11 in "libidn-1.34".
I guess it does not need work around.
So ,would you try to install "libidn-1.34" package ?
Hope this helps.
07-01-2021 10:55 AM
Great point about the libidn1.34 package. Installing it, provides the missing /usr/lib64/libidn.so.11 pointing to the correct library, libidn.so.11.6.18. So the workaround above (soft link) for Petalinux will not be needed.