Git Product home page Git Product logo

stormfs's Introduction


   _______________  ____  __  ______________
  / ___/_  __/ __ \/ __ \/  |/  / ____/ ___/
  \__ \ / / / / / / /_/ / /|_/ / /_   \__ \ 
 ___/ // / / /_/ / _, _/ /  / / __/  ___/ / 
/____//_/  \____/_/ |_/_/  /_/_/    /____/  


A FUSE abstraction layer for cloud storage.


Installation Requirements:
=============================================================================
  - libfuse      ([sudo] apt-get install libfuse-dev libfuse2 fuse-utils)
  - libcurl      ([sudo] apt-get install libcurl4-gnutls-dev
                                               * OR * 
                                         libcurl4-openssl-dev
  - glib2        ([sudo] apt-get install libglib2.0-dev)
  - autotools    ([sudo] apt-get install automake)
  - mime-support ([sudo] apt-get install mime-support)


Build:
=============================================================================
  ./autogen.sh
  ./configure
  make
  [make install]


Configuration:
=============================================================================
See the supplied stormfs.conf.example for a basic configuration file


Usage: (see --help for a full list of options)
=============================================================================
stormfs bucket mountpoint [options]

general options:
    -o opt,[opt...]         mount options
    -h   --help             print help
    -V   --version          print version

STORMFS options:
    -o config=CONFIG        path to configuration file
                              (default: /etc/stormfs.conf)
    -o url=URL              specify a custom service URL
    -o acl=ACL              canned acl applied to objects (default: private)
                            valid options: {private,
                                            public-read,
                                            public-read-write,
                                            authenticated-read,
                                            bucket-owner-read,
                                            bucket-owner-full-control}
    -o expires=RFC1123DATE  expires HTTP header applied to objects
                              e.g.: Thu\\,\ 08\ Apr\ 2012\ 20:00:00\ GMT
                              (default: disabled)
    -o use_ssl              force the use of SSL
    -o no_verify_ssl        skip SSL certificate/host verification
    -o use_rrs              use reduced redundancy storage
    -o encryption           enable server-side encryption
    -o mime_path=PATH       path to mime.types (default: /etc/mime.types)
    -o cache_path=PATH      path for cached file storage (default: /tmp/stormfs)
    -o cache_timeout=N      sets the cache timeout in seconds (default: 300)
    -o nocache              disable the cache (cache is enabled by default)


Supported APIs
=============================================================================
Amazon Simple Storage Service (Amazon S3)
Eucalyptus (Walrus S3)
Google Cloud Storage[1]

Support is planned for the following services:
  Dropbox
  Rackspace Cloud Files
  Google Cloud Storage (native API)

[1] You must enable "Interoperable Access" and use the provided
      "Legacy Storage Access Keys"

Testing
=============================================================================
STORMfs strives to be fully POSIX compliant, the folks at Tuxera have created
an extensive test suit available at:
    http://www.tuxera.com/community/posix-test-suite/

Once compiled, you can run the tests like so:
  $ cd /path/to/mounted/bucked/testdir
  $ prove -r /path/to/fstest


BUGS
=============================================================================
Bugs can be reported at https://github.com/benlemasurier/stormfs/issues

Please be sure to check whether your bug has already been submitted. If it
hasn't, try to provide as much information as necessary to reproduce the bug.

stormfs's People

Contributors

benlemasurier avatar pozdnychev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

stormfs's Issues

Missing curl/types.h

I am having a problem compiling stormfs-curl.o because curl/types.h is not found.

jeffsilverman@xyzzy:/stormfs$ make
make all-recursive
make[1]: Entering directory /home/jeffsilverman/stormfs'
Making all in src
make[2]: Entering directory/home/jeffsilverman/stormfs/src'
source='curl.c' object='stormfs-curl.o' libtool=no
DEPDIR=.deps depmode=none /bin/bash ../depcomp
gcc -DHAVE_CONFIG_H -I. -I.. -D_REENTRANT -DFUSE_USE_VERSION=26 -D_FILE_OFFSET_BITS=64 -DSYSCONFDIR="/usr/local/etc" -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -Wall -W -Wno-unused-parameter -std=c99 -pedantic -c -o stormfs-curl.o test -f 'curl.c' || echo './'curl.c
curl.c:26:24: fatal error: curl/types.h: No such file or directory
compilation terminated.
make[2]: *** [stormfs-curl.o] Error 1
make[2]: Leaving directory /home/jeffsilverman/stormfs/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory/home/jeffsilverman/stormfs'
make: *** [all] Error 2
jeffsilverman@xyzzy:
/stormfs$

I have some references to this problem on Google. The recommended solution is to download curl, which I have done. I built curl 7.28.tar.gz. and still no curl/types.h. http://packages.ubuntu.com/precise/amd64/libcurl3/filelist does not mention types.h

I went to Ubuntu's website and got libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb, but that can't be installed on my configuration:

jeffsilverman@xyzzy:~/stormfs$ wget http://mirrors.us.kernel.org/ubuntu//pool/main/c/curl/libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb
--2012-10-26 20:25:06-- http://mirrors.us.kernel.org/ubuntu//pool/main/c/curl/libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb
Resolving mirrors.us.kernel.org (mirrors.us.kernel.org)... 149.20.4.71
Connecting to mirrors.us.kernel.org (mirrors.us.kernel.org)|149.20.4.71|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1071220 (1.0M) [text/plain]
Saving to: `libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb'

100%[=======================================================================================================================================>] 1,071,220 1.07M/s in 1.0s

2012-10-26 20:25:07 (1.07 MB/s) - `libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb' saved [1071220/1071220]

jeffsilverman@xyzzy:/stormfs$ dpkg -i libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb
dpkg: error: requested operation requires superuser privilege
jeffsilverman@xyzzy:
/stormfs$ sudo dpkg -i libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb
Selecting previously unselected package libcurl4-openssl-dev.
dpkg: regarding libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb containing libcurl4-openssl-dev:
libcurl4-openssl-dev conflicts with libcurl-dev
libcurl4-gnutls-dev provides libcurl-dev and is present and installed.
dpkg: error processing libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb (--install):
conflicting packages - not installing libcurl4-openssl-dev
Errors were encountered while processing:
libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb
jeffsilverman@xyzzy:~/stormfs$ sudo apt-get remove libcurl-dev
Reading package lists... Done
Building dependency tree

Reading state information... Done
Virtual packages like 'libcurl-dev' can't be removed
0 upgraded, 0 newly installed, 0 to remove and 48 not upgraded.
jeffsilverman@xyzzy:/stormfs$ ls /usr/include/curl/
curl.h curlbuild.h curlrules.h curlver.h easy.h mprintf.h multi.h stdcheaders.h typecheck-gcc.h
jeffsilverman@xyzzy:
/stormfs$

and that wouldn't help anyway:

jeffsilverman@xyzzy:/stormfs$ dpkg -c libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb | fgrep type
-rw-r--r-- root/root 36048 2012-03-22 23:51 ./usr/include/curl/typecheck-gcc.h
jeffsilverman@xyzzy:
/stormfs$

I finally resolved the issue by commenting out #include <curl/types.h> in the file curl.c. Do not confuse <sys/types.h> with <curl/types.h>

Thank you

Jeff Silverman

Error Installing on OS X Lion: "brew install stormfs"

Trying to install results in following Error:

brew install stormfs

Warning: It appears you have MacPorts or Fink installed.
Software installed with other package managers causes known problems for
Homebrew. If a formula fails to build, uninstall MacPorts/Fink and try again.
==> Installing stormfs dependency: glib
==> Downloading ftp://ftp.gnome.org/pub/gnome/sources/glib/2.30/glib-2.30.3.tar.xz
Already downloaded: /Users/user/Library/Caches/Homebrew/glib-2.30.3.tar.xz
==> Downloading patches

################################################################## 100,0%
################################################################## 100,0%
################################################################## 100,0%
################################################################## 100,0%
################################################################## 100,0%
################################################################## 100,0%

==> Patching
patching file configure
Hunk #1 succeeded at 30564 (offset 79 lines).
Hunk #2 succeeded at 32336 (offset 74 lines).
Hunk #3 succeeded at 32373 (offset 74 lines).
Hunk #4 succeeded at 32409 (offset 74 lines).
Hunk #5 succeeded at 32551 (offset 74 lines).
Hunk #6 succeeded at 32597 (offset 74 lines).
Hunk #7 succeeded at 32609 (offset 74 lines).
Hunk #8 succeeded at 32621 (offset 74 lines).
patching file glib-2.0.pc.in
patching file glib/gunicollate.c
patching file glib/gi18n.h
patching file gio/xdgmime/xdgmime.c
patching file gio/gdbusprivate.c
Hunk #1 succeeded at 2059 (offset 71 lines).
==> ./configure --disable-rebuilds --prefix=/usr/local/Cellar/glib/2.30.3 --disable-dtrace --disable-debug
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... yes
checking whether make supports nested variables... yes
checking for gcc... /usr/bin/clang
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /usr/bin/clang accepts -g... yes
checking for /usr/bin/clang option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of /usr/bin/clang... none
checking how to run the C preprocessor... /usr/bin/clang -E
checking build system type... x86_64-apple-darwin11.4.0
checking host system type... x86_64-apple-darwin11.4.0
checking for the BeOS... no
checking for Win32... no
checking for Mac OS X Carbon support... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking whether we are using the GNU C Library 2.1 or newer... no
checking whether to enable garbage collector friendliness... no
checking whether to disable memory pools... no
readlink: illegal option -- f
usage: readlink [-n] [file ...]
checking whether we are using the GNU C++ compiler... yes
checking whether /usr/bin/clang++ accepts -g... yes
checking dependency style of /usr/bin/clang++... none
checking for gcc... (cached) /usr/bin/clang
checking whether we are using the GNU C compiler... (cached) yes
checking whether /usr/bin/clang accepts -g... (cached) yes
checking for /usr/bin/clang option to accept ISO C89... (cached) none needed
checking dependency style of /usr/bin/clang... (cached) none
checking whether /usr/bin/clang and cc understand -c and -o together... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.16... yes
checking for gawk... (cached) awk
checking for perl5... no
checking for perl... perl
checking for indent... indent
checking for perl... /usr/bin/perl
checking for a Python interpreter with version >= 2.5... python
checking for python... /usr/bin/python
checking for python version... 2.7
checking for python platform... darwin
checking for python script directory... ${prefix}/lib/python2.7/site-packages
checking for python extension module directory... ${exec_prefix}/lib/python2.7/site-packages
checking for iconv_open... no
checking for libiconv_open in -liconv... no
checking for iconv_open in -liconv... yes
checking whether to cache iconv descriptors... yes
checking for ZLIB... no
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for inflate in -lz... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for LIBFFI... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for LC_MESSAGES... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking for ngettext in libc... no
checking for bindtextdomain in -lintl... yes
checking for ngettext in -lintl... yes
checking for dgettext in -lintl... yes
checking for bind_textdomain_codeset... yes
checking for msgfmt... /usr/local/Cellar/gettext/0.18.1.1/bin/msgfmt
checking for dcgettext... yes
checking if msgfmt accepts -c... yes
checking for gmsgfmt... /usr/local/Cellar/gettext/0.18.1.1/bin/msgfmt
checking for xgettext... /usr/local/Cellar/gettext/0.18.1.1/bin/xgettext
checking for catalogs to be installed... af am ar as ast az be be@latin bg bn bn_IN bs ca ca@valencia cs cy da de dz el en_CA en_GB en@shaw eo es et eu fa fi fr ga gl gu he hi hr hu hy id is it ja ka kk kn ko ku lt lv mai mg mk ml mn mr ms nb nds ne nl nn oc or pa pl ps pt pt_BR ro ru rw si sk sl sq sr sr@latin sr@ije sv ta te th tl tr ug tt uk vi wa xh yi zh_CN zh_HK zh_TW
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by /usr/bin/clang... /usr/bin/clang
checking if the linker (/usr/bin/clang) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm
checking the name lister (/usr/bin/nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 196608
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-apple-darwin11.4.0 file names to x86_64-apple-darwin11.4.0 format... func_convert_file_noop
checking how to convert x86_64-apple-darwin11.4.0 file names to toolchain format... func_convert_file_noop
checking for /usr/bin/clang option to reload object files... -r
checking for objdump... no
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @file support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm output from /usr/bin/clang object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for lipo... lipo
checking for otool... otool
checking for otool64... no
checking for -single_module linker flag... yes
checking for -exported_symbols_list linker flag... yes
checking for -force_load linker flag... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if /usr/bin/clang supports -fno-rtti -fno-exceptions... yes
checking for /usr/bin/clang option to produce PIC... -fno-common -DPIC
checking if /usr/bin/clang PIC flag -fno-common -DPIC works... yes
checking if /usr/bin/clang static flag -static works... no
checking if /usr/bin/clang supports -c -o file.o... yes
checking if /usr/bin/clang supports -c -o file.o... (cached) yes
checking whether the /usr/bin/clang linker (/usr/bin/clang) supports shared libraries... yes
checking dynamic linker characteristics... darwin11.4.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking how to run the C++ preprocessor... /usr/bin/clang++ -E
checking for ld used by /usr/bin/clang++... /usr/bin/clang
checking if the linker (/usr/bin/clang) is GNU ld... no
checking whether the /usr/bin/clang++ linker (/usr/bin/clang) supports shared libraries... yes
checking for /usr/bin/clang++ option to produce PIC... -fno-common -DPIC
checking if /usr/bin/clang++ PIC flag -fno-common -DPIC works... yes
checking if /usr/bin/clang++ static flag -static works... no
checking if /usr/bin/clang++ supports -c -o file.o... yes
checking if /usr/bin/clang++ supports -c -o file.o... (cached) yes
checking whether the /usr/bin/clang++ linker (/usr/bin/clang) supports shared libraries... yes
checking dynamic linker characteristics... darwin11.4.0 dyld
checking how to hardcode library paths into programs... immediate
configure: creating ./config.lt
config.lt: creating libtool
checking for extra flags to get ANSI library prototypes...
configure: WARNING: No ANSI prototypes found in library. (-std1 didn't work.)
checking for extra flags for POSIX compliance... none needed
checking for ANSI C header files... (cached) yes
checking for vprintf... yes
checking for _doprnt... no
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for mmap... yes
checking for posix_memalign... yes
checking for memalign... no
checking for valloc... yes
checking for fsync... yes
checking for pipe2... no
checking for atexit... yes
checking for on_exit... no
checking for timegm... yes
checking for gmtime_r... yes
checking for qsort_r... yes
checking if qsort_r uses glibc compatible argument order... no
checking size of char... 0
checking size of short... 0
checking size of long... 0
checking size of int... 0
checking size of void ... 0
checking size of long long... 0
checking size of __int64... 0
configure: error:
*
* GLib requires a 64 bit type. You might want to consider
*** using the GNU C compiler.

config.log was copied to /Users/user/Library/Logs/Homebrew
==> Build Environment
CPU: quad-core 64-bit sandybridge
MacOS: 10.7.4-x86_64
Xcode: 4.3.2
MacPorts/Fink: /opt/local/bin/port
CC: /usr/bin/clang
CXX: /usr/bin/clang++ => /usr/bin/clang
LD: /usr/bin/clang
CFLAGS: -Os -pipe -march=native
CXXFLAGS: -Os -pipe -march=native
CPPFLAGS: -I/usr/local/Cellar/libffi/3.0.10/include -I/usr/local/Cellar/gettext/0.18.1.1/include
LDFLAGS: -L/usr/local/Cellar/libffi/3.0.10/lib -L/usr/local/Cellar/gettext/0.18.1.1/lib
MAKEFLAGS: -j4
PKG_CONFIG_PATH: /usr/local/Cellar/libffi/3.0.10/lib/pkgconfig
Error: Failed executing: ./configure --disable-dependency-tracking --disable-rebuilds --prefix=/usr/local/Cellar/glib/2.30.3 --disable-dtrace --disable-debug (glib.rb:66)
If `brew doctor' does not help diagnose the issue, please report the bug:
https://github.com/mxcl/homebrew/wiki/reporting-bugs
We saved the configure log, please gist it if you report the issue:
~/Library/Logs/Homebrew/config.log

replace instances of g_list_free_full

Debian Squeeze libglib-2.0-dev installs version 2.24.2-1, we need at least 2.28 for g_list_free_full. Not sure why the version check in configure.ac passes.. :\

dependency on fuse?

Trying to install on fresh Mac (but have XCode/etc.)

brew install stormfs failes with:

PKG_CONFIG_PATH: /usr/local/Cellar/libffi/3.0.10/lib/pkgconfig:/usr/local/Cellar/gettext/0.18.1.1/lib/pkgconfig

Error: Failed executing: ./configure --disable-debug --disable-dependency-tracking --prefix=/usr/local/Cellar/stormfs/0.01
If `brew doctor' does not help diagnose the issue, please report the bug:
https://github.com/mxcl/homebrew/wiki/checklist-before-filing-a-new-issue
We saved the configure log, please gist it if you report the issue:
~/Library/Logs/Homebrew/config.log

looking into the log I can see:

configure:3514: result: yes
configure:3524: checking for FUSE
configure:3531: $PKG_CONFIG --exists --print-errors "fuse >= 2.8.3"
Package fuse was not found in the pkg-config search path.
Perhaps you should add the directory containing fuse.pc' to the PKG_CONFIG_PATH environment variable No package 'fuse' found configure:3534: $? = 1 configure:3547: $PKG_CONFIG --exists --print-errors "fuse >= 2.8.3" Package fuse was not found in the pkg-config search path. Perhaps you should add the directory containingfuse.pc'
to the PKG_CONFIG_PATH environment variable
No package 'fuse' found
configure:3550: $? = 1
configure:3563: result: no
No package 'fuse' found
configure:3579: error: Package requirements (fuse >= 2.8.3) were not met:

No package 'fuse' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables FUSE_CFLAGS
and FUSE_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

Can't get it to work on OS X

I've tried under two different machines, OS X 10.6.7 and 10.7.2 but get the same issues on each. Both are using the release version in Brew.

~ ‹ruby-1.9.3›  $ stormfs snbackup ~/snbackup
~ ‹ruby-1.9.3›  $ ls -la ~/snbackup 
total 0
drwxr-xr-x   0 root  wheel     0  1 Jan  1970 .
drwxr-xr-x+ 77 luca  staff  2618  2 Feb 10:36 ..
~ ‹ruby-1.9.3›  $ touch ~/snbackup/test
touch: /Users/luca/snbackup/test: Permission denied
~ ‹ruby-1.9.3›  $ sudo touch ~/snbackup/test                                                                                                                                                                                                                                 
touch: /Users/luca/snbackup/test: Operation not permitted

Here is the log from stormfs running in debug mode:

~ ‹ruby-1.9.3›  $ stormfs -d snbackup ~/snbackup
FUSE library version: 2.8.6
nullpath_ok: 0
unique: 0, opcode: INIT (26), nodeid: 0, insize: 56
INIT: 7.16
flags=0x00000000
max_readahead=0x00100000
stormfs: unable to open /etc/mime.types: No such file or directory
   INIT: 7.16
   flags=0x00000010
   max_readahead=0x00100000
   max_write=0x01000000
   unique: 0, success, outsize: 40
unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 0, success, outsize: 96
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 1, success, outsize: 96
unique: 0, opcode: ACCESS (34), nodeid: 1, insize: 48
   unique: 0, error: -78 (Function not implemented), outsize: 16
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 2, success, outsize: 96
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 1, success, outsize: 96
unique: 0, opcode: GETATTR (3), nodeid: 1, insize: 56
getattr /
   unique: 0, success, outsize: 136
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 2, success, outsize: 96
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 1, success, outsize: 96
unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 0, success, outsize: 96
unique: 2, opcode: GETXATTR (22), nodeid: 1, insize: 77
   unique: 2, error: -78 (Function not implemented), outsize: 16
unique: 1, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
   unique: 1, error: -2 (No such file or directory), outsize: 16
unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 0, success, outsize: 96
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
   unique: 2, error: -2 (No such file or directory), outsize: 16
unique: 1, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 0, success, outsize: 96
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 2, success, outsize: 96
unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 0, success, outsize: 96
   unique: 1, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 52
LOOKUP /mach_kernel
getattr /mach_kernel
unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 0, success, outsize: 96
   unique: 2, error: -2 (No such file or directory), outsize: 16
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 1, success, outsize: 96
unique: 0, opcode: LOOKUP (1), nodeid: 1, insize: 48
LOOKUP /.hidden
getattr /.hidden
   unique: 0, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
   unique: 2, error: -2 (No such file or directory), outsize: 16
unique: 1, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
   unique: 1, error: -2 (No such file or directory), outsize: 16
unique: 0, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
   unique: 0, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: OPENDIR (27), nodeid: 1, insize: 48
   unique: 2, success, outsize: 32
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 1, success, outsize: 96
unique: 0, opcode: READDIR (28), nodeid: 1, insize: 80
readdir[0] from 0
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 2, success, outsize: 96
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 1, success, outsize: 96
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 2, success, outsize: 96
   unique: 0, success, outsize: 80
unique: 1, opcode: READDIR (28), nodeid: 1, insize: 80
   unique: 1, success, outsize: 16
unique: 2, opcode: RELEASEDIR (29), nodeid: 1, insize: 64
   unique: 2, success, outsize: 16
unique: 0, opcode: LOOKUP (1), nodeid: 1, insize: 52
LOOKUP /mach_kernel
getattr /mach_kernel
   unique: 0, error: -2 (No such file or directory), outsize: 16
unique: 1, opcode: LOOKUP (1), nodeid: 1, insize: 57
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40
LOOKUP /Backups.backupdb
statfs /
getattr /Backups.backupdb
   unique: 2, success, outsize: 96
   unique: 1, error: -2 (No such file or directory), outsize: 16
unique: 0, opcode: LOOKUP (1), nodeid: 1, insize: 48
LOOKUP /.hidden
getattr /.hidden
   unique: 0, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 57
LOOKUP /Backups.backupdb
getattr /Backups.backupdb
   unique: 2, error: -2 (No such file or directory), outsize: 16
unique: 1, opcode: LOOKUP (1), nodeid: 1, insize: 57
LOOKUP /Backups.backupdb
getattr /Backups.backupdb
   unique: 1, error: -2 (No such file or directory), outsize: 16
unique: 0, opcode: LOOKUP (1), nodeid: 1, insize: 57
LOOKUP /Backups.backupdb
getattr /Backups.backupdb
   unique: 0, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56
getattr /
   unique: 2, success, outsize: 136
unique: 1, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
   unique: 1, error: -2 (No such file or directory), outsize: 16
unique: 0, opcode: GETATTR (3), nodeid: 1, insize: 56
getattr /
   unique: 0, success, outsize: 136
unique: 2, opcode: OPENDIR (27), nodeid: 1, insize: 48
   unique: 2, success, outsize: 32
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 1, success, outsize: 96
unique: 0, opcode: READDIR (28), nodeid: 1, insize: 80
readdir[0] from 0
   unique: 0, success, outsize: 80
unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56
getattr /
   unique: 2, success, outsize: 136
unique: 1, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
   unique: 1, error: -2 (No such file or directory), outsize: 16
unique: 0, opcode: READDIR (28), nodeid: 1, insize: 80
   unique: 0, success, outsize: 16
unique: 2, opcode: RELEASEDIR (29), nodeid: 1, insize: 64
   unique: 2, success, outsize: 16
unique: 1, opcode: GETATTR (3), nodeid: 1, insize: 56
getattr /
   unique: 1, success, outsize: 136
unique: 0, opcode: LISTXATTR (23), nodeid: 1, insize: 56
   unique: 0, error: -78 (Function not implemented), outsize: 16
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
   unique: 2, error: -2 (No such file or directory), outsize: 16
unique: 1, opcode: GETATTR (3), nodeid: 1, insize: 56
getattr /
   unique: 1, success, outsize: 136
unique: 0, opcode: LOOKUP (1), nodeid: 1, insize: 45
LOOKUP /test
getattr /test
   unique: 0, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 45
LOOKUP /test
getattr /test
   unique: 2, error: -2 (No such file or directory), outsize: 16
unique: 1, opcode: OPENDIR (27), nodeid: 1, insize: 48
   unique: 1, success, outsize: 32
unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 0, success, outsize: 96
unique: 2, opcode: READDIR (28), nodeid: 1, insize: 80
readdir[0] from 0
   unique: 2, success, outsize: 80
unique: 1, opcode: READDIR (28), nodeid: 1, insize: 80
   unique: 1, success, outsize: 16
unique: 0, opcode: RELEASEDIR (29), nodeid: 1, insize: 64
   unique: 0, success, outsize: 16
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 45
LOOKUP /test
getattr /test
   unique: 2, error: -2 (No such file or directory), outsize: 16
unique: 1, opcode: GETATTR (3), nodeid: 1, insize: 56
getattr /
   unique: 1, success, outsize: 136
unique: 0, opcode: LOOKUP (1), nodeid: 1, insize: 45
LOOKUP /test
getattr /test
   unique: 0, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
   unique: 2, error: -2 (No such file or directory), outsize: 16
unique: 1, opcode: LOOKUP (1), nodeid: 1, insize: 45
LOOKUP /test
getattr /test
   unique: 1, error: -2 (No such file or directory), outsize: 16
unique: 0, opcode: LOOKUP (1), nodeid: 1, insize: 45
LOOKUP /test
getattr /test
   unique: 0, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: OPENDIR (27), nodeid: 1, insize: 48
   unique: 2, success, outsize: 32
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 1, success, outsize: 96
unique: 0, opcode: READDIR (28), nodeid: 1, insize: 80
readdir[0] from 0
   unique: 0, success, outsize: 80
unique: 2, opcode: READDIR (28), nodeid: 1, insize: 80
   unique: 2, success, outsize: 16
unique: 1, opcode: RELEASEDIR (29), nodeid: 1, insize: 64
   unique: 1, success, outsize: 16
unique: 0, opcode: GETATTR (3), nodeid: 1, insize: 56
getattr /
   unique: 0, success, outsize: 136
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
   unique: 2, error: -2 (No such file or directory), outsize: 16
unique: 1, opcode: LOOKUP (1), nodeid: 1, insize: 45
LOOKUP /test
getattr /test
   unique: 1, error: -2 (No such file or directory), outsize: 16
unique: 0, opcode: LOOKUP (1), nodeid: 1, insize: 45
LOOKUP /test
getattr /test
   unique: 0, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56
getattr /
   unique: 2, success, outsize: 136
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 1, success, outsize: 96
unique: 0, opcode: DESTROY (38), nodeid: 1, insize: 40
   unique: 0, success, outsize: 16

Missing types.h

I am having a problem compiling stormfs-curl.o because curl/types.h is not found.

jeffsilverman@xyzzy:/stormfs$ make
make all-recursive
make[1]: Entering directory /home/jeffsilverman/stormfs' Making all in src make[2]: Entering directory/home/jeffsilverman/stormfs/src'
source='curl.c' object='stormfs-curl.o' libtool=no
DEPDIR=.deps depmode=none /bin/bash ../depcomp
gcc -DHAVE_CONFIG_H -I. -I.. -D_REENTRANT -DFUSE_USE_VERSION=26 -D_FILE_OFFSET_BITS=64 -DSYSCONFDIR="/usr/local/etc" -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -Wall -W -Wno-unused-parameter -std=c99 -pedantic -c -o stormfs-curl.o test -f 'curl.c' || echo './'curl.c
curl.c:26:24: fatal error: curl/types.h: No such file or directory
compilation terminated.
make[2]: *** [stormfs-curl.o] Error 1
make[2]: Leaving directory /home/jeffsilverman/stormfs/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory/home/jeffsilverman/stormfs'
make: *** [all] Error 2
jeffsilverman@xyzzy:
/stormfs$

I have some references to this problem on Google. The recommended solution is to download curl, which I have done. I built curl 7.28.tar.gz. and still no curl/types.h. http://packages.ubuntu.com/precise/amd64/libcurl3/filelist does not mention types.h

I went to Ubuntu's website and got libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb, but that can't be installed on my configuration:

jeffsilverman@xyzzy:~/stormfs$ wget http://mirrors.us.kernel.org/ubuntu//pool/main/c/curl/libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb
--2012-10-26 20:25:06-- http://mirrors.us.kernel.org/ubuntu//pool/main/c/curl/libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb
Resolving mirrors.us.kernel.org (mirrors.us.kernel.org)... 149.20.4.71
Connecting to mirrors.us.kernel.org (mirrors.us.kernel.org)|149.20.4.71|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1071220 (1.0M) [text/plain]
Saving to: `libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb'

100%[=======================================================================================================================================>] 1,071,220 1.07M/s in 1.0s

2012-10-26 20:25:07 (1.07 MB/s) - `libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb' saved [1071220/1071220]

jeffsilverman@xyzzy:/stormfs$ dpkg -i libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb
dpkg: error: requested operation requires superuser privilege
jeffsilverman@xyzzy:
/stormfs$ sudo dpkg -i libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb
Selecting previously unselected package libcurl4-openssl-dev.
dpkg: regarding libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb containing libcurl4-openssl-dev:
libcurl4-openssl-dev conflicts with libcurl-dev
libcurl4-gnutls-dev provides libcurl-dev and is present and installed.
dpkg: error processing libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb (--install):
conflicting packages - not installing libcurl4-openssl-dev
Errors were encountered while processing:
libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb
jeffsilverman@xyzzy:/stormfs$ sudo apt-get remove libcurl-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Virtual packages like 'libcurl-dev' can't be removed
0 upgraded, 0 newly installed, 0 to remove and 48 not upgraded.
jeffsilverman@xyzzy:
/stormfs$ ls /usr/include/curl/
curl.h curlbuild.h curlrules.h curlver.h easy.h mprintf.h multi.h stdcheaders.h typecheck-gcc.h
jeffsilverman@xyzzy:~/stormfs$

and that wouldn't help anyway:

jeffsilverman@xyzzy:/stormfs$ dpkg -c libcurl4-openssl-dev_7.22.0-3ubuntu4_amd64.deb | fgrep type
-rw-r--r-- root/root 36048 2012-03-22 23:51 ./usr/include/curl/typecheck-gcc.h
jeffsilverman@xyzzy:
/stormfs$

Do you have a suggestion?

Thank you

Jeff Silverman

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.