Jump to content
  • 0

Waveforms not opening


scorbetta

Question

I just downloaded the latest .deb file for Waveforms and I'm trying to install it onto an Ubuntu 22.04 machine. I also (re)installed the Adept runtime version 2.27.9. I also tried older versions, like 3.22.2 and 3.21.3. The same message appears:

waveforms: symbol lookup error: waveforms: undefined symbol: DmgrSetNetworkConnTimeout

If I run it as sudo, the message does not appear but the Software doesn't show up and the command returns immediately.

What shall I do?

Thanks

S

Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0

@scorbetta

  1. What Digilent hardware, if any, do you have attached to your system when attempting to launch Waveforms?
  2. Does this error show up immediately when you launch the application or are additional steps required to reproduce it?
  3. Can you try executing "nm -D --defined-only  /usr/local/lib64/digilent/adept/libdmgr.so | grep DmgrSetNetworkConnTimeout" and providing the output? It should be something similar to "000000000000237d T DmgrSetNetworkConnTimeout".
  4. When I install the debian package in Ubuntu 22.04 LTS using "sudo apt install ./digilent.adept.runtime_2.27.9-amd64.deb" the library files always end up in "/usr/lib64/digilent/adept" on my system. It's possible that "/usr/lib64" is a symbolic link to "/usr/local/lib64" on your system. Can you execute "ls -al /usr/lib64" and see if that's the case?

@attila I can't replicate this behavior in Ubuntu 22.04 but the package always installs the files in /usr/lib64/digilent for me. If "ldconfig -p | grep libdmgr" is able to find libdmgr.so the location of the library should only matters if the application (Waveforms in this case) loads the library (instead of links to it) and specifies a relative or absolute path that doesn't match up with "/usr/local/lib64/digilent/adept/ibdmgr.so". Do you expect to see the reported error if the library can't be loaded or is this error more in line with a missing symbol?

Thanks,
Michael

Link to comment
Share on other sites

  • 0

@malexander

1. Nothing is attached

2. The error shows up immediately

3. The output is empty. Here's the output of `nm -D --defined-only  /usr/local/lib64/digilent/adept/libdmgr.so | grep -i dmgr` instead:

0000000000001ae8 T DmgrCancelTrans
0000000000001960 T DmgrClose
0000000000001bf8 T DmgrClrFsadm
0000000000001b5e T DmgrDvcTblAdd
0000000000001b76 T DmgrDvcTblRem
0000000000001b8e T DmgrDvcTblSave
0000000000001976 T DmgrEnumDevices
000000000000198e T DmgrEnumDevicesEx
0000000000001a3a T DmgrFreeDvcEnum
0000000000001b9a T DmgrGetDtpCount
0000000000001ba6 T DmgrGetDtpFromIndex
0000000000001bc4 T DmgrGetDtpString
0000000000001a1c T DmgrGetDvc
0000000000001c70 T DmgrGetDvcFromHif
0000000000001a04 T DmgrGetEnumCount
0000000000001a96 T DmgrGetInfo
0000000000001908 T DmgrGetLastError
0000000000001c4a T DmgrGetSysInfo
0000000000001abc T DmgrGetTransResult
0000000000001b1a T DmgrGetTransTimeout
00000000000018bc T DmgrGetVersion
00000000000019ec T DmgrIsEnumFinished
0000000000001914 T DmgrOpen
0000000000001934 T DmgrOpenEx
0000000000001be2 T DmgrSetFsadm
0000000000001a46 T DmgrSetInfo
0000000000001c8e T DmgrSetLastErrorLog
0000000000001cac T DmgrSetLastErrorNoLog
0000000000001c24 T DmgrSetSysInfo
0000000000001afe T DmgrSetTransTimeout
00000000000019c2 T DmgrStartEnum
00000000000019f8 T DmgrStopEnum
0000000000001cc2 T DmgrSzFromErc
0000000000001c0e T DmgrTstFsadm
 

4. Here's the output

total 12
drwxr-xr-x  3 root root 4096 apr 17 17:49 .
drwxr-xr-x 14 root root 4096 ott 19 11:03 ..
drwxr-xr-x  3 root root 4096 apr 17 17:49 digilent
lrwxrwxrwx  1 root root   42 gen  2 14:22 ld-linux-x86-64.so.2 -> /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
 

Link to comment
Share on other sites

  • 0

@scorbetta

I don't see DmgrSetNetworkConnTimeout listed in the output which doesn't make sense, as that symbol is present in the latest version of the runtime which I freshly installed using the debian package from our website. Can you please provide the output of "ls -al  /usr/local/lib64/digilent/adept/libdmgr.so"?

Thanks,
Michael

Link to comment
Share on other sites

  • 0

@malexander

I might have found something.

The output of `ls -al  /usr/local/lib64/digilent/adept/libdmgr* -l` is the following:

lrwxrwxrwx 1 root root    16 apr  5 09:21 /usr/local/lib64/digilent/adept/libdmgr.so -> libdmgr.so.2.7.2
lrwxrwxrwx 1 root root    16 apr  5 09:21 /usr/local/lib64/digilent/adept/libdmgr.so.2 -> libdmgr.so.2.7.2
-rwxr-xr-x 1 root root 25529 apr  5 09:21 /usr/local/lib64/digilent/adept/libdmgr.so.2.7.2
 

which makes me believe the library under /usr/local/lib64 is the wrong version.
I then checked under `ls -al  /usr/lib64/digilent/adept/libdmgr* -l` since you both pointed out and the output is

lrwxrwxrwx 1 root root    17 gen 30  2023 /usr/lib64/digilent/adept/libdmgr.so -> libdmgr.so.2.11.9
lrwxrwxrwx 1 root root    17 gen 30  2023 /usr/lib64/digilent/adept/libdmgr.so.2 -> libdmgr.so.2.11.9
-rw-r--r-- 1 root root 18856 gen 30  2023 /usr/lib64/digilent/adept/libdmgr.so.2.11.9
 

Now, the output of the `nm` command you asked me to issue earlier now changes to:

0000000000002583 T DmgrAddAccount
0000000000002746 T DmgrCancelTrans
0000000000002632 T DmgrChangeAccountPassword
0000000000002366 T DmgrClose
00000000000028e7 T DmgrClrFsadm
00000000000025b4 T DmgrDeleteAccount
0000000000002836 T DmgrDvcTblAdd
000000000000286a T DmgrDvcTblClear
0000000000002850 T DmgrDvcTblRem
0000000000002875 T DmgrDvcTblSave
00000000000023ae T DmgrEnableControlChannelTLS
00000000000023c5 T DmgrEnableDataChannelTLS
0000000000002561 T DmgrEnableDisableClientAuthentication
0000000000002410 T DmgrEnumDevices
000000000000242a T DmgrEnumDevicesEx
0000000000002500 T DmgrFreeDvcEnum
00000000000025d9 T DmgrGetAccountAttributes
000000000000265f T DmgrGetAccountList
0000000000002880 T DmgrGetDtpCount
000000000000288b T DmgrGetDtpFromIndex
00000000000028ad T DmgrGetDtpString
00000000000024bc T DmgrGetDvc
000000000000296a T DmgrGetDvcFromHif
00000000000024de T DmgrGetEdvc
00000000000024a2 T DmgrGetEnumCount
00000000000026ef T DmgrGetInfo
0000000000002308 T DmgrGetLastError
0000000000002394 T DmgrGetNetworkConnTimeout
0000000000002522 T DmgrGetNetworkEnumTimeout
0000000000002940 T DmgrGetSysInfo
0000000000002719 T DmgrGetTransResult
000000000000277c T DmgrGetTransTimeout
00000000000022d0 T DmgrGetVersion
000000000000253c T DmgrIsClientAuthenticationEnabled
00000000000027e6 T DmgrIsControlChannelSecure
00000000000023dc T DmgrIsControlChannelTLSEnabled
000000000000280e T DmgrIsDataChannelSecure
00000000000023f6 T DmgrIsDataChannelTLSEnabled
000000000000248c T DmgrIsEnumFinished
0000000000002313 T DmgrOpen
0000000000002338 T DmgrOpenEx
0000000000002606 T DmgrSetAccountAttributes
00000000000028cf T DmgrSetFsadm
000000000000268f T DmgrSetInfo
000000000000298c T DmgrSetLastErrorLog
00000000000029ae T DmgrSetLastErrorNoLog
000000000000237d T DmgrSetNetworkConnTimeout
000000000000250b T DmgrSetNetworkEnumTimeout
0000000000002916 T DmgrSetSysInfo
000000000000275d T DmgrSetTransTimeout
0000000000002461 T DmgrStartEnum
0000000000002497 T DmgrStopEnum
00000000000029c5 T DmgrSzFromErc
00000000000028ff T DmgrTstFsadm
 

which contains the DmgrSetNetworkConnTimeout symbol.

I believe the adept runtime unde /usr/local has been installed by either Vivado or an (old version of) ISE. 
If I launch waveforms in the following manner:

LD_LIBRARY_PATH=/usr/lib64/digilent/adept waveforms

it finally loads!

I believe the following warning is ok

Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.

Does it make sense to you?

Thanks for the support

S

Link to comment
Share on other sites

  • 0

@scorbetta

This makes a lot more sense now because support for network devices was added in 2020.

To the best of my knowledge Vivado includes the libraries in a subdirectory underneath the Vivado directory and loads them from there. This is something I can confirm with Xilinx - can you tell me which version(s) you have installed?

I think at one point we were installing files in /usr/local/lib64 but moved to /usr/lib64, so it's possible that those files may be left over from an older installation that was performed using the install script from the tar.gz instead of the debian package manager.

I believe that warning message you are seeing can safely be ignored.

Thanks,
Michael

Link to comment
Share on other sites

  • 0

I'm using Vivado 2023, but I believe that particular adept version was added by ISE, since the dates of the files do match with the ISE installation!

Many thanks again for taking time on this

S

Link to comment
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
×
×
  • Create New...