Dropbox on CentOS7 requires glibc 2.19

Dropbox for Linux introduced some restrictions after august 2018: the local storage must be > ext3 (or generally excluding less secure filesystems, including CentOS’ default xfs) and glibc should be >= 2.19, but installed version is 2.17.

This caused some troubles to some users, me included, who run headless dropbox on CentOS 7 machines. Lucky for me I had an ext4 filesystem, but I didn’t know what to do for the glibc requirement.

After doing some searches I found a very quick harmless workaround on CentOS forums.

The hack consist in building a fake linux library which induces dropbox binary in thinking glibc is up to date, while it is not. User pgreco did it for Google Chrome, and was able to make dropbox fall into the same trap!

Let’s see how to proceed.

Create the file /usr/local/src/dropboxcheat.c with this content:

const char *gnu_get_libc_version (void)
        return "2.19";

Now compile (of course you will need gcc installed) it and move to CentOS local library files with:

cd /usr/local/src
gcc -Wall -fPIC -shared -o dropboxcheat.so dropboxcheat.c
mv dropboxcheat.so /usr/local/lib64/

Now we have to run dropbox and feed it with the cheat

LD_PRELOAD=/usr/local/lib64/dropboxcheat.so ./dropboxd

aaaand… That’s it!
In my case, with a headless CentOS 7.1.1503, dropbox restored its functionalities without any issue!

Here’s the link to the forum original thread with the full discussion.

Heading photo by Nicolas Hoizey on Unsplash.

9 pensieri su “Dropbox on CentOS7 requires glibc 2.19

  1. First with filesystem (requires xattr and they tight on ext4), then the processor (they say ARM is a non-standard cpu), tight libc, poor headless support, limit in linked devices.

    It seems they are trying to do the “pass on pay or leave for good” way

  2. Thank you, but.. Sadly this hasn’t worked for me, using the 64-bit headless install from https://www.dropbox.com/install-linux (which installs to ~/.dropbox-dist/dropboxd) and compiling the .so as you instruct, it fails during the python code, with “ImportError: /lib64/libc.so.6: version `GLIBC_2.18′ not found (required by /home/premier/.dropbox-dist/dropbox-lnx.x86_64-99.4.501/libdropbox_apex.so)”. I know it’s loading the .so because I mis-typed it the first time as just .o and I got “cannot be preloaded” errors before dropboxd ran. With that fixed, it still cannot start up. (on CentOS 7.8.2003 (core) headless server)

    • This workaround is ~2y old, it’s possible they changed something else and it’s not working anymore. Someone here suggested to use Docker to run Dropbox, could it be an option?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Solve : *
25 − 1 =

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.