benlemasurier / stormfs

A FUSE abstraction layer for cloud storage (Amazon S3, Google Cloud Storage and more)
GNU General Public License v2.0
91 stars 4 forks source link

Missing curl/types.h #16

Closed jeffsilverm closed 11 years ago

jeffsilverm commented 11 years ago

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

electricintel commented 8 years ago

Types.h hasn't been included in Curl since version 7.20 http://curl.haxx.se/mail/tracker-2011-07/0012.html http://sourceforge.net/p/curl/bugs/1020/ Would like help to recompile the newer versions to include it in a git library. I am a programmer, not a compiler, so this would be a first for me. Any help will be appreciated.

electricintel commented 8 years ago

http://curl.haxx.se/download.html The old releases link (http://curl.haxx.se/download/)will take you to the ftp server for curl and you should find a version with types.h (curl) in the archaeology link (http://curl.haxx.se/download/archeology/) up top. I want to learn how to fix missing libraries and any help would be appreciated.