Wondering how I can install the Dropbox Linux CLI (which requires glibc 2.4) on my DreamHost VPS (which has glibc 2.3)…? I already tried copying a glibc 2.9 from an Ubuntu system and also built glibc 2.4 from scratch on the VPS and tried to use it with LD_LIBRARY_PATH
and LD_PRELOAD
, to no avail.
~/sw/dropbox_cli/lib$ ./dropbox ./dropbox: /lib/libc.so.6: version `GLIBC_2.4' not found (required by ./dropbox) ~/sw/dropbox_cli/lib$ ls -l libc* -rwxr-xr-x 1 msabramo pg156676 1331404 Apr 13 23:40 libc-2.9.so* lrwxrwxrwx 1 msabramo pg156676 11 Apr 13 23:41 libc.so.6 -> libc-2.9.so* -rwxr-xr-x 1 msabramo pg156676 1563432 Mar 28 12:50 libcrypto.so.0.9.8* ~/sw/dropbox_cli/lib$ LD_LIBRARY_PATH=. ./dropbox ./dropbox: /lib/libc.so.6: version `GLIBC_2.4' not found (required by ./dropbox) ~/sw/dropbox_cli/lib$ LD_PRELOAD=/home/msabramo/sw/dropbox_cli/lib/libc-2.9.so ./dropbox ERROR: ld.so: object '/home/msabramo/sw/dropbox_cli/lib/libc-2.9.so' from LD_PRELOAD cannot be preloaded: ignored. ./dropbox: /lib/libc.so.6: version `GLIBC_2.4' not found (required by ./dropbox) ~/sw/glibc-2.4/build/linux_2.6.33.7_x86_64$ ~/sw/dropbox_cli/lib/dropbox /home/msabramo/sw/dropbox_cli/lib/dropbox: /lib/libc.so.6: version `GLIBC_2.4' not found (required by /home/msabramo/sw/dropbox_cli/lib/dropbox) ~/sw/glibc-2.4/build/linux_2.6.33.7_x86_64$ LD_LIBRARY_PATH=. ~/sw/dropbox_cli/lib/dropbox Segmentation fault ~/sw/glibc-2.4/build/linux_2.6.33.7_x86_64$ LD_LIBRARY_PATH=. ldd ~/sw/dropbox_cli/lib/dropbox Segmentation fault ~/sw/glibc-2.4/build/linux_2.6.33.7_x86_64$ file ~/sw/dropbox_cli/lib/dropbox /home/msabramo/sw/dropbox_cli/lib/dropbox: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped ~/sw/glibc-2.4/build/linux_2.6.33.7_x86_64$ file /lib/libc-2.3.6.so /lib/libc-2.3.6.so: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.0, stripped ~/sw/glibc-2.4/build/linux_2.6.33.7_x86_64$ file libc.so libc.so: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.4.0, not stripped ~/sw/glibc-2.4/build/linux_2.6.33.7_x86_64$ uname -a Linux wettoad 2.6.33.7-vs2.3.0.36.30.4 #23 SMP Tue Sep 28 05:47:35 PDT 2010 x86_64 GNU/Linux
I don’t know why the libc.so says “for GNU/Linux 2.4.0” (it was built on this same Linux 2.6 system) and whether that is a problem or not…
Update 2011-04-14 10:28 PDT:
I rebuilt glibc-2.4 with --enable-kernel=2.6
, --enable-nptl
, and --enable-tls
. Still seeing segfaults:
~/sw/glibc-2.4/build/linux_2.6.33.7_x86_64$ ldd ~/sw/dropbox_cli/lib/dropbox /home/msabramo/sw/dropbox_cli/lib/dropbox: /lib/libc.so.6: version `GLIBC_2.4' not found (required by /home/msabramo/sw/dropbox_cli/lib/dropbox) libpthread.so.0 => /lib/libpthread.so.0 (0x00007f4f1f130000) libdl.so.2 => /lib/libdl.so.2 (0x00007f4f1f02d000) libutil.so.1 => /home/msabramo/run/lib/libutil.so.1 (0x00007f4f1ef2a000) libm.so.6 => /home/msabramo/run/lib/libm.so.6 (0x00007f4f1edaa000) libc.so.6 => /lib/libc.so.6 (0x00007f4f1eb6d000) /lib64/ld-linux-x86-64.so.2 (0x00007f4f1f245000) ~/sw/glibc-2.4/build/linux_2.6.33.7_x86_64$ file libc.so libc.so: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.0, not stripped ~/sw/glibc-2.4/build/linux_2.6.33.7_x86_64$ LD_LIBRARY_PATH=. ldd ~/sw/dropbox_cli/lib/dropbox Segmentation fault ~/sw/glibc-2.4/build/linux_2.6.33.7_x86_64$ LD_PRELOAD=./libc.so ldd ~/sw/dropbox_cli/lib/dropbox Segmentation fault
I figured it out! Look for the solution in a future blog post…
Hey Mark, did you ever write up your solution to dropbox CLI + Dreamhost VPS?
Not yet, but thanks for the reminder! One little gotcha, which I guess I’ll mention when I post it, is that the Dropbox daemon this morning was using 200 MB of virtual memory, which kind of sucks when you’re paying by the megabyte for memory. But maybe I or someone else will be able to trim that down…
Pingback: Running Dropbox on DreamHost « Marc Abramowitz
Cool, thanks Marc!
Note that I did get it running on my VPS (almost a year later) using the standard distro from Dropbox:
https://www.dropbox.com/install?os=lnx
The daemon can be set up to run all the time, or you can run it from a CGI when needed.
Pingback: Running Dropbox on your Dreamhost VPS | warpedvisions.org