• 0
AndrewSM

Running AD2 waveforms and python scripts with glibc 2.12

Question

Hi I’m having trouble getting the waveforms sdk to work with my analog discovery II. I have the Adept runtime & Utilities installed with the FTDI drivers. The analog discovery shows up when I run this command:

$ dadutil enum

So I don’t think it’s a USB driver issue.

I’m using Red Hat Enterprise 6.10 with glibc 2.12, which may be the source of my problems. I’m trying to run python scripts from the example folder (with python 2.7). When running the latest versions of Adept 2 runtime, I would get errors from the libdwf.x.x.x about missing the required glibc 2.14 library. When running older versions of the runtime, I would not get those explicit errors but the script would never find and connect to the analog discovery.

Is there a way to run the scripts without updating glibc for the whole system? I’ve learned that just updating glibc is a disruptive change that could break other statically and dynamically linked binaries on the system (and this computer is used for a bunch of other stuff in our lab). I can download another version of glibc but I don’t know how to direct the libdwf.x.x.x to use it.

Thanks!

Andrew

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

For anyone else having a similar problem I found a workaround, though it's a little strange. 

Install the glibc 2.14 library in parallel in an alternate location. I put mine in a folder in the root directory.

The libdwf.x.x.x binary does not look for the glibc-2.12 library directly. It looks for a symbolic link file named libc.so.6 in directory /lib64. That file redirects libdwf.x.x.x to the glibc library. Now if you modify libc.so.6 to point to the new glibc library, you will have major problems because many systems in the computer rely on the current installed version 2.12 (I got a kernel panic and had to use a recovery disk to revert my changes...). Instead of modifying glibc.so.6, make a new symbolic link file in the same location that points to the new library. I named mine "glibc.so.7". But libdwf.x.x.x will still look for libc.so.6 instead of the new file so you have to open it in a hex editor and modify it. All I had to do was Ctrl-f for "libc.so.6" and change the 6 to a 7. After all that it works!

I think you could also modify a binary in the same way to get the waveform GUI application to work. Try running if from terminal and look at the errors to find whatever file is looking for the glibc library and modify it to look for libc.so.7 instead of libc.so.6. I havn't gotten around to it though since I just need to run python scripts. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now