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

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

Valued Contributor II

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:


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/* /<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




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




9 Replies

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.


0 Kudos

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.


in 2020, I still need to do this.


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



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 !



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
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

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

0 Kudos
New Contributor I

@Abe​  @GPete3​ 


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

0 Kudos

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 already exists - backing up current file as
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} {
(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