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

 

Author: gruvin

Born anatomically male, of a largely uninteresting bipedal, carbon based species, during the ninth moon orbit of the one thousand, nine hundred and seventy first meaningfully recorded solar orbital cycle (according to Gregory) of a small blue planet, situated near the outer edge of a seemingly long forgotten galaxy, located at the precise centre of its universe. In short; — I am. Therefore, I am.

3 thoughts 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 to Matt Huszagh Cancel reply

Your email address will not be published.