dropbox / dropbox/nautilus-dropbox
daemon upgrade failing due to missing libatomic dependency
- Dominant language
- Python
- Stars
- 276
- Forks
- 68
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 2
Description
At some point after daemon 84.4.170 there was a new dependency (on Fedora) introduced causing automatic upgrade to fail. By manually doing `yum install libatomic` the problem was solved. The nautilus-dropbox rpm package does not include a requires line for libatomic (The GNU Atomic library).
On a Fedora 29 box with libatomic not installed, the following error resulted after running:
`$ dropbox update`
...
```
dropbox: initializing python 3.7.2
dropbox: setting program path '/home/castedo/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/dropbox'
dropbox: setting home path '/home/castedo/.dropbox-dist/dropbox-lnx.x86_64-85.4.155'
dropbox: setting python path '/home/castedo/.dropbox-dist/dropbox-lnx.x86_64-85.4.155:/home/castedo/.dropbox-dist/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 '/home/castedo/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/cryptography.hazmat.bindings._constant_time.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/home/castedo/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/cryptography.hazmat.bindings._openssl.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/home/castedo/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/cryptography.hazmat.bindings._padding.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/home/castedo/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/psutil._psutil_linux.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/home/castedo/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/psutil._psutil_posix.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/home/castedo/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/linuxffi.pthread._linuxffi_pthread.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/home/castedo/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/cpuid.compiled._cpuid.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/home/castedo/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/apex._apex.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/home/castedo/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/tornado.speedups.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/home/castedo/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/linuxffi.resolv.compiled._linuxffi_resolv.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/home/castedo/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/librsyncffi.compiled._librsyncffi.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/home/castedo/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/linuxffi.sys.compiled._linuxffi_sys.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/home/castedo/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/posixffi.libc._posixffi_libc.cpython-37m-x86_64-linux-gnu.so'
dropbox: load fq extension '/home/castedo/.dropbox-dist/dropbox-lnx.x86_64-85.4.155/linuxffi.gnu.compiled._linuxffi_gnu.cpython-37m-x86_64-linux-gnu.so'
Traceback (most recent call last):
File "dropbox/client/main.pyc", line 7919, in main
File "dropbox/client/main.pyc", line 7843, in main_startup
File "dropbox/client/main.pyc", line 942, 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
File "dropbox/sync_engine/nucleus/classic_client/thin_adapter/in_proc.pyc", line 98, in
File "dropbox/sync_engine/nucleus/classic_client/wrapped_thin_client.pyc", line 26, in
File "dropbox/sync_engine/nucleus/thin_client/client.pyc", line 28, in
File "dropbox/foundation/metrics/amp/remote_sink.pyc", line 10, in
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 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)
```
After doing a `yum install libatomic`, the daemon upgrade was then successfully made to version 85.4.155.
I'd say around a week ago or so I started to notice my desktop Dropbox icon in a constant state of "Upgrading..." so I suspected something was up. I did multiple attempts at `yum update nautilus-dropbox` hoping that would solve the problem but it did not. (I have /etc/yum.repos.d/ pointing to http://linux.dropbox.com/fedora/$releasever/).
It would be nice if the rpm is updated to include this new dependency so that doing `yum update nautilus-dropbox` would have solved the problem without debugging.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by inspecting the nautilus-dropbox Fedora RPM packaging and its dependency metadata, using the reported libatomic.so.1 failure as the reproduction case. The work is done when the package declares libatomic as a requirement and a Fedora yum update installs the dependency before daemon 85.4.155 runs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fedora, linux, python
- Domain
- release
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100