Open angry-master-yoda opened 4 years ago
Until my PR may get merged you can use my fork and build your own image (just replace janeczku/dropbox
with the used tag dropbox
when creating the container after building the image):
docker build --force-rm --tag dropbox https://github.com/thomashilzendegen/docker-dropbox.git#libatomic-fix
Big thanks. Finally, there was a reason to study Docker :-).
Hmm...
$ docker build --force-rm --tag dropbox https://github.com/thomashilzendegen/docker-dropbox.git#libatomic-fix unable to prepare context: unable to 'git clone' to temporary context directory: error initializing submodules: ...
$ git clone https://github.com/thomashilzendegen/docker-dropbox.git#libatomic-fix Cloning into 'docker-dropbox.git#libatomic-fix'... fatal: https://github.com/thomashilzendegen/docker-dropbox.git#libatomic-fix/info/refs not valid: is this a git repository?
What am I doing wrong?
$ docker build --force-rm --tag dropbox https://github.com/thomashilzendegen/docker-dropbox.git#libatomic-fix What am I doing wrong?
Nothing... This works for me. Maybe your git version is too old? Mine is 2.20.1
. As far as I know it should be at least 2.10
. Could you check it with git --version
and update if needed?
I'm getting an error due to a PGP key not being able to be retrieved. This is from a CentOS 7.7 machine.
docker logs --follow agitated_wing Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.i9oTOsQwgG --no-auto-check-trustdb --trust-model always --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-security-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-stable.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-stretch-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-stretch-security-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-stretch-stable.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-wheezy-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-wheezy-stable.gpg --keyserver pgp.mit.edu --recv-keys 1C61A2656FB57B7E4DE0F4C1FC918B335044912E gpg: requesting key 5044912E from hkp server pgp.mit.edu gpgkeys: key 1C61A2656FB57B7E4DE0F4C1FC918B335044912E can't be retrieved gpg: no valid OpenPGP data found. gpg: Total number processed: 0
Removing intermediate container 207e05067524 The command '/bin/sh -c echo 'deb http://linux.dropbox.com/debian jessie main' > /etc/apt/sources.list.d/dropbox.list && apt-key adv --keyserver pgp.mit.edu --recv-keys 1C61A2656FB57B7E4DE0F4C1FC918B335044912E && apt-get -qqy update && apt-get -qqy install ca-certificates curl python-gpgme libatomic1 dropbox && apt-get -qqy autoclean && rm -rf /var/lib/apt/lists/ /tmp/ /var/tmp/* && groupadd dropbox && useradd -m -d /dbox -c "Dropbox Daemon Account" -s /usr/sbin/nologin -g dropbox dropbox' returned a non-zero code: 2
I'm getting an error due to a PGP key not being able to be retrieved:
I got this too from time to time. I just repeated the build until it worked.
On windows (I'm at work)...
git --version git version 2.24.0.windows.1
git clone https://github.com/thomashilzendegen/docker-dropbox.git#libatomic-fix Cloning into 'docker-dropbox.git#libatomic-fix'... fatal: unable to access 'https://github.com/thomashilzendegen/docker-dropbox.git#libatomic-fix/': The requested URL returned error: 400
I'm getting an error due to a PGP key not being able to be retrieved:
I got this too from time to time. I just repeated the build until it worked.
Yeah it looks like the pgp.mit.edu keyserver is down, when I try to retrieve the key manually it gives "The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later."
git clone https://github.com/thomashilzendegen/docker-dropbox.git#libatomic-fix
When cloning by yourself you should omit the branch part (#libatomic-fix
) and checkout manually after cloning via git checkout libatomic-fix
(the hash writing is only used by the docker command).
I know. I decided to try after failed "docker build ...". Cloning an entire repository works everywhere.
OK the MIT keyserver finally came back on line. But now this:
Step 8/14 : RUN mkdir -p /opt/dropbox && mv /dbox/.dropbox-dist/dropbox-lnx* /opt/dropbox/ && mv /dbox/.dropbox-dist/dropboxd /opt/dropbox/ && mv /dbox/.dropbox-dist/VERSION /opt/dropbox/ && rm -rf /dbox/.dropbox-dist && install -dm0 /dbox/.dropbox-dist && chmod u-w /dbox && chmod o-w /tmp && chmod g-w /tmp && mv /usr/bin/dropbox /usr/bin/dropbox-cli ---> Running in 45e372403c3d
mv: cannot remove '/dbox/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/ACKNOWLEDGEMENTS': No such file or directory mv: cannot remove '/dbox/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/PyQt5.QtCore.cpython-37m-x86_64-linux-gnu.so': No such file or directory mv: cannot remove '/dbox/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/PyQt5.QtDBus.cpython-37m-x86_64-linux-gnu.so': No such file or directory mv: cannot remove '/dbox/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/PyQt5.QtGui.cpython-37m-x86_64-linux-gnu.so': No such file or directory mv: cannot remove '/dbox/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/PyQt5.QtNetwork.cpython-37m-x86_64-linux-gnu.so': No such file or directory [a whole lot more "mv: cannot remove" errors]
Removing intermediate container 45e372403c3d The command '/bin/sh -c mkdir -p /opt/dropbox && mv /dbox/.dropbox-dist/dropbox-lnx* /opt/dropbox/ && mv /dbox/.dropbox-dist/dropboxd /opt/dropbox/ && mv /dbox/.dropbox-dist/VERSION /opt/dropbox/ && rm -rf /dbox/.dropbox-dist && install -dm0 /dbox/.dropbox-dist && chmod u-w /dbox && chmod o-w /tmp && chmod g-w /tmp && mv /usr/bin/dropbox /usr/bin/dropbox-cli' returned a non-zero code: 1
I'm a Docker novice - not sure how to recover here.
hey any news about fixing the main build ?
This works for me. Maybe your git version is too old? Mine is
2.20.1
. As far as I know it should be at least2.10
.
git version 1.8.3.1 (CentOS Linux release 7.7.1908 (Core)). Is there another solution?
Is there another solution?
Ok, just clone it manually with git clone https://github.com/thomashilzendegen/docker-dropbox.git
and then switch the branch with git checkout libatomic-fix
. Then run docker build -t dropbox .
. Then your own image should be created.
has anyone been able to build with Thomas recomendations ? I am struggling to get it done...
it keeps complaining about the keys:
gpg: requesting key 5044912E from hkp server pgp.mit.edu gpgkeys: key 1C61A2656FB57B7E4DE0F4C1FC918B335044912E can't be retrieved gpg: no valid OpenPGP data found. gpg: Total number processed: 0
---- EDIT ---- So I fixed the keys error by replacing the pgp.mit.edu with: hkp://pool.sks-keyservers.net:80
Image built OK.
Now the issues I am getting are inside the container when running it. Permissions issues with /dbox/.dropbox and /dbox/Dropbox... It is not being able to set permissions.
~/tmp/git/docker-dropbox$ docker start dropbox ; docker logs dropbox --follow
dropbox
**usermod: Failed to change ownership of the home directorychown: cannot read directory '/dbox/.dropbox': Permission denied
chown: cannot read directory '/dbox/Dropbox': Permission denied
chmod: changing permissions of '/dbox/Dropbox': Permission denied**
Checking for latest Dropbox version...
Latest : 85.4.155
Installed: 85.4.155
Dropbox is up-to-date
Starting dropboxd (85.4.155)...
dropbox: locating interpreter
!! dropbox: failed to create log file (Permission denied)!
dropbox: initializing
dropbox: initializing python 3.7.2
dropbox: setting program path '/opt/dropbox/dropbox-lnx.x86_64-85.4.155/dropbox'
dropbox: setting home path '/opt/dropbox/dropbox-lnx.x86_64-85.4.155'
dropbox: setting python path '/opt/dropbox/dropbox-lnx.x86_64-85.4.155:/opt/dropbox/dropbox-lnx.x86_64-85.4.155/python-packages-37.zip'
dropbox: python initialized
dropbox: running dropbox
dropbox: setting args
dropbox: applying overrides
dropbox: running main script
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-85.4.155/cryptography.hazmat.bindings._constant_time.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-85.4.155/cryptography.hazmat.bindings._openssl.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-85.4.155/cryptography.hazmat.bindings._padding.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-85.4.155/psutil._psutil_linux.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-85.4.155/psutil._psutil_posix.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-85.4.155/linuxffi.pthread._linuxffi_pthread.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-85.4.155/cpuid.compiled._cpuid.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-85.4.155/apex._apex.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-85.4.155/tornado.speedups.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-85.4.155/linuxffi.resolv.compiled._linuxffi_resolv.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-85.4.155/librsyncffi.compiled._librsyncffi.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-85.4.155/linuxffi.sys.compiled._linuxffi_sys.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-85.4.155/posixffi.libc._posixffi_libc.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-85.4.155/linuxffi.gnu.compiled._linuxffi_gnu.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.
Get more help at https://www.dropbox.com/c/help/permissions_error
Please contact Dropbox support with the following info for help:
/var/tmp/dropbox_errori_zrd0pp.txt**
I see that the 'run' script sets this permissions, but I can't understand why its not working as it should... I created the image by running:
docker create --restart=always --name=dropbox -v /home/MYHOME/Dropbox:/dbox/Dropbox -v /home/MYHOME/.dropbox:/dbox/.dropbox -e DBOX_UID=1000 -e DBOX_GID=1001 dropbox
I remember having to put GID 0 before this issue to get it syncing... but still not working with that...
I am a complete noob with docker, and I would like to troubleshoot the error, but of course the container dies / restart.
Any help ?
Thanks!
Well guys, I fixed the permissions issue as well...
When giving the volumes path, add a :Z at the end... Like this: -v /home/USER/Dropbox:/dbox/Dropbox:Z
I got rid of the permissions issues in the shared directories by adding that.
In case you had issues with the image creation and permissions, with my last two posts you should be able to fix it.
Thanks!
I'm having an issue where file syncing stops after about 12 hours. Usually after 11pm local time (US Pacific).
No errors in docker logs <container-id>
Restarting the container gets syncing working again.
I think I'm done with dropbox forever. I managed to get a build to go by modifying the Dockerfile but then I ran back into the "UnicodeDecodeError" problem when I type dropbox status that I couldn't fix. Also, the permissions issue on those shared libraries still requires a "docker exec chmod" type solution. It sucks but dropbox is just crap for Linux any more. I am looking into nextcloud.
This is indeed very sad. My use case requires a smartphone app that can play video files. Seems nextcloud doesn't support that. My current thought is to use Dropbox on a Windows machine. Argg
If you are having issues with the "pgp.mit.edu" keyserver, try using "hkp://pool.sks-keyservers.net:80" instead. That server seems to be more reliable.
Yeah, I got past the pgp key server issue by finding another "mirror" key server.
The problem I had was with file syncing stopping (and no errors logged) after a few hours and container needed to be restarted. So I had the idea of just restarting the container every 4 hours, but then one of the dropbox folders got into an inconsistent state: The folder was renamed "irreconcilable" or something similar, and did not self-heal. Pretty dicey.
So now I have Dropbox on Windows (yuck) serving a dropbox folder with NFS, and my linux machine as NFS client mounting that dropbox folder. Syncing is OK again, but for how long...
The UnicodeDecode error is due to the Docker instance not having a locale set. To fix it without having to change the dropbox-cli file:
Now Python has no character encoding issues as it will use UTF-8.
Here is my version:
RUN apt-get -qqy update \ && apt-get -qqy upgrade \ && apt-get -qqy install gnupg ca-certificates curl python-gpgme python3-gpg libatomic1 locales locales-all \ && echo 'deb http://linux.dropbox.com/debian stretch main' > /etc/apt/sources.list.d/dropbox.list \ && apt-key adv --keyserver ipv4.pool.sks-keyservers.net --recv-keys 1C61A2656FB57B7E4DE0F4C1FC918B335044912E \ && apt-get -qqy update \ && sed --in-place '/en_US.UTF-8/s/^# //' /etc/locale.gen \
# From 'How do I add or remove Dropbox from my Linux repository?' -
&& apt-get -qqy install dropbox \
# Perform image clean up.
&& apt-get -qqy autoclean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
# Create service account and set permissions.
&& groupadd dropbox \
&& useradd -m -d /dbox -c "Dropbox Daemon Account" -s /usr/sbin/nologin -g dropbox dropbox
ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8
Change en_US to whatever locale your system uses.
It's clear to me that janeczku has abandoned this project, as he hasn't changed anything on the main branch in over three years.
Someone really needs to fork this and incorporate all these pending changes.
@adamkdean (for #38) and @thomashilzendegen (here) have both created forks to address the recent failures.
Indeed, there are 100 forks, LOL. I am kind of a github newbie. It would be nice however to know which fork is the most up to date with the outstanding issues.
It's clear to me that janeczku has abandoned this project, as he hasn't changed anything on the main branch in over three years.
@thomashilzendegen, can you create another hub on dockerhub based on yor fork?
I have published a fork: https://hub.docker.com/r/otherguy/dropbox/
(GitHub repo here: https://github.com/otherguy/docker-dropbox)
I also updated to the latest debian:buster
base image and fixed several issues.
This is work for me.
git clone https://github.com/thomashilzendegen/docker-dropbox.git;
git checkout libatomic-fix;
cd docker-dropbox;
Changes key server address in DockerFile.
vi DockerFile;
/bin/sh -c echo 'deb http://linux.dropbox.com/debian jessie main' > /etc/apt/sources.list.d/dropbox.list \
&& apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys 1C61A2656FB57B7E4DE0F4C1FC918B335044912E && apt-get -qqy update && apt-get -qqy install ca-certificates curl python-gpgme libatomic1 dropbox && apt-get -qqy autoclean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && groupadd dropbox \
&& useradd -m -d /dbox -c "Dropbox Daemon Account" -s /usr/sbin/nologin -g dropbox dropbox
and then build.
docker build --force-rm --tag dropbox .
docker create --restart=always --name=dropbox -v /home/user/Dropbox:/dbox/Dropbox:Z -v /home/user/.dropbox:/dbox/.dropbox:Z -e DBOX_UID=500 -e DBOX_GID=500 -e TZ=Asia/Seoul -e LC_CTYPE=C.UTF-8 dropbox
Same on 86.4.146
I'm proceeding with a fork. Following error dump is just in case it helps someone else
sudo docker run --name=dropbox janeczku/dropbox
DBOX_UID variable not specified, defaulting to dropbox user id (1000)
DBOX_GID variable not specified, defaulting to dropbox user group id (1000)
Checking for latest Dropbox version...
Latest : 86.4.146
Installed: 11.4.21
Downloading Dropbox v86.4.146...
######################################################################## 100.0%
Installing new version...
Dropbox updated to v86.4.146
Starting dropboxd (86.4.146)...
dropbox: locating interpreter
!! dropbox: failed to create log file (Permission denied)!
dropbox: initializing
dropbox: initializing python 3.7.2
dropbox: setting program path '/opt/dropbox/dropbox-lnx.x86_64-86.4.146/dropbox'
dropbox: setting home path '/opt/dropbox/dropbox-lnx.x86_64-86.4.146'
dropbox: setting python path '/opt/dropbox/dropbox-lnx.x86_64-86.4.146:/opt/dropbox/dropbox-lnx.x86_64-86.4.146/python-packages-37.zip'
dropbox: python initialized
dropbox: running dropbox
dropbox: setting args
dropbox: applying overrides
dropbox: running main script
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-86.4.146/cryptography.hazmat.bindings._constant_time.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-86.4.146/cryptography.hazmat.bindings._openssl.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-86.4.146/cryptography.hazmat.bindings._padding.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-86.4.146/psutil._psutil_linux.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-86.4.146/psutil._psutil_posix.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-86.4.146/linuxffi.pthread._linuxffi_pthread.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-86.4.146/cpuid.compiled._cpuid.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-86.4.146/apex._apex.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-86.4.146/tornado.speedups.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-86.4.146/linuxffi.resolv.compiled._linuxffi_resolv.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-86.4.146/librsyncffi.compiled._librsyncffi.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-86.4.146/linuxffi.sys.compiled._linuxffi_sys.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-86.4.146/posixffi.libc._posixffi_libc.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/opt/dropbox/dropbox-lnx.x86_64-86.4.146/linuxffi.gnu.compiled._linuxffi_gnu.cpython-37m-x86_64-linux-gnu.so'
Traceback (most recent call last):
File "dropbox/client/main.pyc", line 7938, in main
File "dropbox/client/main.pyc", line 7862, in main_startup
File "dropbox/client/main.pyc", line 946, in __init__
File "dropbox/sync_engine_boundary/factory.pyc", line 147, in make_default_file_system
File "dropbox/sync_engine_boundary/factory.pyc", line 99, in __init__
File "dropbox/sync_engine_boundary/factory.pyc", line 118, in _initialize_classes
File "dropbox/sync_engine/nucleus/classic_client/sync_engine.pyc", line 276, in <module>
File "dropbox/sync_engine/nucleus/classic_client/thin_adapter/in_proc.pyc", line 98, in <module>
File "dropbox/sync_engine/nucleus/classic_client/wrapped_thin_client.pyc", line 26, in <module>
File "dropbox/sync_engine/nucleus/thin_client/client.pyc", line 28, in <module>
File "dropbox/foundation/metrics/amp/remote_sink.pyc", line 10, in <module>
ImportError: libatomic.so.1: cannot open shared object file: No such file or directory
!! dropbox: fatal python exception:
['Traceback (most recent call last):\n', ' File "dropbox/client/main.pyc", line 7938, in main\n', ' File "dropbox/client/main.pyc", line 7862, in main_startup\n', ' File "dropbox/client/main.pyc", line 946, in __init__\n', ' File "dropbox/sync_engine_boundary/factory.pyc", line 147, in make_default_file_system\n', ' File "dropbox/sync_engine_boundary/factory.pyc", line 99, in __init__\n', ' File "dropbox/sync_engine_boundary/factory.pyc", line 118, in _initialize_classes\n', ' File "dropbox/sync_engine/nucleus/classic_client/sync_engine.pyc", line 276, in <module>\n', ' File "dropbox/sync_engine/nucleus/classic_client/thin_adapter/in_proc.pyc", line 98, in <module>\n', ' File "dropbox/sync_engine/nucleus/classic_client/wrapped_thin_client.pyc", line 26, in <module>\n', ' File "dropbox/sync_engine/nucleus/thin_client/client.pyc", line 28, in <module>\n', ' File "dropbox/foundation/metrics/amp/remote_sink.pyc", line 10, in <module>\n', 'ImportError: libatomic.so.1: cannot open shared object file: No such file or directory\n'] (error 3)
@Joshfindit did you try this fork: https://hub.docker.com/r/otherguy/dropbox/
@Joshfindit did you try this fork: https://hub.docker.com/r/otherguy/dropbox/
I did not. This is for a production server and no offence to @otherguy the name (and personal website) does not give me the impression that it will be maintained going forward. I am, however, looking at that repo as a baseline for creating ours from scratch.
@Joshfindit sure, that's your prerogative :) Thank you for your criticism of my name and "personal website",
I do welcome pull requests if you improve on my version!
Regarding libatomic issue, i just solved it by installing libatomic1:
RUN apt-get update && apt-get install libatomic1
Just add this installation in Dockerfile.
I work over ubuntu:latest, probably future releases of dropbox will fix this issue for ubuntu minimal on docker.
Until my PR may get merged you can use my fork and build your own image (just replace
janeczku/dropbox
with the used tagdropbox
when creating the container after building the image):
docker build --force-rm --tag dropbox https://github.com/thomashilzendegen/docker-dropbox.git#libatomic-fix
@thomashilzendegen I did this some time ago successful, and today I looked at the dropbox status again and the container fails to start with the following errors:
ImportError: libglapi.so.0: cannot open shared object file: No such file or directory
!! dropbox: fatal python exception:
['Traceback (most recent call last):\n', ' File "dropbox/client/main.pyc", line 262, in <module>\n', ' File "dropbox/foundation/navigation_service/factory.pyc", line 19, in <module>\n', ' File "dropbox/foundation/navigation_service/navigation_service_impl.pyc", line 57, in <module>\n', ' File "dropbox/foundation/html_views/electron/manager_factory.pyc", line 13, in <module>\n', ' File "dropbox/foundation/html_views/local/common/manager.pyc", line 33, in <module>\n', ' File "dropbox/client/features/model_registry.pyc", line 13, in <module>\n', ' File "dropbox/client/features/generated_models.pyc", line 279, in <module>\n', ' File "dropbox/client/features/previews/view_anchor.pyc", line 104, in <module>\n', ' File "<_bootstrap_overrides>", line 153, in load_module\n', 'ImportError: libglapi.so.0: cannot open shared object file: No such file or directory\n'] (error 3)
After executing docker build --force-rm --tag dropbox https://github.com/thomashilzendegen/docker-dropbox.git\#libatomic-fix
I see the following output:
Sending build context to Docker daemon 74.75kB
Step 1/14 : FROM debian:jessie
---> 4cb524c015d4
Step 2/14 : MAINTAINER Jan Broer <janeczku@yahoo.de>
---> Using cache
---> 8fb6b20e8925
Step 3/14 : ENV DEBIAN_FRONTEND noninteractive
---> Using cache
---> dc58334691ba
Step 4/14 : RUN echo 'deb http://linux.dropbox.com/debian jessie main' > /etc/apt/sources.list.d/dropbox.list && apt-key adv --keyserver pgp.mit.edu --recv-keys 1C61A2656FB57B7E4DE0F4C1FC918B335044912E && apt-get -qqy update && apt-get -qqy install ca-certificates curl python-gpgme libatomic1 dropbox && apt-get -qqy autoclean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && groupadd dropbox && useradd -m -d /dbox -c "Dropbox Daemon Account" -s /usr/sbin/nologin -g dropbox dropbox
---> Using cache
---> 0d5af5504a20
Step 5/14 : USER dropbox
---> Using cache
---> a0348550ad57
Step 6/14 : RUN mkdir -p /dbox/.dropbox /dbox/.dropbox-dist /dbox/Dropbox /dbox/base && echo y | dropbox start -i
---> Using cache
---> 502b333fc3c9
Step 7/14 : USER root
---> Using cache
---> a4134474eb89
Step 8/14 : RUN mkdir -p /opt/dropbox && mv /dbox/.dropbox-dist/dropbox-lnx* /opt/dropbox/ && mv /dbox/.dropbox-dist/dropboxd /opt/dropbox/ && mv /dbox/.dropbox-dist/VERSION /opt/dropbox/ && rm -rf /dbox/.dropbox-dist && install -dm0 /dbox/.dropbox-dist && chmod u-w /dbox && chmod o-w /tmp && chmod g-w /tmp && mv /usr/bin/dropbox /usr/bin/dropbox-cli
---> Using cache
---> 39133e5f0bc2
Step 9/14 : COPY run /root/
---> Using cache
---> 3edd07d389e9
Step 10/14 : COPY dropbox /usr/bin/dropbox
---> Using cache
---> aeda0b1c6d68
Step 11/14 : WORKDIR /dbox/Dropbox
---> Using cache
---> 9bc5947da43d
Step 12/14 : EXPOSE 17500
---> Using cache
---> 7834b47d1a28
Step 13/14 : VOLUME ["/dbox/.dropbox", "/dbox/Dropbox"]
---> Using cache
---> a034a7199b40
Step 14/14 : ENTRYPOINT ["/root/run"]
---> Using cache
---> e673dc546ad5
Successfully built e673dc546ad5
Successfully tagged dropbox:latest
Which includes the line apt-get -qqy install ca-certificates curl python-gpgme libatomic1 dropbox
so libatomic1
is installed.
Why does the container still fails to start?
I'm also seeing this libglapi
issue after dropbox has upgraded automatically. I'm now looking into a fix for this.
Update: I'm pushing the fix for this to adamkdean/dropbox
now. Should be there within a few minutes. For more info see https://github.com/adamkdean/docker-dropbox/blob/master/Dockerfile#L16-L17. This could perhaps be tidier but I don't have time right now to work out which of those deps are strictly needed/not needed for dropbox. Happy to accept PRs.
Update: Can confirm the fix is now working for my systems that use this image.
@janeczku, @adamkdean it works for me as well
Yesterday, the dropbox in the container was updated to version 85.4.155. And it does not start anymore. CentOS 7. Error: ImportError: libatomic.so.1: cannot open shared object file: No such file or directory.
Detailed: !! dropbox: fatal python exception: ['Traceback (most recent call last):\n', ' File "dropbox/client/main.pyc", line 7919, in main\n', ' File "dropbox/client/main.pyc", line 7843, in main_startup\n', ' File "dropbox/client/main.pyc", line 942, in init\n', ' File "dropbox/sync_engine_boundary/factory.pyc", line 147, in make_default_file_system\n', ' File "dropbox/sync_engine_boundary/factory.pyc", line 99, in init\n', ' File "dropbox/sync_engine_boundary/factory.pyc", line 118, in _initialize_classes\n', ' File "dropbox/sync_engine/nucleus/classic_client/sync_engine.pyc", line 276, in\n', ' File "dropbox/sync_engine/nucleus/classic_client/thin_adapter/in_proc.pyc", line 98, in \n', ' File "dropbox/sync_engine/nucleus/classic_client/wrapped_thin_client.pyc", line 26, in \n', ' File "dropbox/sync_engine/nucleus/thin_client/client.pyc", line 28, in \n', ' File "dropbox/foundation/metrics/amp/remote_sink.pyc", line 10, in \n', 'ImportError: libatomic.so.1: cannot open shared object file: No such file or directory\n'] (error 3)