matteoserva/MegaFuse

MegaFuse "fails", armv7, Ubuntu 15.04

devizer opened this issue · 2 comments

First line of MegaFuse output is really ss /root/.megafuse.conf.

sudo apt-get install -y libcrypto++-dev libdb5.3++-dev libcurl4-openssl-dev libfreeimage-dev libreadline-dev libfuse-dev make

mkdir -p ~/src/megafuse && cd ~/src/megafuse
git clone https://github.com/matteoserva/MegaFuse
cd MegaFuse
make
sudo make install

root@OrangePI ~/src/megafuse/MegaFuse $ sudo MegaFuse -c ~/.megafuse.conf
ss /root/.megafuse.conf
caricata la variabile USERNAME con il valore ****************
caricata la variabile PASSWORD con il valore ******
caricata la variabile MOUNTPOINT con il valore /mega
caricata la variabile CACHEPATH con il valore /cache
MegaFushe::MegaFuse. Constructor finished.
searching node by path: /.megafuse_symlink
Segmentation fault (core dumped)
root@OrangePI ~/src/megafuse/MegaFuse $ cat ~/.megafuse.conf
USERNAME = **********
PASSWORD = *****
MOUNTPOINT = /mega
CACHEPATH = /cache

So MegaFuse finishes immediately after line searching node by path: /.megafuse_symlink

By the way, armv7 is 32-bit little-endian CPU, as well as i386 arch

The same installer on i386 works fine with the same .conf. Here is a normal output on a i386 Ubuntu

ss /home/ubuntu/.megafuse.conf
caricata la variabile USERNAME con il valore *****************
caricata la variabile PASSWORD con il valore ******
caricata la variabile MOUNTPOINT con il valore /mega
Specify a valid cache path (eg: /tmp): /cache
MegaFushe::MegaFuse. Constructor finished.
10 files and 4 folders added or updated
1 user received or updated
[14:03:40] MegaFuse is ready
flags:80000
searching node by path: /.megafuse_symlink
file .megafuse_symlink not found in MEGA
MegaFuse::unserializeSymlink. no symlink stored. Do nothing.
MegaFuse::getAttr Looking for /
/ not found in cache
MegaFuse::getAttr Looking for /
/ not found in cache
MegaFuse::getAttr Looking for /Nightwish.Showtime.Storytime.2013.x264.DVDRip.(AVC).olegek70.mkv
/Nightwish.Showtime.Storytime.2013.x264.DVDRip.(AVC).olegek70.mkv not found in cache
searching node by path: /Nightwish.Showtime.Storytime.2013.x264.DVDRip.(AVC).olegek70.mkv
node found in MEGA: /Nightwish.Showtime.Storytime.2013.x264.DVDRip.(AVC).olegek70.mkv
MegaFuse::getAttr Looking for /Nightwish.mp4
/Nightwish.mp4 not found in cache
searching node by path: /Nightwish.mp4
node found in MEGA: /Nightwish.mp4
MegaFuse::getAttr Looking for /megatools-1.9.96-fs.tar.gz
/megatools-1.9.96-fs.tar.gz not found in cache
searching node by path: /megatools-1.9.96-fs.tar.gz
node found in MEGA: /megatools-1.9.96-fs.tar.gz
MegaFuse::getAttr Looking for /megatools-1.9.96.tar.gz
/megatools-1.9.96.tar.gz not found in cache
searching node by path: /megatools-1.9.96.tar.gz
node found in MEGA: /megatools-1.9.96.tar.gz
MegaFuse::getAttr Looking for /sqfs
/sqfs not found in cache
searching node by path: /sqfs
node found in MEGA: /sqfs
MegaFuse::getAttr Looking for /
/ not found in cache
MegaFuse::getAttr Looking for /sqfs
/sqfs not found in cache
searching node by path: /sqfs
node found in MEGA: /sqfs
....
....
....

Finally, here are dependencies:

$ ldd `command -v MegaFuse`
    libcrypto++.so.9 => /usr/lib/libcrypto++.so.9 (0xb6c87000)
    libfreeimage.so.3 => /usr/lib/libfreeimage.so.3 (0xb6c0e000)
    libdb_cxx-5.3.so => /usr/lib/arm-linux-gnueabihf/libdb_cxx-5.3.so (0xb6adc000)
    libcurl.so.4 => /usr/lib/arm-linux-gnueabihf/libcurl.so.4 (0xb6a8a000)
    libfuse.so.2 => /lib/arm-linux-gnueabihf/libfuse.so.2 (0xb6a58000)
    libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb699e000)
    libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6928000)
    libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb68ff000)
    libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb68eb000)
    libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb67fd000)
    /lib/ld-linux-armhf.so.3 (0xb6f8a000)
    libjpeg.so.8 => /usr/lib/arm-linux-gnueabihf/libjpeg.so.8 (0xb67be000)
    libopenjpeg.so.5 => /usr/lib/arm-linux-gnueabihf/libopenjpeg.so.5 (0xb6796000)
    libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0xb6774000)
    libIlmImf.so.6 => /usr/lib/arm-linux-gnueabihf/libIlmImf.so.6 (0xb66d9000)
    libHalf.so.6 => /usr/lib/arm-linux-gnueabihf/libHalf.so.6 (0xb6686000)
    libIex.so.6 => /usr/lib/arm-linux-gnueabihf/libIex.so.6 (0xb6662000)
    libraw.so.10 => /usr/lib/arm-linux-gnueabihf/libraw.so.10 (0xb65ca000)
    libpng12.so.0 => /lib/arm-linux-gnueabihf/libpng12.so.0 (0xb65a2000)
    libtiff.so.5 => /usr/lib/arm-linux-gnueabihf/libtiff.so.5 (0xb653e000)
    libidn.so.11 => /usr/lib/arm-linux-gnueabihf/libidn.so.11 (0xb6507000)
    librtmp.so.1 => /usr/lib/arm-linux-gnueabihf/librtmp.so.1 (0xb64e3000)
    libssl.so.1.0.0 => /lib/arm-linux-gnueabihf/libssl.so.1.0.0 (0xb649b000)
    libcrypto.so.1.0.0 => /lib/arm-linux-gnueabihf/libcrypto.so.1.0.0 (0xb6383000)
    libgssapi_krb5.so.2 => /usr/lib/arm-linux-gnueabihf/libgssapi_krb5.so.2 (0xb6349000)
    liblber-2.4.so.2 => /usr/lib/arm-linux-gnueabihf/liblber-2.4.so.2 (0xb6330000)
    libldap_r-2.4.so.2 => /usr/lib/arm-linux-gnueabihf/libldap_r-2.4.so.2 (0xb62fd000)
    libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xb62e9000)
    libIlmThread.so.6 => /usr/lib/arm-linux-gnueabihf/libIlmThread.so.6 (0xb62d4000)
    libjasper.so.1 => /usr/lib/arm-linux-gnueabihf/libjasper.so.1 (0xb628b000)
    liblcms2.so.2 => /usr/lib/arm-linux-gnueabihf/liblcms2.so.2 (0xb6245000)
    libgomp.so.1 => /usr/lib/arm-linux-gnueabihf/libgomp.so.1 (0xb6224000)
    liblzma.so.5 => /lib/arm-linux-gnueabihf/liblzma.so.5 (0xb6203000)
    libjbig.so.0 => /usr/lib/arm-linux-gnueabihf/libjbig.so.0 (0xb61e8000)
    libgnutls-deb0.so.28 => /usr/lib/arm-linux-gnueabihf/libgnutls-deb0.so.28 (0xb6125000)
    libhogweed.so.2 => /usr/lib/arm-linux-gnueabihf/libhogweed.so.2 (0xb60f0000)
    libnettle.so.4 => /usr/lib/arm-linux-gnueabihf/libnettle.so.4 (0xb60b7000)
    libgmp.so.10 => /usr/lib/arm-linux-gnueabihf/libgmp.so.10 (0xb605b000)
    libkrb5.so.3 => /usr/lib/arm-linux-gnueabihf/libkrb5.so.3 (0xb5fc8000)
    libk5crypto.so.3 => /usr/lib/arm-linux-gnueabihf/libk5crypto.so.3 (0xb5f94000)
    libcom_err.so.2 => /lib/arm-linux-gnueabihf/libcom_err.so.2 (0xb5f81000)
    libkrb5support.so.0 => /usr/lib/arm-linux-gnueabihf/libkrb5support.so.0 (0xb5f6a000)
    libresolv.so.2 => /lib/arm-linux-gnueabihf/libresolv.so.2 (0xb5f49000)
    libsasl2.so.2 => /usr/lib/arm-linux-gnueabihf/libsasl2.so.2 (0xb5f28000)
    libgssapi.so.3 => /usr/lib/arm-linux-gnueabihf/libgssapi.so.3 (0xb5ef3000)
    libgcrypt.so.20 => /lib/arm-linux-gnueabihf/libgcrypt.so.20 (0xb5e64000)
    libp11-kit.so.0 => /usr/lib/arm-linux-gnueabihf/libp11-kit.so.0 (0xb5e2b000)
    libtasn1.so.6 => /usr/lib/arm-linux-gnueabihf/libtasn1.so.6 (0xb5e0e000)
    libkeyutils.so.1 => /lib/arm-linux-gnueabihf/libkeyutils.so.1 (0xb5dfb000)
    libheimntlm.so.0 => /usr/lib/arm-linux-gnueabihf/libheimntlm.so.0 (0xb5de5000)
    libkrb5.so.26 => /usr/lib/arm-linux-gnueabihf/libkrb5.so.26 (0xb5d85000)
    libasn1.so.8 => /usr/lib/arm-linux-gnueabihf/libasn1.so.8 (0xb5d1a000)
    libhcrypto.so.4 => /usr/lib/arm-linux-gnueabihf/libhcrypto.so.4 (0xb5ce6000)
    libroken.so.18 => /usr/lib/arm-linux-gnueabihf/libroken.so.18 (0xb5cc9000)
    libgpg-error.so.0 => /lib/arm-linux-gnueabihf/libgpg-error.so.0 (0xb5cae000)
    libffi.so.6 => /usr/lib/arm-linux-gnueabihf/libffi.so.6 (0xb5c98000)
    libwind.so.0 => /usr/lib/arm-linux-gnueabihf/libwind.so.0 (0xb5c60000)
    libheimbase.so.1 => /usr/lib/arm-linux-gnueabihf/libheimbase.so.1 (0xb5c46000)
    libhx509.so.5 => /usr/lib/arm-linux-gnueabihf/libhx509.so.5 (0xb5c0a000)
    libsqlite3.so.0 => /usr/lib/arm-linux-gnueabihf/libsqlite3.so.0 (0xb5b83000)
    libcrypt.so.1 => /lib/arm-linux-gnueabihf/libcrypt.so.1 (0xb5b44000)

I get a crash on an ARM ODROID:

Reading symbols from MegaFuse...done.
(gdb) run
Starting program: /root/MegaFuse-master/MegaFuse
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Cannot access memory at address 0x0

Program received signal SIGILL, Illegal instruction.
0xb64a8268 in ?? () from /lib/arm-linux-gnueabihf/libcrypto.so.1.0.0
(gdb) where
#0  0xb64a8268 in ?? () from /lib/arm-linux-gnueabihf/libcrypto.so.1.0.0
#1  0xb64a5f10 in OPENSSL_cpuid_setup () from /lib/arm-linux-gnueabihf/libcrypto.so.1.0.0
#2  0xb6fea19e in call_init (l=<optimized out>, argc=1, argv=0xbefff694, env=0xbefff69c) at dl-init.c:78
#3  0xb6fea230 in _dl_init (main_map=0xb6fff958, argc=1, argv=0xbefff694, env=0xbefff69c) at dl-init.c:126
#4  0xb6fdfbf2 in _dl_start_user () from /lib/ld-linux-armhf.so.3
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) f 1
#1  0xb64a5f10 in OPENSSL_cpuid_setup () from /lib/arm-linux-gnueabihf/libcrypto.so.1.0.0
(gdb) q

By the way, MegaFuse works fine with builtin g++ and libs from official debian 7 repo at PowerPC big-endian apple G3.

So, what the hall with armv7? IS it only my problem?