Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 600348 - net-misc/dropbox cannot start (installed with the -X use flag)
Summary: net-misc/dropbox cannot start (installed with the -X use flag)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: Normal normal (vote)
Assignee: Jason Zaman
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-11-20 20:41 UTC by Xavier Rival
Modified: 2020-09-09 21:26 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Xavier Rival 2016-11-20 20:41:31 UTC
Dropbox will not start when launched as a user that is authorized to launch it.

Reproducible: Always

Steps to Reproduce:
1. Install dropbox with the -X use flag.
2. Launch dropbox start
3.
Actual Results:  
$ dropbox start
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:

/tmp/dropbox_errorqissbl.txt



I installed dropbox following the instruction on the Gentoo Dropbox page:
[url]https://wiki.gentoo.org/wiki/Dropbox[/url]
Since I do not want to compile GUI support, I used the -X USE flag.

Dropbox cannot start if launched during an X session (see result above).

Though it mentions a possible permission error, I am not so sure, as I do have right on the Dropbox directory on my account. Furthermore the following excertp of the error file contains:


sys_executable: '/opt/dropbox/dropbox'
                real_path='/opt/dropbox/dropbox'
                        mode=0100755    uid=0   gid=0
                parent  mode=040755     uid=0   gid=0
trace.__file__: '/opt/dropbox/library.zip/dropbox/client/ui/common/boot_error.pyc'
                real_path='/opt/dropbox/dropbox/dropbox/client/ui/common/boot_error.pyc'
                        not found
                parent  not found
tempdir: '/tmp'
         real_path='/tmp'
                mode=041777     uid=0   gid=0
         parent mode=040755     uid=0   gid=0
Traceback (most recent call last):
  File "dropbox/client/main.py", line 5050, in main_startup
  File "dropbox/client/main.py", line 2173, in run
  File "ui/common/uikit.py", line 473, in create_ui_kit
  File "dropbox/client/ui/qt/__init__.py", line 13, in <module>
  File "PyQt5/QtCore.py", line 23, in <module>
ImportError: No module named None


There is no file /opt/dropbox/dropbox/dropbox/client/ui/common/boot_error.pyc on my machine. Also, I am not sure what is this "None" module it is complaining about.
Comment 1 Georgy Yakovlev archtester gentoo-dev 2017-01-11 07:25:14 UTC
I'm also affected by the same error with -X set for dropbox.

Do not have QT5 installed at all.

happend both for 
14.3.17 and (~)17.3.28

toggling librsync-bundled does not change anything.

sys_executable: '/opt/dropbox/dropbox'
                real_path='/opt/dropbox/dropbox'
                        mode=0100755    uid=0   gid=0
                parent  mode=040755     uid=0   gid=0
trace.__file__: '/opt/dropbox/library.zip/dropbox/client/ui/common/boot_error.pyc'
                real_path='/opt/dropbox/dropbox/dropbox/client/ui/common/boot_error.pyc'
                        not found
                parent  not found
tempdir: '/tmp'
         real_path='/tmp'
                mode=041777     uid=0   gid=0
         parent mode=040755     uid=0   gid=0
Traceback (most recent call last):
  File "dropbox/client/main.py", line 5615, in main_startup
  File "dropbox/client/main.py", line 2309, in run
  File "ui/common/uikit.py", line 546, in create_ui_kit
  File "dropbox/client/ui/qt/__init__.py", line 13, in <module>
  File "PyQt5/QtCore.py", line 23, in <module>
ImportError: No module named None
Comment 2 Georgy Yakovlev archtester gentoo-dev 2017-01-11 07:49:02 UTC
Ok, I managed to fix it.

Here are the steps
0) service dropbox stop
1) install dropbox-cli.
2) dropbox-cli start -i (it will download new dropbox to ~/.dropbox-dist
3) link again via gui (but it was linked before i updated)

I wonder how it starts a gui if ebuild deletes qt libraries? is it gui provided by dropbox-cli?

4) dropbox-cli stop
5) rm -rf ~/.dropbox-dist
6) install -dm0 ~/.dropbox-dist
7) emerge -C dropbox-cli
8) service dropbox start


and now it works and syncs files.


I believe this error was caused because authorization expired somehow on update.

If it cannot be fixed maybe mention that it has to be re-linked to account in a message after emerge?
Comment 3 Michal Špondr 2017-01-29 21:19:31 UTC
I have the same problem. Dropbox is with "-X" installed.
Installing dropbox-cli didn't work for me.
My user belongs to dropbox group.

bn.BUILD_KEY: Dropbox
bn.VERSION: 17.3.28
bn.DROPBOXEXT_VERSION: failed
bn.is_frozen: True
pid: 17684
ppid: 17680
ppid exe: '/bin/bash'
uid: 1000
user_info: pwd.struct_passwd(pw_name='michal', pw_passwd='x', pw_uid=1000, pw_gid=1000, pw_gecos='', pw_dir='/home/michal', pw_shell='/bin/bash')
effective_user_info: pwd.struct_passwd(pw_name='michal', pw_passwd='x', pw_uid=1000, pw_gid=1000, pw_gecos='', pw_dir='/home/michal', pw_shell='/bin/bash')
euid: 1000
gid: 1000
egid: 1000
group_info: grp.struct_group(gr_name='michal', gr_passwd='x', gr_gid=1000, gr_mem=[])
effective_group_info: grp.struct_group(gr_name='michal', gr_passwd='x', gr_gid=1000, gr_mem=[])
LD_LIBRARY_PATH: None
cwd: '/home/michal'
     real_path='/home/michal'
           	mode=040755	uid=1000	gid=1000
     parent	mode=040755	uid=0	gid=0
HOME: u'/home/michal'
appdata: u'/home/michal/.dropbox/instance1'
         real_path=u'/home/michal/.dropbox/instance1'
               	mode=040700	uid=1000	gid=1000
         parent	mode=040700	uid=1000	gid=1000
dropbox_path: u'/home/michal/Dropbox'
              real_path=u'/home/michal/Dropbox'
                    	not found
              parent	mode=040755	uid=1000	gid=1000
sys_executable: '/opt/dropbox/dropbox'
                real_path='/opt/dropbox/dropbox'
                      	mode=0100755	uid=0	gid=0
                parent	mode=040755	uid=0	gid=0
trace.__file__: '/opt/dropbox/library.zip/dropbox/client/ui/common/boot_error.pyc'
                real_path='/opt/dropbox/dropbox/dropbox/client/ui/common/boot_error.pyc'
                      	not found
                parent	not found
tempdir: '/tmp'
         real_path='/tmp'
               	mode=041777	uid=0	gid=0
         parent	mode=040755	uid=0	gid=0
Traceback (most recent call last):
  File "dropbox/client/main.py", line 5615, in main_startup
  File "dropbox/client/main.py", line 2309, in run
  File "ui/common/uikit.py", line 546, in create_ui_kit
  File "dropbox/client/ui/qt/__init__.py", line 13, in <module>
  File "PyQt5/QtCore.py", line 23, in <module>
ImportError: No module named None
Comment 4 Peter Gantner (a.k.a. nephros) 2020-04-09 13:01:33 UTC
This just bit me again in net-misc/dropbox-94.4.384[-X]

Doing this:

 root# rc-service dropbox stop
 user$ /opt/dropbox/dropboxd

results in:

dropbox: locating interpreter
dropbox: logging to /tmp/dropbox-antifreeze-qprN0U
dropbox: initializing
dropbox: initializing python 3.7.5
dropbox: setting program path '/usr/opt/dropbox/dropbox'
dropbox: setting python path '/usr/opt/dropbox:/usr/opt/dropbox/python-packages.zip'
dropbox: python initialized
dropbox: running dropbox
dropbox: setting args
dropbox: applying overrides
dropbox: running main script
dropbox: load fq extension '/usr/opt/dropbox/cryptography.hazmat.bindings._constant_time.cpython-37m-i386-linux-gnu.so'
dropbox: load fq extension '/usr/opt/dropbox/cryptography.hazmat.bindings._openssl.cpython-37m-i386-linux-gnu.so'
dropbox: load fq extension '/usr/opt/dropbox/cryptography.hazmat.bindings._padding.cpython-37m-i386-linux-gnu.so'
dropbox: load fq extension '/usr/opt/dropbox/psutil._psutil_linux.cpython-37m-i386-linux-gnu.so'
dropbox: load fq extension '/usr/opt/dropbox/psutil._psutil_posix.cpython-37m-i386-linux-gnu.so'
dropbox: load fq extension '/usr/opt/dropbox/apex._apex.cpython-37m-i386-linux-gnu.so'
dropbox: load fq extension '/usr/opt/dropbox/tornado.speedups.cpython-37m-i386-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 19, 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 13, 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 279, in <module>
  File "dropbox/client/features/previews/view_anchor.pyc", line 104, in <module>
ModuleNotFoundError: No module named 'PyQt5.QtWidgets'
!! 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', "ModuleNotFoundError: No module named 'PyQt5.QtWidgets'\n"] (error 3)
Aborted


Now, as a user I can do:

 user$ dropbox-cli update

which will install the latest version into ~/.dropbox-dist

 user$ cd .dropbox-dist ; ./dropboxd

starts the daemon normally, while launching /opt/dropbox/dropboxd will still give the error above
Comment 5 Ben Kohler gentoo-dev 2020-04-09 13:24:19 UTC
So it would appear that even the headless -X mode of dropbox still requires PyQt5, do you think I should stop removing those bundled copies?

https://gitweb.gentoo.org/repo/gentoo.git/tree/net-misc/dropbox/dropbox-94.4.384.ebuild#n69
Comment 6 ilovekiruna 2020-04-26 14:49:03 UTC
at least I can confirm that removing pyqt5 and PyQt5 in the ebuild resolves the issue.
Comment 7 Larry the Git Cow gentoo-dev 2020-04-29 18:43:06 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=441073128f9f98d21e981496ce19efa44abeaef6

commit 441073128f9f98d21e981496ce19efa44abeaef6
Author:     Ben Kohler <bkohler@gentoo.org>
AuthorDate: 2020-04-29 18:42:10 +0000
Commit:     Ben Kohler <bkohler@gentoo.org>
CommitDate: 2020-04-29 18:42:51 +0000

    net-misc/dropbox: bump to 96.4.172 & fix USE="-X"
    
    Stopped removing bundled PyQt5 files, even for -X
    
    Bug: https://bugs.gentoo.org/600348
    
    Package-Manager: Portage-2.3.99, Repoman-2.3.22
    Signed-off-by: Ben Kohler <bkohler@gentoo.org>

 net-misc/dropbox/Manifest                |   2 +
 net-misc/dropbox/dropbox-96.4.172.ebuild | 102 +++++++++++++++++++++++++++++++
 2 files changed, 104 insertions(+)
Comment 8 Ben Kohler gentoo-dev 2020-04-29 18:45:29 UTC
Ok I have applied that change.

If someone using dropbox[-X] would like to look into which PyQt5 files CAN be safely removed, so that -X users can get a smaller install size but it still runs, I'm very open to that.

But it's apparent that just removing *PyQt5* *pyqt5* is too much.
Comment 9 Ben Kohler gentoo-dev 2020-09-03 18:00:28 UTC
Is anyone successfully using dropbox[-X], without a new auto-upgraded copy in .dropbox-dist ?  I am testing here and it fails due to missing libGL.so.1, among other things.

I'm not sure -X is really working at all here.
Comment 10 Larry the Git Cow gentoo-dev 2020-09-09 21:26:38 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f9cb78e47285fabe6b53a4a61c9db0971bbe6464

commit f9cb78e47285fabe6b53a4a61c9db0971bbe6464
Author:     Ben Kohler <bkohler@gentoo.org>
AuthorDate: 2020-09-09 21:23:15 +0000
Commit:     Ben Kohler <bkohler@gentoo.org>
CommitDate: 2020-09-09 21:25:49 +0000

    net-misc/dropbox: bump to 105.4.649 with large dep overhaul, drop old
    
    Most of the X? () deps are actually needed at runtime even for
    cli/headless use.  I have trimmed some of the Qt5* and other libs that
    appear to be completely unused.
    
    Closes: https://bugs.gentoo.org/600348
    Closes: https://bugs.gentoo.org/725096
    Package-Manager: Portage-3.0.6, Repoman-3.0.1
    Signed-off-by: Ben Kohler <bkohler@gentoo.org>

 net-misc/dropbox/Manifest                          |   6 +-
 ...x-103.4.383.ebuild => dropbox-105.4.649.ebuild} |  40 ++++----
 net-misc/dropbox/dropbox-98.4.158.ebuild           | 102 ---------------------
 net-misc/dropbox/metadata.xml                      |   3 -
 4 files changed, 18 insertions(+), 133 deletions(-)