Forum Discussion

Abe's avatar
Abe
Icon for Frequent Contributor rankFrequent Contributor
7 years ago

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

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

  • RKlee1's avatar
    RKlee1
    Icon for New Contributor rankNew Contributor

    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's avatar
      AFAN01
      Icon for New Contributor rankNew Contributor

      in 2020, I still need to do this.

  • DRose's avatar
    DRose
    Icon for New Contributor rankNew Contributor

    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?

    • GPete3's avatar
      GPete3
      Icon for New Contributor rankNew Contributor

      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's avatar
        HMeye6
        Icon for New Contributor rankNew Contributor

        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?

  • anm's avatar
    anm
    Icon for Occasional Contributor rankOccasional Contributor

    @Abe@GPete3

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

    • fogl's avatar
      fogl
      Icon for Occasional Contributor rankOccasional Contributor

      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"