Forum Discussion
Linux/ModelSim: can't access Tools > Edit preferences
I've just run up the altera-18.0 ModelSim starter edition for the first time, on Centos/RH 6.10, Gnome.
I'm on a HiDPI (4K) display and the output is too small to be comfortable. As a first step, I've tried Tools > Edit preferences, but I get a tcl error:
Couldn't load file "[..modelsim_ase]/linux/ScintillaTk/libScintillaTk1.12.so"
This file does actually exist, and is as expected (a 32-bit .so), so the error is presumably a tcl failure of some sort - possibly not following a symlink.
Any ideas, or some other way to get usable output on HiDPI? Thanks.
13 Replies
- KhaiChein_Y_Intel
Regular Contributor
Hi,
Have you install libstdc++.so.6 ?
Thanks
- KhaiChein_Y_Intel
Regular Contributor
Hi,
May I know your ModelSim installation path?
Thanks.
- ELave
New Contributor
Hi KYeoh - it's /home/eda/modelsim/altera-18.0/modelsim_ase/.
- ELave
New Contributor
And the complere error message is "Couldn't load file /home/eda/modelsim/altera-18.0/modelsim_ase/linux/ScintillaTk/libScintillaTk1.12.so". This also appears sometimes when I'm running a simualtion, but I don't know why.
- KhaiChein_Y_Intel
Regular Contributor
- ELave
New Contributor
It's in exactly the right place, at /home/eda/modelsim/altera-18.0/modelsim_ase/linux/ScintillaTk/libScintillaTk1.12.so, and 'file' reports that it is a 32-bit '.so' file. So, the error message is wrong. The file exists.
I think the only possible confusion is that the 'linux' part of the path is a symlink, which is common in ModelSim installations. However, something has got confused about it.
- ELave
New Contributor
This isn't a symlink problem - I removed the 'linux' symlink, and copied in the linuxaloem code, with the same result.
This is almost certainly a 32/64-bit problem, or a tcl version problem. The shared object which implements 'Tools>Edit preferences' is:
$ file /home/eda/modelsim/altera-18.0/modelsim_ase/linux/ScintillaTk/libScintillaTk1.12.so
/home/eda/modelsim/altera-18.0/modelsim_ase/linux/ScintillaTk/libScintillaTk1.12.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped
I'm on Centos/RH 6.2, x86_64, tclsh 8.5. Can someone at Intel please give me a definitive answer on what is supported? Do you actually have to run this on a 32-bit system?
Stack trace below, when 'Tools>Edit preferences' is clicked:
Couldn't load file "/home/eda/modelsim/altera-18.0/modelsim_ase/linux/ScintillaTk/libScintillaTk1.12.so": libstdc++.so.6: cannot open shared object file: No such file or directory
while executing
".vcop Eval Console::PrefDialog"
invoked from within
".#mBar.#mBar#tools invoke active"
("uplevel" body line 1)
invoked from within
"uplevel #0 [list $w invoke active]"
(procedure "tk::MenuInvoke" line 50)
invoked from within
"tk::MenuInvoke .#mBar.#mBar#tools 1"
(command bound to event)
- KhaiChein_Y_Intel
Regular Contributor
Hi,
Do you have LD_LIBRARY_PATH environment setting?
Thanks
- ELave
New Contributor
It's set to '.:.', ie. nothing, but why would that be relevant? The error message clearly shows that the software already has the full path to the library. It claims that there is no library at that location, but the required library is clearly at that exact location. Besides, the ModelSim installation has no settings script (that I can find) that sets up anything, let alone LD_LIBRARY_PATH. And I can't imagine that a tool vendor would ask you to set LD_LIBRARY_PATH - that's just a hack.
Some searching shows that this is likely to be a 32/64-bit problem. I also have experience of trying to get ModelSim PE, which is 32-bit, running on an RH7 64-bit system for an evaluation. It's difficult, and I gave up, even after a lot of input from the FAE.
The problem is that no-one at ModelSim, or Intel, or possibly anywhere else, has started witha 64-bit version of a supported system, and then tried downgrading it enough to run 32-bit ModelSim with no problems at all. My Centos 6.2 system has the 32-bit compatibility libraries installed, but that is clearly not sufficient. And no-one in their right mind is going to install an obsolete 32-bit system from scratch just to run ModelSim.
- ELave
New Contributor
Hi KYeoh - libstdc++ is the C++ runtime library. Every Linux system that ships with gcc 3.4.0 or later (ie. everything since 2004) ships with libstdcc++.so.6. It would probably be impossible to run Linux without this library.