Forum Discussion
May I know the exact step to run the Quartus Prime Standard under Windows Subsystem for Linux? I would like to duplicate the error/crash from my side.
May I confirm the below information that you are using:
OS platform: Window 10
Quartus: Standard version 20.1
Hello,
Definitely. The easiest way to reproduce this is by installing a new Quartus and trying to install the license. Note: it is not only the initial license UI that is broken, starting Quartus with a proper license also results in the crash.
C:\Users\blueCmd>ver Microsoft Windows [Version 10.0.18363.900] C:\Users\blueCmd>curl.exe -L -o ubuntu-2004.appx https://aka.ms/wslubuntu2004 100 432M 100 432M 0 0 108M 0 0:00:04 0:00:04 --:--:-- 108M C:\Users\blueCmd>ubuntu-2004.appx # Run through the installation of Ubuntu 20.04. Close the shell when it pops up. C:\Users\blueCmd>wsl -d Ubuntu-20.04 -e bash To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. # Make sure you are running a X11 server on Windows to be able to use the GUI. Like VcXsrv or Xming. bluecmd@stereolith:~$ export DISPLAY="localhost:0.0" # Install Quartus 20.1 Standard Edition - no device support needed, minimal installation is fine. bluecmd@stereolith:~$ /mnt/c/Users/blueCmd/Downloads/QuartusSetup-20.1.0.711-linux.run bluecmd@stereolith:~$ ~/intelFPGA/20.1/quartus/bin/quartus # Select "If you have a valid license file, specify the location of your license file" and press OK realloc(): invalid pointer Aborted (core dumped)
The easiest way to get the stacktrace is think is like this:
bluecmd@stereolith:~$ sudo apt install gdb bluecmd@stereolith:~$ gdb GNU gdb (Ubuntu 9.1-0ubuntu1) 9.1 Copyright (C) 2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word". (gdb) set exec-wrapper env 'LD_LIBRARY_PATH=/home/bluecmd/intelFPGA/20.1/quartus/linux64: PATH=/home/bluecmd/intelFPGA/20.1/quartus/adm:/home/bluecmd/intelFPGA/20.1/quartus/linux64:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' (gdb) exec-file /home/bluecmd/intelFPGA/20.1/quartus/linux64/quartus (gdb) run Starting program: /home/bluecmd/intelFPGA/20.1/quartus/linux64/quartus [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7fffd85d0700 (LWP 607)] realloc(): invalid pointer Thread 1 "quartus" received signal SIGABRT, Aborted. __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007fffde0f5859 in __GI_abort () at abort.c:79 #2 0x00007fffde1603ee in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7fffde28a285 "%s\n") at ../sysdeps/posix/libc_fatal.c:155 #3 0x00007fffde16847c in malloc_printerr (str=str@entry=0x7fffde2885e2 "realloc(): invalid pointer") at malloc.c:5347 #4 0x00007fffde16de8a in __GI___libc_realloc (bytes=11, oldmem=0x7fffd8858f88) at malloc.c:3175 #5 realloc_hook_ini (ptr=0x7fffd8858f88, sz=11, caller=<optimized out>) at hooks.c:41 #6 0x00007fffd5bc7026 in ?? () from /lib/x86_64-linux-gnu/libudev.so.1 #7 0x00007fffd5bce7cd in ?? () from /lib/x86_64-linux-gnu/libudev.so.1 #8 0x00007fffd5bd2bfb in ?? () from /lib/x86_64-linux-gnu/libudev.so.1 #9 0x00007fffd5bd33a4 in ?? () from /lib/x86_64-linux-gnu/libudev.so.1 #10 0x00007fffd5bda810 in ?? () from /lib/x86_64-linux-gnu/libudev.so.1 #11 0x00007fffd5bdabfb in ?? () from /lib/x86_64-linux-gnu/libudev.so.1 #12 0x00007fffd5bdd474 in udev_enumerate_scan_devices () from /lib/x86_64-linux-gnu/libudev.so.1 #13 0x00007fffe6692f45 in ?? () from /home/bluecmd/intelFPGA/20.1/quartus/linux64/libsys_cpt.so #14 0x00007fffe66933c9 in Ox77bf42fd0a26f062 () from /home/bluecmd/intelFPGA/20.1/quartus/linux64/libsys_cpt.so #15 0x00007fffe6662ce7 in ?? () from /home/bluecmd/intelFPGA/20.1/quartus/linux64/libsys_cpt.so #16 0x00007fffe6662aa6 in Ox77bf42b53a2ca1aa () from /home/bluecmd/intelFPGA/20.1/quartus/linux64/libsys_cpt.so #17 0x00007fffe6651faf in ?? () from /home/bluecmd/intelFPGA/20.1/quartus/linux64/libsys_cpt.so #18 0x00007fffe6652892 in lc_getid_type () from /home/bluecmd/intelFPGA/20.1/quartus/linux64/libsys_cpt.so #19 0x00007fffe6604800 in cpt_flexlm_get_local_hostid_by_type () from /home/bluecmd/intelFPGA/20.1/quartus/linux64/libsys_cpt.so #20 0x00007fffe6604955 in cpt_flexlm_get_local_hostid () from /home/bluecmd/intelFPGA/20.1/quartus/linux64/libsys_cpt.so #21 0x00007fffe65e702e in CPT_FLEXLM_MGR::get_local_hostid(CPT_HOSTID_TYPE, std::vector<std::string, std::allocator<std::string> >*) () from /home/bluecmd/intelFPGA/20.1/quartus/linux64/libsys_cpt.so #22 0x00007fffe65eb69a in CPT_MANAGER::get_local_hostid(CPT_HOSTID_TYPE, std::vector<std::string, std::allocator<std::string> >*) () from /home/bluecmd/intelFPGA/20.1/quartus/linux64/libsys_cpt.so #23 0x00007fffd600a201 in CPT_GUIQ_OPTIONS_LICENSE_SETUP::update_machine_controls() () from /home/bluecmd/intelFPGA/20.1/quartus/linux64/libsys_cpt_guiq.so #24 0x00007fffd600e466 in CPT_GUIQ_OPTIONS_LICENSE_SETUP::showEvent(QShowEvent*) () from /home/bluecmd/intelFPGA/20.1/quartus/linux64/libsys_cpt_guiq.so #25 0x00007fffe2ce6558 in QWidget::event(QEvent*) () from /home/bluecmd/intelFPGA/20.1/quartus/linux64/libQtGui.so.4 #26 0x00007fffe30fc47b in QFrame::event(QEvent*) () from /home/bluecmd/intelFPGA/20.1/quartus/linux64/libQtGui.so.4 #27 0x00007fffe2c8484f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/bluecmd/intelFPGA/20.1/quartus/linux64/libQtGui.so.4 #28 0x00007fffe2c8aea3 in QApplication::notify(QObject*, QEvent*) () from /home/bluecmd/intelFPGA/20.1/quartus/linux64/libQtGui.so.4
You can also install the libudev.so debug symbols from Ubuntu, should be called libudev1-dbgsym, for even more details in the udev library.
To use the workaround I have, you can do this:
bluecmd@stereolith:~$ LD_PRELOAD=/lib/x86_64-linux-gnu/libudev.so.1 ~/intelFPGA/20.1/quartus/bin/quartus
Now when you click on the Select license file option you should be greeted by the license UI.
- Rickard5 years ago
New Contributor
I get the exact same problem running Quartus in ChromeOS Crostini (Debian LXC VM). The same solution work around the issue.
- bluecmd5 years ago
New Contributor
Thanks Rickard! Happy the workaround worked for you.
I have some extra data-points to share:
- Ubuntu 18.04 LTS on WSL seems to work without this workaround, while 19.04 and newer (including the latest 20.04 LTS) needs this workaround.
- If setting LD_PRELOAD while trying to start ModelSim compilations, they will fail to decrypt (and thus compile) any encrypted device libraries:
# ** Error: ../intelFPGA/20.1/quartus/eda/sim_lib/mentor/stratixv_atoms_ncrypt.v(38): (vlog-2163) Macro `<protected> is undefined. # ** Error: ../intelFPGA/20.1/quartus/eda/sim_lib/mentor/stratixv_atoms_ncrypt.v(38): (vlog-2163) Macro `<protected> is undefined. # ** Error: (vlog-13069) ../intelFPGA/20.1/quartus/eda/sim_lib/mentor/stratixv_atoms_ncrypt.v(38): syntax error in protected region. # # ** Error: ../intelFPGA/20.1/quartus/eda/sim_lib/mentor/stratixv_atoms_ncrypt.v(38): (vlog-13205) Syntax error found in the scope following '<protected>'. Is there a missing '::'? # End time: 23:08:09 on Aug 20,2020, Elapsed time: 0:00:00 # Errors: 5, Warnings: 0The workaround is to only use LD_PRELOAD for Quartus tools, and not ModelSim. I have no idea why preloading udev would suddenly break the decryption but I can reliably reproduce the issue on a clean Ubuntu 18.04 and 20.04 machine (non-WSL) when setting LD_PRELOAD=/lib/x86_64-linux-gnu/libudev.so.1.
This is of course only relevant if you are using the 64-bit version of ModelSim. As Intel only distributes the 32-bit version to my knowledge that does not apply here.
- RichardT_altera5 years ago
Super Contributor
Sorry that case had been idling for quite sometimes.
Could you try to install the latest Quartus version and see if the issue still persists? Please download the Quartus version with the corresponding OS from https://fpgasoftware.intel.com/
Try to follow the steps in Installing Windows Subsystem for Linux* (WSL) on Windows and please use Ubuntu 18.04 as stated in the user guide.