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 command-line 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 little 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

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

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

#YMMV

About

Born suspiciously male on a small blue planet during its one thousand nine hundred and seventy first orbit chasing an unremarkable star in a galaxy tucked away at the edge of the universe where nothing of much interest happens and even less is remembered.

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

  1. Hi Gruvin,

    Unfortunately the suggested fix results in the following problem when reading the altera_emif_a10_hps in qsys.

    Tested with the GHRD example design:
    https://releases.rocketboards.org/release/2016.10/gsrd/hw/a10_soc_devkit_ghrd.tar.gz

    And performed these steps:
    https://rocketboards.org/foswiki/view/Documentation/A10GSRDCompilingHardwareDesign

    In qsys this error occurs:


    Info: /opt/vq16.1p/quartus/sopc_builder/bin/root_components.ipx described 0 plugins, 13 paths, in 0.63 seconds
    Info: /opt/vq16.1p/quartus/sopc_builder/bin/root_components.ipx matched 1 files in 0.63 seconds
    Error:
    while executing
    “__altera__safe_source /opt/vq16.1p/quartus/../ip/altera/emif/util/../util/device_family.tcl”
    (“uplevel” body line 1)
    invoked from within
    “uplevel 1 [list __altera__safe_source {*}$args]”
    (procedure “source” line 2)
    invoked from within
    “source /opt/vq16.1p/quartus/../ip/altera/emif/util/../util/device_family.tcl”
    (“package ifneeded altera_emif::util::device_family 0.1” script)
    invoked from within
    “package require altera_emif::util::device_family”
    Warning: emif_a10_hps_0: Component type altera_emif_a10_hps is not in the library
    Info: Replacing ghrd_10as066n2.ILC with generic component

    $ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description: Ubuntu 14.04.5 LTS
    Release: 14.04
    Codename: trusty

    quartus –version
    Quartus Prime Design Software
    Version 16.1.0 Build 196 10/24/2016 SJ Pro Edition
    Copyright (C) 2016 Intel Corporation. All rights reserved.

  2. @Andre … well that’s annoying. :-/ Thanks for letting us know. Alas, I’m not sure how we would best communicate this to Intel™ to have them look into it. Shared libraries are often troublesome like this. Quartus, being such a huge program, should in my opinion be fully statically linked … no matter what the Ubuntu gurus would advise. (They officially dislike static libraries nowadays!)

  3. I’m not sure if this will fix your issue but it worked for me:

    $ mv libccl_curl_drl.so libccl_curl_drl.so.bak

    in that same directory (quartus/linux64)

    I’m running Quartus 15.1 with Ubuntu 16.04

Leave a Reply

Your email address will not be published. Required fields are marked *

*