redbo / cloudfuse

Filesystem (fuse) implemented on Mosso's Cloud Files
http://redbo.github.com/cloudfuse/
MIT License
392 stars 114 forks source link

Unable to build, Ubuntu 9.10, AMD64 #1

Closed sgornick closed 14 years ago

sgornick commented 14 years ago

./configure runs ok, but make fails. I do have curl, libxml2, libxml2-dev, libfuse, libfuse-dev.

The first few lines of the make output are: gcc -D_FILE_OFFSET_BITS=64 -I. -I/usr/include/libxml2 -g -O2 -o cloudfuse cloudfsapi.c cloudfuse.c -lxml2 -lxml2 In file included from cloudfsapi.c:12: cloudfsapi.h:4:23: error: curl/curl.h: No such file or directory cloudfsapi.h:5:24: error: curl/types.h: No such file or directory cloudfsapi.h:6:23: error: curl/easy.h: No such file or directory

OUTPUT OF CONFIGURE

****

$ ./configure checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for a BSD-compatible install... /usr/bin/install -c checking for main in -lcurl... no checking for main in -lfuse... no checking for main in -lmagic... no checking for main in -lxml2... yes checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E 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 working alloca.h... yes checking for alloca... yes checking for ANSI C header files... (cached) yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking for unistd.h... (cached) yes checking for an ANSI C-conforming const... yes checking for uid_t in sys/types.h... yes checking for mode_t... yes checking for off_t... yes checking for size_t... yes checking whether struct tm is in sys/time.h or time.h... time.h checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking whether time.h and sys/time.h may both be included... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking for unistd.h... (cached) yes checking for alarm... yes checking for working mktime... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible realloc... yes checking for ftruncate... yes checking for memmove... yes checking for strcasecmp... yes checking for strchr... yes checking for strdup... yes checking for strncasecmp... yes checking for strrchr... yes checking for strstr... yes configure: creating ./config.status config.status: creating Makefile config.status: creating config.h

OUTPUT OF MAKE

****

steve@digi05:~/Downloads/redbo-cloudfuse-7643a7f$ make gcc -D_FILE_OFFSET_BITS=64 -I. -I/usr/include/libxml2 -g -O2 -o cloudfuse cloudfsapi.c cloudfuse.c -lxml2 -lxml2 In file included from cloudfsapi.c:12: cloudfsapi.h:4:23: error: curl/curl.h: No such file or directory cloudfsapi.h:5:24: error: curl/types.h: No such file or directory cloudfsapi.h:6:23: error: curl/easy.h: No such file or directory cloudfsapi.c: In function ‘dispatch_clear’: cloudfsapi.c:144: warning: ignoring return value of ‘ftruncate’, declared with attribute warn_unused_result cloudfsapi.c: In function ‘sendrequest’: cloudfsapi.c:175: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘’ token cloudfsapi.c:175: error: ‘curl_pool’ undeclared (first use in this function) cloudfsapi.c:175: error: (Each undeclared identifier is reported only once cloudfsapi.c:175: error: for each function it appears in.) cloudfsapi.c:201: warning: assignment makes pointer from integer without a cast cloudfsapi.c:205: error: ‘CURL’ undeclared (first use in this function) cloudfsapi.c:205: error: ‘curl’ undeclared (first use in this function) cloudfsapi.c:210: error: ‘CURLOPT_UPLOAD’ undeclared (first use in this function) cloudfsapi.c:211: error: ‘CURLOPT_INFILESIZE’ undeclared (first use in this function) cloudfsapi.c:212: error: ‘CURLOPT_READDATA’ undeclared (first use in this function) cloudfsapi.c:213: warning: assignment makes pointer from integer without a cast cloudfsapi.c:223: warning: assignment makes pointer from integer without a cast cloudfsapi.c:227: error: ‘CURLOPT_NOBODY’ undeclared (first use in this function) cloudfsapi.c:228: error: ‘CURLOPT_CUSTOMREQUEST’ undeclared (first use in this function) cloudfsapi.c:234: warning: assignment makes pointer from integer without a cast cloudfsapi.c:235: error: ‘CURLOPT_VERBOSE’ undeclared (first use in this function) cloudfsapi.c:236: error: ‘CURLOPT_WRITEHEADER’ undeclared (first use in this function) cloudfsapi.c:237: error: ‘CURLOPT_HEADER’ undeclared (first use in this function) cloudfsapi.c:238: error: ‘CURLOPT_FOLLOWLOCATION’ undeclared (first use in this function) cloudfsapi.c:239: error: ‘CURLOPT_MAXREDIRS’ undeclared (first use in this function) cloudfsapi.c:240: error: ‘CURLOPT_NOSIGNAL’ undeclared (first use in this function) cloudfsapi.c:241: error: ‘CURLOPT_TIMEOUT’ undeclared (first use in this function) cloudfsapi.c:242: error: ‘CURLOPT_CONNECTTIMEOUT’ undeclared (first use in this function) cloudfsapi.c:243: error: ‘CURLOPT_HTTPHEADER’ undeclared (first use in this function) cloudfsapi.c:244: error: ‘CURLOPT_USERAGENT’ undeclared (first use in this function) cloudfsapi.c:245: error: ‘CURLOPT_URL’ undeclared (first use in this function) cloudfsapi.c:246: error: ‘CURLOPT_HEADERFUNCTION’ undeclared (first use in this function) cloudfsapi.c:248: error: ‘CURLOPT_WRITEDATA’ undeclared (first use in this function) cloudfsapi.c:252: error: ‘CURLOPT_WRITEFUNCTION’ undeclared (first use in this function) cloudfsapi.c:254: error: ‘CURLOPT_SSL_VERIFYPEER’ undeclared (first use in this function) cloudfsapi.c:256: error: ‘CURLINFO_RESPONSE_CODE’ undeclared (first use in this function) cloudfsapi.c: In function ‘object_read_from’: cloudfsapi.c:286: warning: initialization makes pointer from integer without a cast cloudfsapi.c: In function ‘object_write_to’: cloudfsapi.c:297: warning: initialization makes pointer from integer without a cast cloudfsapi.c:304: warning: ignoring return value of ‘ftruncate’, declared with attribute warn_unused_result cloudfsapi.c: In function ‘object_truncate’: cloudfsapi.c:313: warning: initialization makes pointer from integer without a cast cloudfsapi.c: In function ‘list_directory’: cloudfsapi.c:339: warning: initialization makes pointer from integer without a cast cloudfsapi.c:340: warning: initialization makes pointer from integer without a cast cloudfsapi.c: In function ‘delete_object’: cloudfsapi.c:418: warning: initialization makes pointer from integer without a cast cloudfsapi.c: In function ‘create_directory’: cloudfsapi.c:426: warning: initialization makes pointer from integer without a cast cloudfsapi.c: In function ‘cloudfs_connect’: cloudfsapi.c:447: error: ‘CURL_GLOBAL_ALL’ undeclared (first use in this function) cloudfsapi.c:464: warning: assignment makes pointer from integer without a cast cloudfsapi.c:466: warning: assignment makes pointer from integer without a cast cloudfuse.c:2:18: error: fuse.h: No such file or directory In file included from cloudfuse.c:12: cloudfsapi.h:4:23: error: curl/curl.h: No such file or directory cloudfsapi.h:5:24: error: curl/types.h: No such file or directory cloudfsapi.h:6:23: error: curl/easy.h: No such file or directory cloudfuse.c:212: warning: ‘struct fuse_file_info’ declared inside parameter list cloudfuse.c:212: warning: its scope is only this definition or declaration, which is probably not what you want cloudfuse.c: In function ‘cfs_fgetattr’: cloudfuse.c:214: error: dereferencing pointer to incomplete type cloudfuse.c:216: error: dereferencing pointer to incomplete type cloudfuse.c: At top level: cloudfuse.c:224: error: expected declaration specifiers or ‘...’ before ‘fuse_fill_dir_t’ cloudfuse.c:224: warning: ‘struct fuse_file_info’ declared inside parameter list cloudfuse.c:246: warning: ‘struct fuse_file_info’ declared inside parameter list cloudfuse.c: In function ‘cfs_create’: cloudfuse.c:249: error: dereferencing pointer to incomplete type cloudfuse.c:252: error: dereferencing pointer to incomplete type cloudfuse.c: At top level: cloudfuse.c:256: warning: ‘struct fuse_file_info’ declared inside parameter list cloudfuse.c: In function ‘cfs_open’: cloudfuse.c:259: error: dereferencing pointer to incomplete type cloudfuse.c:259: error: ‘O_WRONLY’ undeclared (first use in this function) cloudfuse.c:259: error: (Each undeclared identifier is reported only once cloudfuse.c:259: error: for each function it appears in.) cloudfuse.c:268: error: dereferencing pointer to incomplete type cloudfuse.c:269: error: dereferencing pointer to incomplete type cloudfuse.c: At top level: cloudfuse.c:274: warning: ‘struct fuse_file_info’ declared inside parameter list cloudfuse.c: In function ‘cfs_read’: cloudfuse.c:276: error: dereferencing pointer to incomplete type cloudfuse.c:277: error: dereferencing pointer to incomplete type cloudfuse.c: At top level: cloudfuse.c:280: warning: ‘struct fuse_file_info’ declared inside parameter list cloudfuse.c: In function ‘cfs_release’: cloudfuse.c:282: error: dereferencing pointer to incomplete type cloudfuse.c:283: error: dereferencing pointer to incomplete type cloudfuse.c:283: error: ‘O_RDWR’ undeclared (first use in this function) cloudfuse.c:283: error: dereferencing pointer to incomplete type cloudfuse.c:283: error: ‘O_WRONLY’ undeclared (first use in this function) cloudfuse.c:285: error: dereferencing pointer to incomplete type cloudfuse.c:295: error: dereferencing pointer to incomplete type cloudfuse.c: At top level: cloudfuse.c:309: warning: ‘struct fuse_file_info’ declared inside parameter list cloudfuse.c: In function ‘cfs_ftruncate’: cloudfuse.c:311: error: dereferencing pointer to incomplete type cloudfuse.c:312: error: dereferencing pointer to incomplete type cloudfuse.c: At top level: cloudfuse.c:317: warning: ‘struct fuse_file_info’ declared inside parameter list cloudfuse.c: In function ‘cfs_write’: cloudfuse.c:319: error: dereferencing pointer to incomplete type cloudfuse.c:321: error: dereferencing pointer to incomplete type cloudfuse.c: At top level: cloudfuse.c:334: warning: ‘struct fuse_file_info’ declared inside parameter list cloudfuse.c:345: warning: ‘struct statvfs’ declared inside parameter list cloudfuse.c: In function ‘cfs_statfs’: cloudfuse.c:347: error: dereferencing pointer to incomplete type cloudfuse.c:348: error: dereferencing pointer to incomplete type cloudfuse.c:349: error: dereferencing pointer to incomplete type cloudfuse.c:349: error: ‘INT_MAX’ undeclared (first use in this function) cloudfuse.c:350: error: dereferencing pointer to incomplete type cloudfuse.c:350: error: dereferencing pointer to incomplete type cloudfuse.c:351: error: dereferencing pointer to incomplete type cloudfuse.c:351: error: dereferencing pointer to incomplete type cloudfuse.c:352: error: dereferencing pointer to incomplete type cloudfuse.c:353: error: dereferencing pointer to incomplete type cloudfuse.c:354: error: dereferencing pointer to incomplete type cloudfuse.c:355: error: dereferencing pointer to incomplete type cloudfuse.c: In function ‘main’: cloudfuse.c:389: error: variable ‘args’ has initializer but incomplete type cloudfuse.c:389: error: storage size of ‘args’ isn’t known cloudfuse.c:432: error: variable ‘cfs_oper’ has initializer but incomplete type cloudfuse.c:433: error: unknown field ‘readdir’ specified in initializer cloudfuse.c:433: warning: excess elements in struct initializer cloudfuse.c:433: warning: (near initialization for ‘cfs_oper’) cloudfuse.c:434: error: unknown field ‘mkdir’ specified in initializer cloudfuse.c:434: warning: excess elements in struct initializer cloudfuse.c:434: warning: (near initialization for ‘cfs_oper’) cloudfuse.c:435: error: unknown field ‘read’ specified in initializer cloudfuse.c:435: warning: excess elements in struct initializer cloudfuse.c:435: warning: (near initialization for ‘cfs_oper’) cloudfuse.c:436: error: unknown field ‘create’ specified in initializer cloudfuse.c:436: warning: excess elements in struct initializer cloudfuse.c:436: warning: (near initialization for ‘cfs_oper’) cloudfuse.c:437: error: unknown field ‘open’ specified in initializer cloudfuse.c:437: warning: excess elements in struct initializer cloudfuse.c:437: warning: (near initialization for ‘cfs_oper’) cloudfuse.c:438: error: unknown field ‘fgetattr’ specified in initializer cloudfuse.c:438: warning: excess elements in struct initializer cloudfuse.c:438: warning: (near initialization for ‘cfs_oper’) cloudfuse.c:439: error: unknown field ‘getattr’ specified in initializer cloudfuse.c:439: warning: excess elements in struct initializer cloudfuse.c:439: warning: (near initialization for ‘cfs_oper’) cloudfuse.c:440: error: unknown field ‘release’ specified in initializer cloudfuse.c:440: warning: excess elements in struct initializer cloudfuse.c:440: warning: (near initialization for ‘cfs_oper’) cloudfuse.c:441: error: unknown field ‘rmdir’ specified in initializer cloudfuse.c:441: warning: excess elements in struct initializer cloudfuse.c:441: warning: (near initialization for ‘cfs_oper’) cloudfuse.c:442: error: unknown field ‘ftruncate’ specified in initializer cloudfuse.c:442: warning: excess elements in struct initializer cloudfuse.c:442: warning: (near initialization for ‘cfs_oper’) cloudfuse.c:443: error: unknown field ‘truncate’ specified in initializer cloudfuse.c:443: warning: excess elements in struct initializer cloudfuse.c:443: warning: (near initialization for ‘cfs_oper’) cloudfuse.c:444: error: unknown field ‘write’ specified in initializer cloudfuse.c:444: warning: excess elements in struct initializer cloudfuse.c:444: warning: (near initialization for ‘cfs_oper’) cloudfuse.c:445: error: unknown field ‘unlink’ specified in initializer cloudfuse.c:445: warning: excess elements in struct initializer cloudfuse.c:445: warning: (near initialization for ‘cfs_oper’) cloudfuse.c:446: error: unknown field ‘fsync’ specified in initializer cloudfuse.c:446: warning: excess elements in struct initializer cloudfuse.c:446: warning: (near initialization for ‘cfs_oper’) cloudfuse.c:447: error: unknown field ‘statfs’ specified in initializer cloudfuse.c:447: warning: excess elements in struct initializer cloudfuse.c:447: warning: (near initialization for ‘cfs_oper’) cloudfuse.c:448: error: unknown field ‘chmod’ specified in initializer cloudfuse.c:448: warning: excess elements in struct initializer cloudfuse.c:448: warning: (near initialization for ‘cfs_oper’) cloudfuse.c:449: error: unknown field ‘chown’ specified in initializer cloudfuse.c:449: warning: excess elements in struct initializer cloudfuse.c:449: warning: (near initialization for ‘cfs_oper’) cloudfuse.c:432: error: storage size of ‘cfsoper’ isn’t known make: ** [cloudfuse] Error 1

redbo commented 14 years ago

Sorry, you'll need libcurl-dev also installed to build it.

On my debian (lenny) machine here, I have to choose between libcurl4-openssl-dev and libcurl4-gnutls-dev depending on which SSL library I want.

redbo commented 14 years ago

I updated the the build scripts a while back to give better feedback on this. ./configure should spit out more useful error messages when required libs are missing now.