Package Details: xilinx-ise 14.7-1

Git Clone URL: https://aur.archlinux.org/xilinx-ise.git (read-only, click to copy)
Package Base: xilinx-ise
Description: Xilinx ISE Design Suite
Upstream URL: https://www.xilinx.com/products/design-tools/ise-design-suite.html
Licenses: custom
Submitter: cyrozap
Maintainer: cyrozap
Last Packager: cyrozap
Votes: 15
Popularity: 0.192722
First Submitted: 2016-03-13 04:16 (UTC)
Last Updated: 2022-06-04 00:18 (UTC)

Dependencies (9)

Required by (1)

Sources (3)

Latest Comments

1 2 3 4 5 6 Next › Last »

h_ro commented on 2025-10-12 13:15 (UTC) (edited on 2025-10-12 13:17 (UTC) by h_ro)

@cyrozap: Here is a revision 1 patch for fixing fpga_editor (LD_PRELOAD method):

Subject: [PATCH] Add library+font fixes and post_install steps for fpga_editor

This fixes the following fpga_editor issues:

- Fix a regression due to libXmu requiring a newer version of libXt
  that is incompatible with fpga_editor by preloading older versions of
  libXm and libXt before loading the systems's libXt.
- Fix a segfault due to missing legacy font paths for X11 server.
- Recommend enabling and starting rpcbind.service as root to fix a
  delayed GUI startup due to a failed RPC connection.
---
 .SRCINFO           |  1 +
 PKGBUILD           | 11 +++++++++++
 xilinx-ise.install |  5 +++++
 3 files changed, 17 insertions(+)
 create mode 100644 xilinx-ise.install

diff --git a/.SRCINFO b/.SRCINFO
index 8c72a64..f319a5f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -3,6 +3,7 @@ pkgbase = xilinx-ise
        pkgver = 14.7
        pkgrel = 1
        url = https://www.xilinx.com/products/design-tools/ise-design-suite.html
+       install = xilinx-ise.install
        arch = i686
        arch = x86_64
        license = custom
diff --git a/PKGBUILD b/PKGBUILD
index fb19843..2d628eb 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -17,6 +17,7 @@ source_x86_64=('xilinx-ise-64.desktop')
 md5sums=('e8065b2ffb411bb74ae32efa475f9817')
 sha256sums_i686=('ecde1d1a403ccf366def3f6199f84992ded5e4626eeb6399395ad76f0e3d7643')
 sha256sums_x86_64=('74b1bf6d07520314dec833a777ebc47a166992c3aeb771b20dca9562288da47a')
+install=xilinx-ise.install

 if [[ $CARCH == 'i686' ]]; then
        _arch=lin
@@ -66,6 +67,16 @@ package() {
        install -d "${pkgdir}"/usr/bin
        ln -s /usr/bin/gcc-4.9 "${pkgdir}"/usr/bin/gcc4

+       # Fix missing XtAsprintf symbol for fpga_editor
+       _preload_paths="/opt/Xilinx/14.7/ISE_DS/ISE/lib/${_arch}/libXm.so.3:/opt/Xilinx/14.7/ISE_DS/ISE/X11R6/lib/${_arch}/libXt.so:/usr/lib${_bits}/libXt.so"
+       echo "setenv LD_PRELOAD ${_preload_paths}:\${LD_PRELOAD}" >> "${pkgdir}"/opt/Xilinx/14.7/ISE_DS/settings${_bits}.csh
+       echo "export LD_PRELOAD=${_preload_paths}:\${LD_PRELOAD}" >> "${pkgdir}"/opt/Xilinx/14.7/ISE_DS/settings${_bits}.sh
+
+       # Add legacy font paths for X11 100dpi and 75dpi font sets for fpga_editor
+       install -d "${pkgdir}/etc/X11/fontpath.d"
+       ln -s /usr/share/fonts/100dpi "${pkgdir}"/etc/X11/fontpath.d/xorg-fonts-100dpi
+       ln -s /usr/share/fonts/75dpi "${pkgdir}"/etc/X11/fontpath.d/xorg-fonts-75dpi
+
        # Install .desktop file
        install -Dm 644 "${srcdir}"/xilinx-ise-${_bits}.desktop "${pkgdir}"/usr/share/applications/xilinx-ise.desktop
 }
diff --git a/xilinx-ise.install b/xilinx-ise.install
new file mode 100644
index 0000000..66989a6
--- /dev/null
+++ b/xilinx-ise.install
@@ -0,0 +1,5 @@
+post_install() {
+    echo "To use fpga_editor:"
+    echo "    enable and start rpcbind to fix slow fpga_editor startup: sudo systemctl enable --now rpcbind.service"
+    echo "    then logout and login to apply X11 font paths"
+}
--
2.51.0

h_ro commented on 2025-10-12 11:48 (UTC)

@cyrozap: Addressing the libXt issue for fpga_editor is a bit tricky due to XtAsprintf not being present in the older version of libXt bundled in ISE but required in newer versions (since v1.2.0) of libXmu[1] provided by the host. (In my previous post, I ended up having to use both by preloading the older versions first to be used and then the newer version to provide the missing symbol for libXmu...)

For this particular issue, we can either append lines to set LD_PRELOAD in settings.{csh,sh} or build a downgrade/patched version of libXmu for ISE (and prepending the missing /opt/Xilinx/14.7/ISE_DS/ISE/X11R6/lib/lin64 path to LD_LIBRARY_PATH in settings.{csh,sh}).

[1] missing symbol regression caused by libXmu starting to use XtAsprintf: https://gitlab.freedesktop.org/xorg/lib/libxmu/-/commit/117f425f68a087c833ee5ad17e3b17094360b184

h_ro commented on 2025-10-12 11:00 (UTC)

@cyrozap: Here is a patch to fix ISIM/fuse errors due to newer gcc:

Subject: [PATCH] Require gcc49 and package /usr/bin/gcc4 symlink to fix
 ISIM/fuse errors

This adds gcc49 as a runtime requirement and symlinks /usr/bin/gcc-4.9
to /usr/bin/gcc4 to allow ISIM/fuse to use an older version of gcc to
compile and run simulations.
---
 .SRCINFO | 1 +
 PKGBUILD | 6 +++++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/.SRCINFO b/.SRCINFO
index 931a4c4..8c72a64 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -13,6 +13,7 @@ pkgbase = xilinx-ise
        depends = rpcbind
        depends = xorg-fonts-75dpi
        depends = xorg-fonts-100dpi
+       depends = gcc49
        optdepends = fxload: Firmware loader for some programmer dongles
        optdepends = digilent.adept.utilities: Digilent programmer support
        options = !strip
diff --git a/PKGBUILD b/PKGBUILD
index 86485e0..fb19843 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@ pkgdesc="Xilinx ISE Design Suite"
 url="https://www.xilinx.com/products/design-tools/ise-design-suite.html"
 arch=('i686' 'x86_64')
 license=('custom')
-depends=('libstdc++5' 'ncurses5-compat-libs' 'openmotif' 'qt4' 'rpcbind' 'xorg-fonts-75dpi' 'xorg-fonts-100dpi')
+depends=('libstdc++5' 'ncurses5-compat-libs' 'openmotif' 'qt4' 'rpcbind' 'xorg-fonts-75dpi' 'xorg-fonts-100dpi' 'gcc49')
 optdepends=('fxload: Firmware loader for some programmer dongles'
             'digilent.adept.utilities: Digilent programmer support')
 options=('!strip')
@@ -62,6 +62,10 @@ package() {
        install -d "${pkgdir}"/usr/lib
        ln -s /usr/lib/libQtNetwork.so "${pkgdir}"/usr/lib/libQt_Network.so

+       # Let ISIM/fuse use older gcc to avoid errors from newer gcc
+       install -d "${pkgdir}"/usr/bin
+       ln -s /usr/bin/gcc-4.9 "${pkgdir}"/usr/bin/gcc4
+
        # Install .desktop file
        install -Dm 644 "${srcdir}"/xilinx-ise-${_bits}.desktop "${pkgdir}"/usr/share/applications/xilinx-ise.desktop
 }
-- 
2.51.0

cyrozap commented on 2025-10-12 00:44 (UTC)

Hey, all, I'm sorry to see there has been some trouble running ISE from this package. If anyone has any patches to fix these issues, I'll gladly apply them.

h_ro commented on 2025-10-11 17:49 (UTC) (edited on 2025-10-12 09:53 (UTC) by h_ro)

Happy to share a workaround for fpga_editor failing to open:

source /opt/Xilinx/14.7/ISE_DS/settings64.sh
# addresses critical issue #1
export LD_PRELOAD=/opt/Xilinx/14.7/ISE_DS/ISE/lib/lin64/libXm.so.3:/opt/Xilinx/14.7/ISE_DS/ISE/X11R6/lib/lin64/libXt.so:/usr/lib64/libXt.so
# addresses critical issue #2
xset +fp /usr/share/fonts/100dpi
# addresses RPC issue #3 causing ~1 min delay in launching the GUI
sudo rpcbind

# enjoy :)
fpga_editor

Below, I document the errors I came across and the individual workaround attempts.

Issue 1: Missing XtAsprintf symbol and Xt-related errors

Firstly, fpga_editor simply fails due to a missing symbol which can be provided by the system's libXt library.

$ fpga_editor
/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/_fpga_editor: symbol lookup error: /usr/lib64/libXmu.so.6: undefined symbol: XtAsprintf
$ LD_PRELOAD=/usr/lib64/libXt.so fpga_editor
Wind/U X-toolkit Error: Shell widget _fpga_editor has zero width and/or height
Segmentation fault (core dumped)

While the missing symbol can be addressed by preloading /usr/lib64/libXt.so, we will also need to preload libXm and libXt distributed with ISE to address additional Xt-related issues:

$ LD_PRELOAD=/opt/Xilinx/14.7/ISE_DS/ISE/X11R6/lib/lin64/libXt.so:/usr/lib64/libXt.so fpga_editor
Wind/U X-toolkit Error: Shell widget _fpga_editor has zero width and/or height
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  1 (X_CreateWindow)
  Value in failed request:  0x0
  Serial number of failed request:  16
  Current serial number in output stream:  23
...
Segmentation fault (core dumped)
$ LD_PRELOAD=/opt/Xilinx/14.7/ISE_DS/ISE/lib/lin64/libXm.so.3:/opt/Xilinx/14.7/ISE_DS/ISE/X11R6/lib/lin64/libXt.so:/usr/lib64/libXt.so fpga_editor
Wind/U Error (193): X-Resource: DefaultGUIFontSpec (-*-helvetica-medium-r-normal-*-14-*) does not fully specify a font set for this locale
...
Segmentation fault (core dumped)

Onto the next issue...

Issue 2: Invalid/missing 100dpi X11 font path

Despite xorg-fonts-100dpi and xorg-fonts-75dpi being installed, xlsfonts was unable to find any fonts provided by it due to missing font paths seen by X11. This results in fpga_editor throwing the following error:

$ LD_PRELOAD=/opt/Xilinx/14.7/ISE_DS/ISE/lib/lin64/libXm.so.3:/opt/Xilinx/14.7/ISE_DS/ISE/X11R6/lib/lin64/libXt.so:/usr/lib64/libXt.so fpga_editor
Wind/U Error (193): X-Resource: DefaultGUIFontSpec (-*-helvetica-medium-r-normal-*-14-*) does not fully specify a font set for this locale

Warning!!: XKEYSYMDB environment variable is set to a wrong location
Wind/U Error (122): Function GetTextMetrics, could not create font information structure.
...
Wind/U Error (122): Function GetTextMetrics, could not create font information structure.
Segmentation fault (core dumped)

To address this temporarily, we can manually add a font path with the missing font set to address this issue and access the GUI!

$ xset +fp /usr/share/fonts/100dpi
$ LD_PRELOAD=/opt/Xilinx/14.7/ISE_DS/ISE/lib/lin64/libXm.so.3:/opt/Xilinx/14.7/ISE_DS/ISE/X11R6/lib/lin64/libXt.so:/usr/lib64/libXt.so fpga_editor
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 my-pc
Warning!!: XKEYSYMDB environment variable is set to a wrong location
(*GUI opens after about a minute!?*)

Onto the last critical issue...

Issue 3: Slow GUI startup due to RPC connection failure

fpga_editor seems to attempt to establish an RPC connection but waits for the connection to timeout before opening the GUI. This connection issue can be addressed by starting an rpcbind server as root:

$ LD_PRELOAD=/opt/Xilinx/14.7/ISE_DS/ISE/lib/lin64/libXm.so.3:/opt/Xilinx/14.7/ISE_DS/ISE/X11R6/lib/lin64/libXt.so:/usr/lib64/libXt.so fpga_editor
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 my-pc

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

$ sudo rpcbind
$ LD_PRELOAD=/opt/Xilinx/14.7/ISE_DS/ISE/lib/lin64/libXm.so.3:/opt/Xilinx/14.7/ISE_DS/ISE/X11R6/lib/lin64/libXt.so:/usr/lib64/libXt.so fpga_editor

Warning!!: XKEYSYMDB environment variable is set to a wrong location
(*GUI opens after 10 or so seconds!*)

texsd commented on 2025-04-09 12:48 (UTC)

@h_ro It's a good solution! I thought /usr/bin/gcc is hardcoded in ise's binary before, so I create a hijack.so to replace gcc to gcc-4.4. Can we update this package by adding gcc13 into the dependencies, and create a softlink for it?

h_ro commented on 2025-04-08 18:44 (UTC)

@texsd Seems so. So far, one solution is to link an older version of gcc to /usr/bin/gcc4? See relevant comment: https://aur.archlinux.org/packages/xilinx-ise#comment-984075

texsd commented on 2025-04-08 14:26 (UTC)

It seems like that the latest gcc is not capatible with the simulation function. Error occurred: FATAL_ERROR:Simulator:Fuse.cpp:209:1.133 - Failed to compile one of the generated C files. The solution is to replace the gcc with gcc-4.4 and it'll works. I'm finding a way to make it use gcc-4.4 automatically.

h_ro commented on 2024-11-16 04:15 (UTC)

@Dioswilson Yes, you can find more information about the installation and post-installation steps and fixes on the wiki: https://wiki.archlinux.org/title/Xilinx_ISE_WebPACK

Dioswilson commented on 2024-11-15 21:33 (UTC)

Thanks @h_ro, i've managed to install it. Did I miss the instructions or there aren't any. On Vivado(And other unrelated packages) they put them on PKGBUILD but couldn't find them here