Xilinx ISE Setup on non-RedHat Linux

Apparently, the Xilinx ISE has some dependencies that a standard RedHat install meets while other distributions may not. Unfortunately, these dependencies are not documented. In the following I report what I did to get ISE to run on a non-RedHat distribution. In my case, the distribution is the Debian-based Ubuntu Linux in the Hoary Hedgehog flavor which, at the time of this writing, is labeled unstable. The ISE version is 6.3i.

There is of course no guarantee that all this will work for you, too! Try on your own risk!

Getting ISE to run

Somebody told me to install Motif first because that is the window library Xilinx uses. Don't know if that is a requirement but I installed it and it didn't hurt. It is also a good idea to create the desired ISE installation directory beforehand, e.g., /opt/xilinx/.

The Xilinx installation guide suggests to insert the first CD, change to its root directory, and execute./setup. This resulted in the error:

bash: ./setup: /bin/sh: bad interpreter: Permission denied"
Executing with root privileges didn't help and explicitly calling bash only shifted the problem:

./setup: line 163: /cdrom/xilsetup: Permission denied"
This problem is easily solved by mounting the CD with execution permission (many thanks to Jan Hegner and Fernando Rincón for this hint!):

mount -o exec <cd device> <directory>
Furthermore, it is advisable to set the following environment variable, at least if you are running kernel 2.6:

export LD_ASSUME_KERNEL=2.4.7"
Trying again to run the setup script produces the following error message:

Wind/U Error (294): Unable to install Wind/U ini file (/home/ged/tmp/install/xilinx/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 X-toolkit Error: wuDisplay: Can't open display
These messages are brought to you by a questionable toolkit called Wind/U that is used to port Windows software to operating systems. Most of these messages can be ignored without lasting effect on the quality of your life. The last line, however, is a real problem. As it turns out, the toolkit ports the deficiencies in standard conformance from the Microsoft world to the target system: It cannot handle the standard display coordinates of 0.0. Therefore, we have to simplify matters for it:

export DISPLAY=:0
Now I was finally able to run the setup script. Depending on the desired ISE installation location you may have to run the script with root privileges. Next, mount the second CD as above and run the second setup script. This completes the installation.

In order to automatically remove the offending ".0" from $DISPLAY in the future, you append the following line to the settings script that you find in the installation directory:

export DISPLAY=`echo $DISPLAY |sed s/'\.0'//`
Remember to always run the settings script before starting the ISE!

Configuring a browser for updating ISE

Another thing that didn't work from the start is calling Firefox from ISE. ISE depends on a browser with Java support for the built-in software-update function. Actually, it seems that this function simply opens the Xilinx Download Center in a browser window. If this is true you can probably go there without ISE support and skip the browser tweaks.

Getting CoreGen to run

Upon trying to invoke CoreGen ISE issued the following error message

Error: failed /opt/xilinx/java/lin/jre/lib/i386/client/libjvm.so, because libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory
What this tries to tell you is that ISE comes with an old Java runtime environment that it uses to execute CoreGen and that depends on an old library by the name of libstdc++-libc6.1-1.so.2. Up-to-date Linux distributions might only have a newer version of this library installed.

Often, this older version is available in a compatibility package. For Ubuntu and Debian I found it in a package called libstdc++2.9-glibc2.1 that is available in Debian Woody. For RPM-based distributions I read that the library is provided by a package called compat-libstdc++-6.2- After installing the appropriate compatibility package CoreGen apparently works.

Future work

I noticed that in the settings scripts an environment variable NPX_PLUGIN_PATH is set to the non-existent path ${XILINX}/java/lin/jre/plugin/sparc/ns4. It should probably read ${XILINX}/java/lin/jre/plugin/i386/ns4 instead. I'm only waiting for this to cause problems...
last update: 9/9/2005
Gero Dittmann <gdittma@us.ibm.com>