vmunoz82 / ise14

EDA Tools: Xilinx ISE 14.7 Dockerfile
20 stars 6 forks source link

fpga_editor missing libXm.so #1

Open mzandrew opened 3 months ago

mzandrew commented 3 months ago

When I try to open the post place & route implementation in fpga_editor from the tools menu, I get this error:

/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/_fpga_editor: error while loading shared libraries: libXm.so.3: cannot open shared object file: No such file or directory

I can't "apt install -y libXm" (permission denied) nor can I sudo that (command not found) nor can I su (don't know the root password for this docker image as-built).

Any suggestions on how to install libXm?

mzandrew commented 3 months ago

Solution was to log in to the docker instance from another terminal as root like so:

docker exec --user root -it <container_id> bash

(getting the running container_id from docker ps) and then do:

apt update && apt install -y libxm4

But then the problem is that fpga_editor complains about:

/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/_fpga_editor: error while loading shared libraries: libXp.so.6: cannot open shared object file: No such file or directory

So now I am stuck on the fact that I can't find a match for that via dpkg --search libXp in ubuntu20.04

vmunoz82 commented 3 months ago

@mzandrew, there are lot of libraries missing to run fpga_editor.

I successfully run it with the following patch:

diff --git a/Dockerfile b/Dockerfile                                                                                                          
index b936836..b331c87 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -10,6 +10,7 @@ RUN (unzip -p /tmp/Xilinx_ISE_14.7_Win10_14.7_VM_0213_1.zip ova/14.7_VM.ova | ta
     rm -rf /tmp/Xilinx_ISE_14.7_Win10_14.7_VM_0213_1.zip ova/14.7_VM.ova && \
     (virt-copy-out -a 14.7_VM-disk001.vmdk /opt/Xilinx /opt) && \
     (virt-copy-out -a 14.7_VM-disk001.vmdk /home/ise/.Xilinx/Xilinx.lic /opt/Xilinx) && \
+    (virt-copy-out -a 14.7_VM-disk001.vmdk /usr/lib64/libXp.so.6.2.0 /opt/Xilinx) && \
     rm 14.7_VM-disk001.vmdk

 FROM ubuntu:20.04
@@ -22,7 +23,11 @@ RUN apt update && apt -y install \
     libusb-dev fxload \ 
     libsm6 libglib2.0-0 libxi6 libxrender1 libxrandr2 \
     libxtst6 \
+    xfonts-75dpi xfonts-100dpi x11-utils \
+    libxm4 libxt6 libxmu6 libstdc++5 libxft2 libjpeg62 nsight-systems \
     libfreetype6 libfontconfig1 gcc && \
     rm -rf /var/lib/apt/lists/* && \
+    mv /opt/Xilinx/libXp.so.6.2.0 /usr/lib/x86_64-linux-gnu/ && \
     cp /opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/xusbdfwu.hex /usr/share/ && \
+    ln -s /usr/lib/x86_64-linux-gnu/libXp.so.6.2.0 /usr/lib/x86_64-linux-gnu/libXp.so.6 && \
     ln -s libusb-1.0.so.0 /opt/Xilinx/14.7/ISE_DS/ISE/lib/lin64/libusb.so

It works, but anyway you got the following warnings:

INFO:ProjectMgmt - Parsing design hierarchy completed successfully.
Wind/U Error (248): Failed to connect to the registry on server c12bf5189f51

Warning!!: XKEYSYMDB environment variable is set to a wrong location 
Cannot register service: RPC: Unable to receive; errno = Connection refused

Please give it a try and provide any feedback about it.

Doom4535 commented 4 weeks ago

When I try to open the fpga_editor with the patch, I get the following:

aaron@a8a3863c1a8d:/dev/shm/ise_tmp$ fpga_editor 
Wind/U Error (294): Unable to install Wind/U ini file (/opt/Xilinx/14.7/ISE_DS/ISE/data/WindU).
See the Wind/U manual for more details on the ".WindU" file and the "WINDU"
environment variable.
Wind/U Warning (241): Unknown locale specified locale:C LANGUAGE:UNDEFINED SUBLANGUAGE:
Wind/U Error (193): X-Resource: DefaultGUIFontSpec (-*-helvetica-medium-r-normal-*-14-*) does not fully specify a font set for this locale
Wind/U Error (248): Failed to connect to the registry on server a8a3863c1a8d

Warning!!: XKEYSYMDB environment variable is set to a wrong location 
Cannot register service: RPC: Unable to receive; errno = Connection refused
Segmentation fault (core dumped)

Additionally, if I try to open the fpga_editor from within ISE (Implement Design -> Place and Route -> View/Edit Routed Design (FPGA Editor)), I get:

Wind/U Error (294): Wind/U Error (294): Unable to install Wind/U ini file (/opt/Xilinx/14.7/ISE_DS/ISE/data/WindU).
See the Wind/U manual for more details on the ".WindU" file and the "WINDU"
environment variable.
Unable to install Wind/U ini file (/opt/Xilinx/14.7/ISE_DS/ISE/data/WindU).
See the Wind/U manual for more details on the ".WindU" file and the "WINDU"
environment variable.
Wind/U Warning (241): Unknown locale specified locale:C LANGUAGE:UNDEFINED SUBLANGUAGE:
Wind/U Warning (241): Unknown locale specified locale:C LANGUAGE:UNDEFINED SUBLANGUAGE:
Wind/U Error (193): Wind/U Error (193): X-Resource: DefaultGUIFontSpec (-*-helvetica-medium-r-normal-*-14-*) does not fully specify a font set for this locale
X-Resource: DefaultGUIFontSpec (-*-helvetica-medium-r-normal-*-14-*) does not fully specify a font set for this locale
Cannot register service: RPC: Unable to receive; errno = Connection refused
unable to register (registryProg, registryVers, tcp)
Wind/U Error (248): Failed to connect to the registry on server a8a3863c1a8d

Warning!!: XKEYSYMDB environment variable is set to a wrong location 
Wind/U Error (248): Failed to connect to the registry on server a8a3863c1a8d

Warning!!: XKEYSYMDB environment variable is set to a wrong location 
Cannot register service: RPC: Unable to receive; errno = Connection refused
Cannot register service: RPC: Unable to receive; errno = Connection refused
Wind/U Error (294): Unable to install Wind/U ini file (/opt/Xilinx/14.7/ISE_DS/ISE/data/WindU).
See the Wind/U manual for more details on the ".WindU" file and the "WINDU"
environment variable.
Wind/U Warning (241): Unknown locale specified locale:C LANGUAGE:UNDEFINED SUBLANGUAGE:
Wind/U Error (193): X-Resource: DefaultGUIFontSpec (-*-helvetica-medium-r-normal-*-14-*) does not fully specify a font set for this locale
Cannot register service: RPC: Unable to receive; errno = Connection refused
unable to register (registryProg, registryVers, tcp)
vmunoz82 commented 2 weeks ago

I was unable to reproduce the issue, building the image from scratch with this Dockerfile https://gist.github.com/vmunoz82/1abb46e007768868704203879f4d2489, it is just the main Dockerfile of this repo, with the patch applied