Nixpkgs: dropbox-cli refuses to sync

Created on 22 Feb 2018  路  10Comments  路  Source: NixOS/nixpkgs

Issue description

After installing dropbox-cli, the first run of dropbox start prompts to link my account, which I can do successfully (my nixos machine shows up at https://www.dropbox.com/account/security), but nothing ever gets synced. I created a ~/Dropbox/nixos.txt file to test, but get this indefinitely:

$ dropbox status
Syncing "nixos.txt"
Uploading "nixos.txt"...

dropboxd doesn't appear to be running:

$ ps axu | grep [d]ropbox
eric      1308  0.0  0.2 157452  9396 ?        Ssl  17:56   0:00 /nix/store/q9bdfmijf1ad8gqwxiwck0im7adxm4ic-ruby-2.3.6/bin/ruby /nix/store/fy1k0jfnc9mxj97hggq6w3wak5s7zkjh-chroot-user /nix/store/f3h5q61jgn9jz8qlnnrksy7wbbkxr0h8-dropbox-init /home/eric
eric      1311  0.6  3.1 2163764 126196 ?      Sl   17:56   0:04 /home/eric/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/dropbox

Technical details

```$ nix-shell -p nix-info --run "nix-info -m"

  • system: "x86_64-linux"
  • host os: Linux 4.9.78, NixOS, 17.09.2875.c2b668ee726 (Hummingbird)
  • multi-user?: yes
  • sandbox: no
  • version: nix-env (Nix) 1.11.16
  • channels(eric): ""
  • channels(root): "nixos-17.09.2875.c2b668ee726"
  • nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs
    ```

Most helpful comment

Can confirm what @jasonmj said, downloading the latest Dropbox from their official website and untarring it in .dropbox-dist fixed it for me.

All 10 comments

Same here.
My existing Dropbox folder doesn't sync anymore.

It changes between

$> dropbox status
Syncing (10,217 files remaining)
Uploading 10,217 files...

and

$> dropbox status
Connecting...
Syncing (10,217 files remaining)
Uploading 10,217 files...

Deleting ~/.dropbox* and ~/Dropbox doesn't help.

I am also having the same problem.

$> dropbox status
Up to date

But my dropbox folder located on my computer is empty. When I add a file named nixos, it will only report:

$> dropbox status
Syncing "nixos"
Uploading "nixos"...

I have also deleted ~/.dropbox* and ~/Dropbox. After restarting Dropbox, the problem does not go away.

Same issue here:

doyougnu@Voltron ~> neofetch
          ::::.    ':::::     ::::'           doyougnu@Voltron
          ':::::    ':::::.  ::::'            ----------------
            :::::     '::::.:::::             OS: NixOS 17.09.3205.12512f25e9e (Hummingbird) x86_64
      .......:::::..... ::::::::              Kernel: 4.9.86
     ::::::::::::::::::. ::::::    ::::.      Uptime: 23 hours, 34 mins
    ::::::::::::::::::::: :::::.  .::::'      Packages: 1233
           .....           ::::' :::::'       Shell: fish 2.6.0
          :::::            '::' :::::'        Resolution: 1200x1920, 1920x1080
 ........:::::               ' :::::::::::.   DE: KDE
:::::::::::::                 :::::::::::::   Theme: Breeze Dark [KDE]
 ::::::::::: ..              :::::            Icons: Breeze-dark [KDE]
     .::::: .:::            :::::             Terminal: konsole
    .:::::  :::::          '''''    .....     Terminal Font: Source Code Pro 10
    :::::   ':::::.  ......:::::::::::::'     CPU: AMD FX-8350 (8) @ 4.334GHz
     :::     ::::::. ':::::::::::::::::'      Memory: 2570MiB / 15967MiB
            .:::::::: ':::::::::: 
           .::::''::::.     '::::.                                    
          .::::'   ::::.     '::::. 
         .::::      ::::      '::::. 

Dropbox status output:

doyougnu@Voltron ~> dropbox status
dropbox: locating interpreter
dropbox: logging to /tmp/dropbox-antifreeze-xqqs7d
dropbox: initializing
dropbox: running python 2.7.11
dropbox: setting program path '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/dropbox'
dropbox: setting home path '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27'
dropbox: setting python path '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27:/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/python-packages-27.zip'
dropbox: python initialized
dropbox: running dropbox
dropbox: setting args
dropbox: applying overrides
dropbox: running main script
dropbox: load fq extension '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/cryptography.hazmat.bindings._constant_time.so'
dropbox: load fq extension '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/cryptography.hazmat.bindings._openssl.so'
dropbox: load fq extension '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/cryptography.hazmat.bindings._padding.so'
dropbox: load fq extension '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/psutil._psutil_linux.so'
dropbox: load fq extension '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/psutil._psutil_posix.so'
dropbox: load fq extension '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/linuxffi.pthread._linuxffi_pthread.so'
dropbox: load fq extension '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/tornado.speedups.so'
dropbox: load fq extension '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/cpuid.compiled._cpuid.so'
dropbox: load fq extension '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/linuxffi.resolv.compiled._linuxffi_resolv.so'
dropbox: load fq extension '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/posixffi.libc._posixffi_libc.so'
dropbox: load fq extension '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/librsyncffi.compiled._librsyncffi.so'
dropbox: load fq extension '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/linuxffi.sys.compiled._linuxffi_sys.so'
dropbox: load fq extension '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/PyQt5.QtWebKit.so'
dropbox: load fq extension '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/PyQt5.QtCore.so'
dropbox: load fq extension '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/PyQt5.QtNetwork.so'
dropbox: load fq extension '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/PyQt5.QtGui.so'
dropbox: load fq extension '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/PyQt5.QtWebKitWidgets.so'
dropbox: load fq extension '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/PyQt5.QtWidgets.so'
dropbox: load fq extension '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/PyQt5.QtPrintSupport.so'
dropbox: load fq extension '/home/doyougnu/.dropbox-dist/dropbox-lnx.x86_64-38.4.27/PyQt5.QtDBus.so'

and an empty ~/Dropbox folder:

doyougnu@Voltron ~> ls Dropbox/
doyougnu@Voltron ~> 

So, the dropbox-cli-provided dropbox command downloads and installs a compiled binary to ~/.dropbox-dist/dropbox-lnx.x86_64-46.4.65. I tried starting dropbox from there:

$ ~/.dropbox-dist/dropbox-lnx.x86_64-46.4.65/dropboxd       
/home/jdl/.dropbox-dist/dropbox-lnx.x86_64-46.4.65/dropboxd: line 14: /home/jdl/.dropbox-dist/dropbox-lnx.x86_64-46.4.65/dropbox: No such file or directory

Which is odd, because it does exist:

$ file ~/.dropbox-dist/dropbox-lnx.x86_64-46.4.65/dropbox  
/home/jdl/.dropbox-dist/dropbox-lnx.x86_64-46.4.65/dropbox: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.15, BuildID[sha1]=e30039ab0c2d6a77b64273f793a1c3b5f0f3646b, with debug_info, not stripped

Compare to some random nix-provided executable:

$ file `readlink $(which acpi)`
/nix/store/42nnn92gh1byzjh44ydihvw4dw1py39v-acpi-1.7/bin/acpi: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /nix/store/d54amiggq6bw23jw6mdsgamvs6v1g3bh-glibc-2.25-123/lib/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, not stripped

I thought it might be the interpreter /lib64/ld-linux-x86-64.so.2 part, but

$ ldd ~/.dropbox-dist/dropbox-lnx.x86_64-46.4.65/dropbox
        linux-vdso.so.1 (0x00007ffe5bf22000)
        libpthread.so.0 => /nix/store/d54amiggq6bw23jw6mdsgamvs6v1g3bh-glibc-2.25-123/lib/libpthread.so.0 (0x00007f6ff2561000)
        libdl.so.2 => /nix/store/d54amiggq6bw23jw6mdsgamvs6v1g3bh-glibc-2.25-123/lib/libdl.so.2 (0x00007f6ff235d000)
        libutil.so.1 => /nix/store/d54amiggq6bw23jw6mdsgamvs6v1g3bh-glibc-2.25-123/lib/libutil.so.1 (0x00007f6ff215a000)
        libm.so.6 => /nix/store/d54amiggq6bw23jw6mdsgamvs6v1g3bh-glibc-2.25-123/lib/libm.so.6 (0x00007f6ff1e47000)
        libc.so.6 => /nix/store/d54amiggq6bw23jw6mdsgamvs6v1g3bh-glibc-2.25-123/lib/libc.so.6 (0x00007f6ff1aa7000)
        /lib64/ld-linux-x86-64.so.2 => /nix/store/d54amiggq6bw23jw6mdsgamvs6v1g3bh-glibc-2.25-123/lib64/ld-linux-x86-64.so.2 (0x00007f6ff277f000)

seems to point to the right thing.

As a workaround, I'm currently running the dropbox CLI in a Docker container... feels bad :stuck_out_tongue:

Another workaround that I have found is using plain old "dropbox" in your pkgs section in your configuration.nix file. I am running Gnome3 and I do not know how it will integrate with other setups, but it allows me to run dropbox without docker.

Dropbox.com warns of a version incompatibility. Apparently v40.4.46 does not sync correctly/at all.

Can confirm what @jasonmj said, downloading the latest Dropbox from their official website and untarring it in .dropbox-dist fixed it for me.

@jasonmj @jethrokuan Can you link to that notice?

For anyone else encountering this, here's the Docker workaround: https://gist.github.com/siddharthist/4ebfa6042ca096dc39cdc8e1918839de

@siddharthist The issue I faced looked different from the OP, where it said that everything was Up to date, but nothing was actually synced. Didn't come across a notice, just happened to stumble upon the solution to my issue.

I'm confused about the solution. Does someone have a declarative solution they're willing to share? I'm new to NixOS, and I'm a bit reluctant to try ad-hoc fixes that I may not be able to reproduce later.

Was this page helpful?
0 / 5 - 0 ratings