relocation error

I have recently installed RStudio Desktop from rstudio-1.2.1335-x86_64.rpm on a CentOS 7 machine. The installation seems to have worked, but when I try to start the program with /usr/lib/rstudio/bin/rstudio in a NoMachine session from the terminal I am getting these errors:
/usr/lib/rstudio/bin/rstudio: /lib64/libdbus-1.so.3: no version information available (required by /usr/lib/rstudio/bin/../lib/libQt5DBus.so.5)
/usr/lib/rstudio/bin/rstudio: /lib64/libdbus-1.so.3: no version information available (required by /usr/lib/rstudio/bin/../lib/libQt5WebEngineCore.so.5)
/usr/lib/rstudio/bin/rstudio: relocation error: /usr/lib/rstudio/bin/../lib/libQt5DBus.so.5: symbol dbus_message_set_allow_interactive_authorization, version LIBDBUS_1_3 not defined in file libdbus-1.so.3 with link time reference

As I have read elsewhere, the "no version information available" errors should not be fatal, so I guess the "LIBDBUS_1_3 not defined" issue is preventing the program from starting. Both the CentOS 7 and the RStudio desktop installations are recent versions, so I wonder why there would be this incompatibility in these libraries.

I have seen the post on Library errors - RStudio 1.2.1335 - RHEL 7.2 by dramsay which also addresses a relocation error, but a different one - and there was no solution to the problem given (other than reversion to a previous version, which should only be a short term work-around).

Any help is appreciated!

Anton

I believe this implies the version of libdbus on your machine is too old. Is your CentOS 7 machine otherwise up-to-date? (Does yum update signal that any packages need updating?)

Thanks for your reply, Kevin. CentOS 7 seems to be up to date as

yum update

tells me “No packages marked for update”. There is however also a “Repository epel is listed more than once in the configuration” and “1 packages excluded due to repository priority protections”. As suggested by an old post here, I temporarily disabled the priorities plugin, which revealed that it was CentrifyDC-5.3.1-411.x86_64 from rhp7_add that was excluded.

Do you have any suggestions of what I could try next? Could the multiple listings of epel be the source of the problem, and if so, how could I address that?

Best regards,

Anton

On my CentOS 7 virtual machine, I see libdbus-1.so.3 in the following location:

kevin@localhost:~/Downloads
$ locate libdbus-1
/usr/lib64/libdbus-1.so.3
/usr/lib64/libdbus-1.so.3.14.14

It looks like your system is loading a version at the root path, at /lib64. Any idea where that might have come from?

FWIW the copy I have installed also has the requested symbol; e.g.

$ nm -D /usr/lib64/libdbus-1.so.3.14.14  | grep LIBDBUS_1_3
0000000000000000 A LIBDBUS_1_3

Thanks Kevin, this again takes me closer to a solution - but I am not quite there yet.

I have four entries for libdbus-1 (where the libdbus-1.so.3 entries are just links):

/usr/lib/libdbus-1.so.3
/usr/lib/libdbus-1.so.3.7.4
/usr/lib64/libdbus-1.so.3
/usr/lib64/libdbus-1.so.3.7.4

Also, /lib64 is a link, to /usr/lib64.

Both my libdbus-1.so.3.7.4 libraries indeed don't have LIBDBUS_1_3 set. The real problem though, I would guess, is that you have libdbus-1.so.3.14.14 while I have libdbus-1.so.3.7.4. So, in spite of the “No packages marked for update” message I seem to have an older version than you. Do you know how I could force an update?

Here's some other information I see:

$ rpm -q --whatprovides /usr/lib64/libdbus-1.so.3
dbus-libs-1.10.24-13.el7_6.x86_64

$ yum list | grep dbus-libs
dbus-libs.x86_64                       1:1.10.24-13.el7_6              @updates 
dbus-libs.i686                         1:1.10.24-13.el7_6              updates  

$ yum repolist
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.s.uw.edu
 * epel: mirrors.cat.pdx.edu
 * extras: centos.s.uw.edu
 * updates: centos.s.uw.edu
repo id                                                      repo name                                                                                  status
base/7/x86_64                                                CentOS-7 - Base                                                                            10,019
epel/x86_64                                                  Extra Packages for Enterprise Linux 7 - x86_64                                             13,242
extras/7/x86_64                                              CentOS-7 - Extras                                                                             419
updates/7/x86_64                                             CentOS-7 - Updates                                                                          2,146
repolist: 25,826

You might want to double-check what yum repositories you have active, and whether the CentOS-7 Updates repository is in that list.

Thanks again, Kevin. Here's what I found out:

$ rpm -q --whatprovides /usr/lib64/libdbus-1.so.3
dbus-libs-1.6.12-17.el7.x86_64

again, I have an older version than you do

$ yum list | grep dbus-libs
Repository epel is listed more than once in the configuration
Skipping unreadable repository '/etc/yum.repos.d/vscode.repo'
dbus-libs.i686             1:1.6.12-17.el7          <at>centos-os
dbus-libs.x86_64           1:1.6.12-17.el7          <at>anaconda

here too I have an older version

$ yum repolist
Loaded plugins: langpacks, priorities, versionlock
Repository epel is listed more than once in the configuration
Skipping unreadable repository '/etc/yum.repos.d/vscode.repo'
1 packages excluded due to repository priority protections
repo id                                       repo name                                                  status
acs-local/x86_64                              'ACS self-built packages'                                     115
acs-thirdparty/x86_64                         'ACS third-party packages'                                     28
centos-extras/x86_64                          'Extra Packages for CentOS'                                   792
centos-os/x86_64                              'CentOS os (v. 7 for x86_64)'                              22,305
centos-updates/x86_64                         'CentOS updates (v. 7 for x86_64)'                         10,505
epel/x86_64                                   'Extra Packages for Enterprise Linux (v. 7 for x86_64)'    50,383
rhel-7-server-thirdparty-oracle-java-rpms/x86_64    'rhel-7-server-thirdparty-oracle-java-rpms'             372
rhp7_add                                      'RockHoppers additional repo for CentOS'                     11+1
rsyslog-8/x86_64                              'Adiscon Rsyslog V8'                                        3,039
repolist: 87,550

This is quite different from your output, but I guess the relevant part is that I have:

centos-updates/x86_64          'CentOS updates (v. 7 for x86_64)'          10,505

I've also checked with the explicit yum repolist enabled, and as expected I continue to see centos-updates/x86_64.

What else can I do to help figure this out?

I wonder if the use of this Anaconda repository is forcing an old verison of libdbus to be installed, and that's overriding other requests to install a newer libdbus?

I'm not sure if I can help debug much further, but I believe the answer lies in the active yum repositories, or a package installed from a repository requiring an older libdbus.

Thanks, Kevin, you have taken me a long way towards pinpointing the cause of my problem. I need to ask around about how Anaconda might be interfering here, and will post an update once things have (hopefully) become clear.

Well, I am sorry to say that my "solution" is basically a capitulation: I reverted from version 1.2.1335 to version 1.1.463. For anyone who faces the same problem and wants to go this route too, this is what I did to de- and re-install (after downloading the respective package, of course):

yum remove rstudio-1.2.1335
yum localinstall rstudio-1.1.463-x86_64.rpm -y

Nonetheless: many thanks for your input, Kevin!