Failed to cross-compile pmod_oled to microblaze on Linux

Hi all,

First of all, I am new to the PYNQ and to hardware design.
I have written quite some VHDL before and I have some experience with daily driving Linux, but that’s about it on the hardware side. I do have quite some experience with Python.

PYNQ-Z2 board, pynq-3.0.1 image
Vivado and Vitis 2020.2
Laptop OS: Debian 11 bullseye

I want to use the microblazes in the base overlay to run my C code on. As a start, I decided to compile a relatively similar example project. The project that is located under PYNQ/pynq/lib/pmod/pmod_oled. The docs see this link say that I first need the bsp. I downloaded the 3.0.1 release so the bsp is present in the pmod folder.

Further, the doc states that in linux I need to source the Vitis tools. After looking it up a bit what exactly ‘sourcing the vitis tools’ means I found that it should be this command: ‘source ./Vitis/2020.2/settings64.sh’. It worked and the mb-gcc compiler was found.

When running the makefile in the directory I get the following error:

Building file: …/src/ChrFont0.c
Invoking: MicroBlaze gcc compiler
mb-gcc -Wall -O1 -g3 -c -fmessage-length=0 -MT"src/ChrFont0.o" -I…/…/bsp_iop_pmod/iop_pmoda_mb/include -mlittle-endian -mcpu=v11.0 -mxl-soft-mul -Wl,–no-relax -MMD -MP -MF"src/ChrFont0.d" -MT"src/ChrFont0.d" -o “src/ChrFont0.o” “…/src/ChrFont0.c”
/home/roga/Vivado2020.2/Vitis/2020.2/gnu/microblaze/lin/bin/…/x86_64-oesdk-linux/usr/bin/microblaze-xilinx-elf/microblaze-xilinx-elf-gcc.real: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory

I now that libX11 has to do with the windowing server in Linux. I do not really see why it pops-up here. I use X11 on my laptop, but what has it to do with cross compiling to a microblaze? On a windows machine I managed to build it. But either way, I would like to fix the issue on my linux machine.

My second thought was to try via the Vitis GUI to build the project, but for that I need to create an application project. To add the platform I need a .xsa file. But is the only option rebuilding the base overlay? Is it nowhere provided in the pynq release files just like the bsp?

I know that Xilinx related questions should be posted on their forum, but this question seemed quite specific to the pynq project. Correct me if I am wrong and than I will move the post.

With kind regards,

robgar2001

1 Like

Since after digging a bit further the problem seemed better suited for the amd xilinx forums. Especially since an article is on there website discussing a similar issue. Hence I reposted the question there. The post may be removed.

https://support.xilinx.com/s/profile/0054U00000EG3c2QAD