I was running into this GLIBC version issue when setting up RTL simulation with DPI call in Questa Sim (Modelsim). Here is the error message from Questa transcript.

After some investigation, it turned out that the RTL simulation server (CentOS 6.8) has an older version of Glibc than the computer I compile the C code (Ubuntu 14.04). Due to one function call: memcpy.

Here are the steps I took to diagnosis and solve the issue.

Step 1: Figure out the glibc version used in the system

There are many ways to find this information. Here I listed two of them and the log on my server was as below.

Method 1:

Method 2:

The server has glibc version 2.12. So any function that require GLIBC_2.14 won’t be able to run.

Step 2: Find out which function is causing the problem

Method 1: use readelf

Method 2: use objdump

It is clear that the memcpy is causing the problem. Actually, it turned out to be a known problem for a long time and I am just the last one to know about it.

Step 3: Fix the problem

Once we figure out what is causing the issue. The fix is relatively easy and many posts have given a simple solution. Just add the following line into the C code will force to pick up the memcpy from an older version of GLIBC.

Hope the process help you to figure out and solve your GLIBC problem. Have fun.

How to solve the GLIBC versoin not found issue

One thought on “How to solve the GLIBC versoin not found issue

Please tell us what's in your mind ...

%d bloggers like this: