Page 2 of 4
Re: Dropbox - glibc and file systems support
Posted: 2018/10/17 03:52:21
by falk0069
tacvbo wrote: ↑2018/10/16 04:39:58
There is another way, it might be not as easy and clean as the docker option but it's better to have some options around. This worked on a Centos 6.
I compiled glibc-2.27 at /opt/glibc-2.27/
Code: Select all
# tar xzvf glibc-2.27.tar.gz
# cd glibc-2.27
# mkdir build
# cd build
# ../configure --prefix=/opt/glibc-2.27
# make && make install
and then as user:
Code: Select all
% patchelf --set-interpreter /opt/glibc-2.27/lib/ld-2.27.so ~/.dropbox-dist/dropbox-lnx.x86_64-59.4.93/dropbox
% patchelf --set-rpath /opt/glibc-2.27/lib ~/.dropbox-dist/dropbox-lnx.x86_64-59.4.93/dropbox
you might need to yum install patchelf.
I'm on Centos 7 and gave this a shot but 2.27 was too new for me. I needed to also upgrade make (>3.79) and gcc (>4.9), which I didn't want to do. I opted to try this with the minimum glibc instead (2.19). The building and patching went smooth. Unfortunately, it failed to start. This is the error I got:
Code: Select all
dropbox: python initialized
dropbox: running dropbox
dropbox: setting args
dropbox: applying overrides
dropbox: running main script
dropbox: load fq extension '/home/falk/.dropbox-dist/dropbox-lnx.x86_64-59.4.93/cryptography.hazmat.bindings._constant_time.cpython-35m-x86_64-linux-gnu.so'
Traceback (most recent call last):
File "dropbox/__init__.pyc", line 8, in <module>
File "dropbox/overrides.pyc", line 517, in <module>
File "dropbox/overrides.pyc", line 418, in __ssl_wrap_socket_internal_ca_certs
File "dropbox/ssl/revoked_certs.pyc", line 9, in <module>
File "cryptography/x509/__init__.pyc", line 9, in <module>
File "cryptography/x509/base.pyc", line 16, in <module>
File "cryptography/x509/extensions.pyc", line 18, in <module>
File "cryptography/hazmat/primitives/constant_time.pyc", line 9, in <module>
File "<_bootstrap_overrides>", line 153, in load_module
ImportError: libffi.so.6: cannot open shared object file: No such file or directory
!! dropbox: fatal python exception:
['Traceback (most recent call last):\n', ' File "dropbox/__init__.pyc", line 8, in <module>\n', ' File "dropbox/overrides.pyc", line 517, in <module>\n', ' File "dropbox/overrides.pyc", line 418, in __ssl_wrap_socket_internal_ca_certs\n', ' File "dropbox/ssl/revoked_certs.pyc", line 9, in <module>\n', ' File "cryptography/x509/__init__.pyc", line 9, in <module>\n', ' File "cryptography/x509/base.pyc", line 16, in <module>\n', ' File "cryptography/x509/extensions.pyc", line 18, in <module>\n', ' File "cryptography/hazmat/primitives/constant_time.pyc", line 9, in <module>\n', ' File "<_bootstrap_overrides>", line 153, in load_module\n', 'ImportError: libffi.so.6: cannot open shared object file: No such file or directory\n'] (error 3)
Aborted (core dumped)
Anyone else running into this?
Re: Dropbox - glibc and file systems support
Posted: 2018/10/17 20:43:58
by msz1959
I have tried this solution on CentOS 7 machine. It did not work, though, similarly to falk0069's symptoms.
1. I had to go back to glibc-2.25 (2.27 appears to have requirements beyond C7 standard installation, e.g. make 4.0, gcc 4.9)
2. With patchelf commands executed (adapted to /opt/glibc-2.25), dropboxd command fails to load "libffi.so.1" library. When I linked /lib64/libffi* to /opt/glibc-2.25/lib/, it failed again, this time on "librsync.so.1". Error log attached.
Re: Dropbox - glibc and file systems support
Posted: 2018/10/17 21:50:26
by pgreco
I have dropbox working, without rebuilding glibc, or patching dropboxd with patchelf.
Here's what I did.
Create dropboxcheat.c with this code
Code: Select all
const char *gnu_get_libc_version (void)
{
return "2.19";
}
compile the cheat .so
Code: Select all
gcc -Wall -fPIC -shared -o dropboxcheat.so dropboxcheat.c
move the .so to /usr/local/lib64/
add this line in dropbox.py, right before subprocess.Popen....., in function start_dropbox
Code: Select all
os.environ['LD_PRELOAD'] = "/usr/local/lib64/dropboxcheat.so"
Run dropbox normally and it should ask to relogin.
HTH.
Pablo.
Re: Dropbox - glibc and file systems support
Posted: 2018/10/18 13:13:55
by bota
pgreco wrote: ↑2018/10/17 21:50:26
I have dropbox working, without rebuilding glibc, or patching dropboxd with patchelf.
Here's what I did.
Create drobpoxcheat.c with this code
Code: Select all
const char *gnu_get_libc_version (void)
{
return "2.19";
}
compile the cheat .so
Code: Select all
gcc -Wall -fPIC -shared -o drobpoxcheat.so drobpoxcheat.c
move the .so to /usr/local/lib64/
add this line in dropbox.py, right before subprocess.Popen....., in function start_dropbox
Code: Select all
s.environ['LD_PRELOAD'] = "/usr/local/lib64/drobpoxcheat.so"
Run dropbox normally and it should ask to relogin.
HTH.
Pablo.
Hi!
It's working.
The correct code is:
Code: Select all
os.environ['LD_PRELOAD'] = "/usr/local/lib64/drobpoxcheat.so"
Re: Dropbox - glibc and file systems support
Posted: 2018/10/18 13:56:56
by sophauer
pgreco wrote: ↑2018/10/17 21:50:26
I have dropbox working, without rebuilding glibc, or patching dropboxd with patchelf.
Here's what I did.
Code: Select all
s.environ['LD_PRELOAD'] = "/usr/local/lib64/drobpoxcheat.so"
Run dropbox normally and it should ask to relogin.
HTH.
Pablo.
hi,
Code: Select all
[b]s.environ[/b]['LD_PRELOAD'] = "/usr/local/lib64/drobpoxcheat.so"
shouild be?
Code: Select all
[b]os.environ[/b]['LD_PRELOAD'] = "/usr/local/lib64/drobpoxcheat.so"
and it did not work for me
when i had done ,start dropbox with ~/bin/dropbox.py start
and it did start.....
but ,~/bin/dropbox.py status..
it just keeping starting....and nothing sync
Re: Dropbox - glibc and file systems support
Posted: 2018/10/19 04:05:25
by mvaranda7
Thanks for your answer pgreco, but doesn't works
Dropbox say "Starting ...." forever
Using CentOS 7.5 glibc stock 2.17
Re: Dropbox - glibc and file systems support
Posted: 2018/10/19 18:08:41
by pgreco
@bota, @sophauer, you're right, it was a wrong copy/paste. Thanks, already edited the post.
For me, when it said "starting" and stayed there, was when dropbox opened the browser to enter username and password.
Re: Dropbox - glibc and file systems support
Posted: 2018/10/20 00:44:56
by mvaranda7
I found this
https://paste.ee/p/NjACE
But my server is a production server, and I can't test with it.
On Monday I will try in test platform server
varanda
Re: Dropbox - glibc and file systems support
Posted: 2018/10/20 00:47:52
by mvaranda7
pgreco wrote: ↑2018/10/19 18:08:41
@bota, @sophauer, you're right, it was a wrong copy/paste. Thanks, already edited the post.
For me, when it said "starting" and stayed there, was when dropbox opened the browser to enter username and password.
I'm using with no graphical interface, and doesn't ask for authentication, displaying "Starting..." forever
I will try this:
https://paste.ee/p/NjACE
varanda
Re: Dropbox - glibc and file systems support
Posted: 2018/10/23 12:34:27
by pgreco
mvaranda7 wrote: ↑2018/10/20 00:47:52
pgreco wrote: ↑2018/10/19 18:08:41
@bota, @sophauer, you're right, it was a wrong copy/paste. Thanks, already edited the post.
For me, when it said "starting" and stayed there, was when dropbox opened the browser to enter username and password.
I'm using with no graphical interface, and doesn't ask for authentication, displaying "Starting..." forever
I will try this:
https://paste.ee/p/NjACE
varanda
Can you try running dropbox manually?
Code: Select all
cd ~/.dropbox-dist/dropbox-lnx.x86_64-59.4.93/
LD_PRELOAD=/usr/local/lib64/dropboxcheat.so ./dropboxd