Intel Quartus 16.1: Fix for, “Inconsistency detected by ld.so: dl-close.c”

If you stumbled on this via Google, I hope you found it useful in your specific use case.

While using intelFPGA (Quartus) Lite v16.1 on my Ubuntu Linux 16.x system, I was seeing this shared library-related error …

Inconsistency detected by ld.so: dl-close.c: 811: _dl_close: Assertion `map->l_init_called' failed!

The problem turned out to be some kind of incompatibility with libboost_system.so. Quartus supplies and indeed requires v1.59.0, while my system has v1.58.0 installed, being the latest pkg manager version at the time.

It turns out that the Quartus commandline tools refer to plain libboost_system.so file, which is in fact a sym-link to libboost_system.so.1.59.0. Meanwhile, the GUI tools explicitly require the latter. Hmmm.

Damn the torpedos! FULL STEAM AHEAD!

The easiest fix I could see in my busy litle day was to simply remove the symlink, such that the Quartus command-line tools would use the system lib (found by ld-linux.so, in the normal fashion) …

~$ cd ~/intelFPGA_lite/16.1/quartus/linux64/
~/intelFPGA_lite/16.1/quartus/linux64/$ rm -f libboost_system.so

… and that actually did the trick, for once! Astonishing! 🙂

YMMV