Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16558 Discussions

Getting ModelSim Intel Edition to work on Ubuntu 17x and higher.

Abe
Valued Contributor II
7,233 Views

In the event you've installed or upgraded to Ubuntu 17x or 18 and are trying to get ModelSim to work, you may encounter the following error:

 

Thanks to @mfro​ ​ for posting the link! :)

 

 

 

Error in startup script: Initialization problem, exiting. Initialization problem, exiting. while executing "InitializeINIFile quietly" invoked from within "ncFyP12 -+" (file "/mtitcl/vsim/vsim" line 1) ** Fatal: Read failure in vlm process (0,0)

This guide is for you. This is due to the fact that some of the needed libraries for ModelSim are missing or not correct in Ubuntu 17x and higher. Keep in mind that Quartus tools and ModelSim have been tested and work well with Ubuntu 16.04 and this guide is only for Ubuntu 17x and higher.

 

Follow these steps below to get ModelSim working:

 

  1. Install the required dependancies/libraries:

Open a new terminal prompt and type or copy paste the following command:

 

You need to have super-user or root privileges to do the following.

 

sudo dpkg --add-architecture i386

sudo apt-get update

sudo apt-get install build-essential

 

sudo apt-get install gcc-multilib g++-multilib \

lib32z1 lib32stdc++6 lib32gcc1 \

expat:i386 fontconfig:i386 libfreetype6:i386 libexpat1:i386 libc6:i386 libgtk-3-0:i386 \

libcanberra0:i386 libpng12-0:i386 libice6:i386 libsm6:i386 libncurses5:i386 zlib1g:i386 \

libx11-6:i386 libxau6:i386 libxdmcp6:i386 libxext6:i386 libxft2:i386 libxrender1:i386 \

libxt6:i386 libxtst6:i386

 

This will install a set of packages that are needed for the next steps.

 

Download the Freetype package from the following link:

http://download.savannah.gnu.org/releases/freetype/freetype-2.4.12.tar.bz2

 

In the terminal prompt, type the following:

cd ~/Downloads

 

tar -xvf freetype-2.4.12.tar.bz2

 

cd freetype-2.4.12

 

./configure --build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"

 

make -j8

 

This will compile the freetype library and you should have a /obj/.libs folder where you compiled it.

 

Now, type the following:

 

mkdir /<path_to_quartus_install>/modelsim_ase/lib32

sudo cp ~/Downloads/freetype-2.4.12/objs/.libs/libfreetype.so* /<path_to_quartus_install>/modelsim_ase/lib32

 

sudo vim /opt/modelsim_ase/bin/vsim

 

Search for the line that says

 

dir=`dirname $arg0`

 

and add the following line under it:

export LD_LIBRARY_PATH=${dir}/lib32

 

Save exit the file.

 

Now, try starting ModelSim. If you still get any error, you may need to do the following fixes as well:

 

In the terminal prompt, edit the following file

 

sudo vim /opt/modelsim_ase/bin/vsim

 

Search for "linux_rh60" This should be in an if-else loop at around line 212.

 

Edit the last line in the if case *) vco = "linux_rh60 and change it to

vco = linux.

 

Then scroll to the start of the file and search for the following:

 

mode=${MTI_VCO_MODE:-""} and change it to

 

mode=${MTI_VCO_MODE:-"32"}

 

Save and exit . Now try starting ModelSim. It should load the gui.

 

 

 

9 Replies
MuhammadAr_U_Intel
4,320 Views

Thankyou for sharing the steps to setup Modelsim on Ubuntu, please note officially Modelsim Intel Edition is only supported for RedHat Linux.

 

Refer to OS support page for detail.

https://www.intel.com/content/www/us/en/programmable/support/support-resources/download/os-support.html

 

0 Kudos
RKlee1
Beginner
4,320 Views

I can' believe it is 2018 and I still have to install outdated 32bit libs! I can hardly remember the time when it was up to date.

AFAN01
Beginner
4,320 Views

in 2020, I still need to do this.

DRose
Beginner
4,320 Views

Hi thanks for this guide. I ran it and now my '/modelsim_ase/bin$ ./vsim' is working and opening the GUI,

But sadly the '/modelsim_ase/linuxaloem$ ./vsim' that Quartus is using still does not work (same crush log sadly).

 

any suggested step you think might help?

0 Kudos
GPete3
Beginner
4,320 Views

Hi,

 

I think I've got a solution for you to launch RTL simulation with ModelSim FROM Quartus.

 

In Quartus (18.1 with Ubuntu 18.04 LTS) -> Tools -> Options

 

Tab General -> EDA Tool Options

 

In ModelSim-Altera, browse to /home/XXXXXXXX/intelFPGA_lite/18.1/modelsim_ase/bin

 

Please note /modelsim_ase/bin and NOT /modelsim_ase/linuxaloem who doesn't work for me like you.

 

LEt me know ! Work for me !

HMeye6
Beginner
3,857 Views

Hi,

with all of the above I am able to run the modelsim GUI via the vsim command.

But so far I can NOT start modelsim via quartus "Run Simulation Tool". If I attempt it, I get the following error:

Info: Info: Successfully spawned ModelSim-Altera Simulation software
Error in startup script:
Initialization problem, exiting.

Initialization problem, exiting.

Initialization problem, exiting.

while executing
"Transcript::action_log "PROPREAD \"$key\" \"$value\"""
(procedure "VsimProperties::Init" line 59)
invoked from within
"VsimProperties::Init $MTIKeypath"
(procedure "PropertiesInit" line 18)
invoked from within
"PropertiesInit"
invoked from within
"ncFyP12 -+"
(file "/mtitcl/vsim/vsim" line 1)
** Fatal: Read failure in vlm process (0,0)

 

Does anybody know how to fix this?

0 Kudos
HMeye6
Beginner
3,855 Views

Nevermind, it works now. I had specified a wrong path... my bad.

0 Kudos
anm
New Contributor I
4,320 Views

@Abe​  @GPete3​ 

 

Thank you both for your answers, your responses worked for me too for "Ubuntu 18.04.4 LTS"!

0 Kudos
fogl
Novice
4,159 Views

Hello everybody,

I am still having problem with ModelSIm(Quartus 19.1) on Ubuntu 18.04.1

I did all the above, but i still get an error (please see below). The '/modelsim_ase/bin$ ./vsim' is working and opening the GUI,

-----------------------------------------------------------

Info: Start Nativelink Simulation process
executing command line: ip-make-simscript --nativelink-mode --output-directory=myProject_iputf_input --spd=/home/xxx/myProject/qipsip/ddr_in.spd

========= EDA Simulation Settings =====================

Sim Mode : RTL
Family : max10
Quartus root : /home/xxx/intelFPGA_lite/19.1/quartus/linux64/
Quartus sim root : /home/xxx/intelFPGA_lite/19.1/quartus/eda/sim_lib
Simulation Tool : modelsim-altera
Simulation Language : none
Simulation Mode : GUI
Sim Output File :
Sim SDF file :
Sim dir : simulation/modelsim

=======================================================

Info: Starting NativeLink simulation with ModelSim-Altera software
Sourced NativeLink script /home/xxx/intelFPGA_lite/19.1/quartus/common/tcl/internal/nativelink/modelsim.tcl
Warning: File myProject_run_msim_rtl_none.do already exists - backing up current file as myProject_run_msim_rtl_none.do.bak11
TCL READ VARNAME
Error: NativeLink simulation flow was NOT successful

 

================The following additional information is provided to help identify the cause of error while running nativelink scripts=================
Nativelink TCL script failed with errorCode: NONE
Nativelink TCL script failed with errorInfo: can't read "family_independent_lib_list(none)": no such element in array
while executing
"set my_lib_list $family_independent_lib_list($language)"
(procedure "::quartus::sim_lib_info::get_family_independent_sim_models" line
invoked from within
"::quartus::sim_lib_info::get_family_independent_sim_models $language $tool $hdl_version"
(procedure "iputf_get_sim_models" line 13)
invoked from within
"iputf_get_sim_models $family $language $rtl_sim $tool"
(procedure "get_sim_models_for_design" line 10)
invoked from within
"get_sim_models_for_design $lang $rtl_sim "modelsim""
invoked from within
"if [ catch { open $msim_do_file_name w } msim_do_file ] {
nl_postmsg error "Error: Can't open file $msim_do_file_name: $file_id"
set msim_do_file_n..."
(procedure "gen_msim_script" line 69)
invoked from within
"gen_msim_script args_hash"
("eval" body line 1)
invoked from within
"eval gen_msim_script args_hash"
invoked from within
"if [ catch {eval gen_msim_script args_hash} msim_do_file_name] {
error "$::errorCode" "$::errorInfo"
} elseif {$script_mode == 0} {
post_message..."
(procedure "launch_sim" line 108)
invoked from within
"launch_sim launch_args_hash"
("eval" body line 1)
invoked from within
"eval launch_sim launch_args_hash"
invoked from within
"if [ info exists ::errorCode ] {
set savedCode $::errorCode
set savedInfo $::errorInfo
error $result $..."
invoked from within
"if [catch {eval launch_sim launch_args_hash} result ] {
set status 1
if [ info exists ::errorCode ] {
set save..."
(procedure "run_sim" line 74)
invoked from within
"run_sim run_sim_args_hash"
invoked from within
"if [ info exists ::errorCode ] {
set savedCode $::errorCode
set savedInfo $::errorInfo
error "$result" $savedInfo ..."
(procedure "run_eda_simulation_tool" line 334)
invoked from within
"run_eda_simulation_tool eda_opts_hash"

0 Kudos
Reply