cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Announcements
Want to learn some quick and useful tips to make your day easier? Check out how Calvin uses Replay to get feedback from other teams at Dropbox here.

Apps and Installations

Have a question about a Dropbox app or installation? Reach out to the Dropbox Community and get solutions, help, and advice from members.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Headless install on Debian: libglapi.so.0: cannot open shared object file

Headless install on Debian: libglapi.so.0: cannot open shared object file

Albert25
Helpful | Level 5
Go to solution

I tried this on support, but didn't get a useful reply, so I hope someone here knows the answer.

On a Linux Debian 10 ("buster") headless server, I tried to follow the instructions at https://www.dropbox.com/install-linux for "Dropbox Headless Install via command line":

cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
~/.dropbox-dist/dropboxd

The 2nd command ends with the lines below and suggests contacting support and providing the log file.

dropbox: load fq extension '/root/.dropbox-dist/dropbox-lnx.x86_64-90.4.307/PyQt5.QtGui.cpython-37m-x86_64-linux-gnu.so'
Couldn't start Dropbox.
This is usually because of a permissions error. Storing your home folder on a network share can also cause an error.

Note that I was running as root, so it's not really a permission problem. The end of the log file shows that the real problem is that it cannot find a library dependency:

ImportError: libglapi.so.0: cannot open shared object file: No such file or directory

I tried to install a libglapi library from the Debian repos, but the the same script complained about some other missing library.

Is there a list of the required libraries somewhere?

Thanks for any help

Below is the full content of that log file:

# cat /tmp/dropbox_errorbdqczvcw.txt
bn.BUILD_KEY: Dropbox
bn.VERSION: 90.4.307
bn.DROPBOXEXT_VERSION: failed
bn.is_frozen: True
machine_id: 1fae349e-4089-47e7-9a96-35c749d174a3
pid: 28563
ppid: 28540
ppid exe: '/bin/bash'
uid: 0
user_info: pwd.struct_passwd(pw_name='root', pw_passwd='x', pw_uid=0, pw_gid=0, pw_gecos='root', pw_dir='/root', pw_shell='/bin/bash')
effective_user_info: pwd.struct_passwd(pw_name='root', pw_passwd='x', pw_uid=0, pw_gid=0, pw_gecos='root', pw_dir='/root', pw_shell='/bin/bash')
euid: 0
gid: 0
egid: 0
group_info: grp.struct_group(gr_name='root', gr_passwd='x', gr_gid=0, gr_mem=[])
effective_group_info: grp.struct_group(gr_name='root', gr_passwd='x', gr_gid=0, gr_mem=[])
LD_LIBRARY_PATH: None
cwd: '/root'
real_path='/root'
mode=0o40700 uid=0 gid=0
parent mode=0o40755 uid=0 gid=0
HOME: '/root'
appdata: '/root/.dropbox/instance1'
real_path='/root/.dropbox/instance1'
mode=0o40700 uid=0 gid=0
parent mode=0o40755 uid=0 gid=0
dropbox_path: '/root/Dropbox'
real_path='/root/Dropbox'
not found
parent mode=0o40700 uid=0 gid=0
sys_executable: '/root/.dropbox-dist/dropbox-lnx.x86_64-90.4.307/dropbox'
real_path='/root/.dropbox-dist/dropbox-lnx.x86_64-90.4.307/dropbox'
mode=0o100755 uid=1000 gid=1000
parent mode=0o40775 uid=1000 gid=1000
trace.__file__: '/root/.dropbox-dist/dropbox-lnx.x86_64-90.4.307/python-packages.zip/dropbox/client/ui/common/boot_error.pyc'
real_path='/root/.dropbox-dist/dropbox-lnx.x86_64-90.4.307/python-packages.zip/dropbox/client/ui/common/boot_error.pyc'
not found
parent not found
tempdir: '/tmp'
real_path='/tmp'
mode=0o41777 uid=0 gid=0
parent mode=0o40755 uid=0 gid=0
Traceback (most recent call last):
File "dropbox/client/main.pyc", line 7999, in main_startup
File "dropbox/client/main.pyc", line 3539, in run
File "dropbox/client/ui/common/uikit.pyc", line 860, in create_ui_kit
File "dropbox/client/ui/qt/uikit.pyc", line 53, in <module>
File "<_bootstrap_overrides>", line 153, in load_module
ImportError: libglapi.so.0: cannot open shared object file: No such file or directory

 

18 Replies 18

autobot
Helpful | Level 5
Go to solution

I just found a disk completely filled with upgrade files on a small server that uses headless dropbox service. I assume it broke and kept trying and failing to upgrade a previously working installation. The files it was getting then leaving were like:

1043520 96252 -rwxr-xr-x   1 autobot  nogroup  98561877 Apr  3 22:11 Dropbox/.dropbox.cache/tmp_dirs/18cca87d08171623cd379d43355c5230/dropbox-upgrade-94.4.384.tar.gz
657286 96252 -rwxr-xr-x   1 autobot  nogroup  98561877 Apr 15 19:19 Dropbox/.dropbox.cache/tmp_dirs/8e2c186a1116c0b40ea13b8e10888fd3/dropbox-upgrade-94.4.384.tar.gz
657348 96500 -rwxr-xr-x   1 autobot  nogroup  98809031 Apr 18 14:32 Dropbox/.dropbox.cache/tmp_dirs/ac1f62c0c4a89a96edc738cd966b3637/dropbox-upgrade-95.4.441.tar.gz
657344 96500 -rwxr-xr-x   1 autobot  nogroup  98809031 Apr 18 10:55 Dropbox/.dropbox.cache/tmp_dirs/516bdd1096660ad2bd1467de1ba12704/dropbox-upgrade-95.4.441.tar.gz

After installing the extra deps, it's back to normal the new upgrade file it downloaded disappeared.

 

I can't understand why is the CLI version is dependent on any X server libraries at all. Surely it should be the other way around: the GUI version depending on both X and CLI version.

 

I already had to write a script because the auto-updater litters the home dir with hidden .dropbox-dist-old-* directories:

#!/bin/sh
/usr/bin/find /home/autobot/ -mindepth 1 -maxdepth 1 -type d -name '.dropbox-dist-old-*' -printf "%T@\t%p\n" | /usr/bin/sort -nr | /usr/bin/cut -f 2 | /usr/bin/tail -n +3 | /usr/bin/xargs -r rm -r

(keeps the latest two, written to be run from cron.)

nicecherub
New member | Level 2
Go to solution

I am facing the follwoing error and I tried to install libXdamage but failed. Could anyone help to suggest a solution on this? 

 

./dropbox.py update

Dropbox is the easiest way to share and store your files online. Want to learn more? Head to https://www.dropbox.com/

In order to use Dropbox, you must download the proprietary daemon. [y/n] y
Downloading Dropbox... 100%
Unpacking Dropbox... 100%dropbox: locating interpreter
dropbox: logging to /tmp/dropbox-antifreeze-JR5ViI
dropbox: initializing
dropbox: initializing python 3.7.5
dropbox: setting program path '/data/.dropbox-dist/dropbox-lnx.x86_64-98.4.158/dropbox'
dropbox: setting python path '/data/.dropbox-dist/dropbox-lnx.x86_64-98.4.158:/data/.dropbox-dist/dropbox-lnx.x86_64-98.4.158/python-packages.zip'
dropbox: python initialized
dropbox: running dropbox
dropbox: setting args
dropbox: applying overrides
dropbox: running main script
dropbox: load fq extension '/data/.dropbox-dist/dropbox-lnx.x86_64-98.4.158/cryptography.hazmat.bindings._constant_time.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/data/.dropbox-dist/dropbox-lnx.x86_64-98.4.158/cryptography.hazmat.bindings._openssl.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/data/.dropbox-dist/dropbox-lnx.x86_64-98.4.158/cryptography.hazmat.bindings._padding.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/data/.dropbox-dist/dropbox-lnx.x86_64-98.4.158/psutil._psutil_linux.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/data/.dropbox-dist/dropbox-lnx.x86_64-98.4.158/psutil._psutil_posix.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/data/.dropbox-dist/dropbox-lnx.x86_64-98.4.158/apex._apex.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/data/.dropbox-dist/dropbox-lnx.x86_64-98.4.158/tornado.speedups.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/data/.dropbox-dist/dropbox-lnx.x86_64-98.4.158/wrapt._wrappers.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/data/.dropbox-dist/dropbox-lnx.x86_64-98.4.158/PyQt5.QtWidgets.cpython-37m-x86_64-linux-gnu.so'

Traceback (most recent call last):
File "dropbox/client/main.pyc", line 262, in <module>
File "dropbox/foundation/navigation_service/factory.pyc", line 22, in <module>
File "dropbox/foundation/navigation_service/navigation_service_impl.pyc", line 57, in <module>
File "dropbox/foundation/html_views/electron/manager_factory.pyc", line 14, in <module>
File "dropbox/foundation/html_views/local/common/manager.pyc", line 33, in <module>
File "dropbox/client/features/model_registry.pyc", line 13, in <module>
File "dropbox/client/features/generated_models.pyc", line 286, in <module>
File "dropbox/client/features/previews/view_anchor.pyc", line 106, in <module>
File "<_bootstrap_overrides>", line 153, in load_module
ImportError: libXdamage.so.1: cannot open shared object file: No such file or directory

Walter
Dropbox Staff
Go to solution

Hi @nicecherub! Welcome to our Community and sorry for the late response; your post had been caught by our spam filter due too its length.

 

As your query seems to echo the discussion under this thread, I merged your post here so please feel free to take a look at your covenience and let us know if you have any more questions. 

 

Specifically, make sure to check the solution offered here

 

Cheers!


Walter
Community Moderator @ Dropbox
dropbox.com/support


Heart Did this post help you? If so, give it a Like below to let us know.
:arrows_counterclockwise: Need help with something else? Ask me a question!
:pushpin: Find Tips & Tricks Discover more ways to use Dropbox here!
:arrows_counterclockwise: Interested in Community Groups? Click here to join

marsch
New member | Level 2
Go to solution

You are making the user install graphics libraries on a headless system. This answer just makes zero sense for a headless/cli-only install.

Paul243
New member | Level 2
Go to solution

I just spent an hour figuring this out and it seems there is no way to install properly Dropbox on a Debian server. 

The proposed scripts are working but only at first start. Next launch it gets stuck on loading a PyQt5.QtGui.cpython-37m-x86_64-linux-gnu.so library we obviously don't need...

Plus, we're missing command line instructions to define the folders we want to synchronize.

@Dropbox, thank you for fixing this.

David M.83
New member | Level 2
Go to solution

For the lazy

 

sudo apt install libc6 libglapi-mesa libxdamage1 libxfixes3 libxcb-glx0 libxcb-dri2-0 libxcb-dri3-0 libxcb-present0 libxcb-sync1 libxshmfence1 libxxf86vm1

 

 

eposthumus
New member | Level 2
Go to solution

And for those that want a minimal set of packages, as to not pollute your server too much with unneeded packages.

On Ubuntu 18.04 I needed:

 

sudo apt install libglapi-mesa libxcb-glx0 libxxf86vm1

zahanmfb
New member | Level 2
Go to solution

As described in this support thread, the headless Dropbox client seems to depend on a few graphics libraries, including libglapi-mesa - hence we see the error described when trying to install and start it using just the official installation instructions.

 

ImportError: libglapi.so.0: cannot open shared object file: No such file or directory

 

Can we get the dev team to fix this such that the headless client doesn't depend on these libraries? I imagine its an unintended dependency.

Lusil
Dropbox Staff
Go to solution

Hey @zahanmfb, thanks for reaching out. 

 

I moved your post to this thread to keep relevant troubleshooting about this under one discussion, so as to better track your feedback. 

 

Thanks for taking the time to share this with us, and if you have anything else in mind, don't hesitate to get back to us. 


Lusil
Community Moderator @ Dropbox
dropbox.com/support


Heart Did this post help you? If so, please give it a Like below.
:arrows_counterclockwise: Still stuck? Ask me a question!
:pushpin: Tips & Tricks Find new ways to stay in flow or share your tips on how you work smarter with Dropbox.

Need more support?
Who's talking

Top contributors to this post

  • User avatar
    Lusil Dropbox Staff
  • User avatar
    zahanmfb New member | Level 2
  • User avatar
    eposthumus New member | Level 2
  • User avatar
    David M.83 New member | Level 2
  • User avatar
    Paul243 New member | Level 2
What do Dropbox user levels mean?