02-06-2012 07:57 AM - edited 02-21-2012 04:27 AM
I just wanted to post solution to problems with numerous segfaults that can happen (they did happen whole time for me, at least) while using ISE on non-supported OS like Ubuntu or openSuse.
1. 'unset KDE_SESSION_VERSION'
Run this command in the same terminal you are starting ISE.
Surpisingly, it can solve a whole lot of problems with weird segfaults - be it installer, simulator or project manager.
With this command you can force linker to use selected library version instead of version bundled with ISE.
Especially useful when replacing libstdc++.so.6 or Qt libraries.
Below is small scripts that takes care of it:
adrian@adrian-pc:~> cat Xilinx.sh #!/bin/bash ISE_DS_DIR=/opt/Xilinx/13.4/ISE_DS #prevent segmentation faults unset KDE_SESSION_VERSION cd "$ISE_DS_DIR" source "$ISE_DS_DIR"/settings64.sh # reset locale to English to fix decimal/comma seperation export LANG='' # fix missing symbol problems (linker bugs?) at cost of longer startup of each process # can help if e.g. Core Generator isn't starting when modyfying generated core # otherwise, leave it commented #export LD_BIND_NOW=true # forcing particular lib version is particularly useful when trying to run ISim, # or using external editor instead of Xilinx's NOTEPAD # but sometimes (depending on moon phase and weather) may break something LD_PRELOAD=/usr/lib64/libstdc++.so.6 "$ISE_DS_DIR"/ISE/bin/lin64/ise #"$ISE_DS_DIR"/ISE/bin/lin64/ise #TASKS: # -check sysgen/settings(32/64).sh file for correct library paths (missing lin/lin64 part)
I hope it helps anyone, because it took me DAYS to get this whole **bleep** thing running reliably.
15-02-2012: script updated
02-10-2012 08:03 AM
02-11-2012 02:51 AM
02-11-2012 04:27 AM
02-15-2012 12:55 PM - edited 02-15-2012 12:56 PM
I've found a moment to look into your problem, and updated my script (see first post).
You were right, there is a problem with incorrect LD_LIBRARY_PATH (@Xilinx: it's a bug, a *big bug*), hovewer your fix triggered another bug in my (propably) linker.
So here's even more radical, but working solution.
11-07-2012 10:13 PM
As the comment in your script said, setting LD_PRELOAD may cause errors. It did for me but I just toggled a comment on that line and uncommented the line after it:
# LD_PRELOAD=/usr/lib64/libstdc++.so.6 "$ISE_DS_DIR"/ISE/bin/lin64/ise
Leaving it at (what I assume) the original version of your script worked best for me on 64-bit Ubuntu 12.04 LTS.
Thank you so much for posting this thread and coming back to your solution. You saved me tonight, writing my lab report for university the day before it's due ;)