Janet Young
2010-Jan-14 02:24 UTC
[R] installing RCurl when libcurl is in non-standard location
Hi, I'm struggling to install RCurl for 32-bit linux and am hoping for some suggestions. I obtained RCurl_1.3-1.tar.gz from CRAN today, and am using a very recent version of R: R version 2.10.1 Patched (2010-01-12 r50970). I'm not the sysadmin for this system (disclaimer: my sysadmin skills are not very good, I'm afraid). curl is available centrally on the system but it's a little old (7.12.3 - looks from some older r-help posts like this is too old for RCurl). Therefore I installed libcurl 7.19.7 in a non-standard location (because I'm not the sysadmin), and I think I'm pointing R towards this new libcurl OK, but I'm not 100% sure about that. The output of locate (see below) makes me a little suspicious, but the output of the R CMD INSTALL makes it seem like the new libcurl I installed IS being used. I've included various output below that I hope will help in figuring this out. Is there anything else that would be useful to know? I can also ask our sysadmin for help if that makes more sense than asking you all via r-help. Thanks very much in advance for any ideas, Janet Young --------------- [2] zork20:/home/jayoung> uname -a Linux zork20 2.6.12-1.1381_FC3smp #1 SMP Fri Oct 21 04:03:26 EDT 2005 i686 athlon i386 GNU/Linux [3] zork20:/home/jayoung> setenv MAKE gmake [4] zork20:/home/jayoung> which gmake /usr/bin/gmake [5] zork20:/home/jayoung> gmake -version GNU Make 3.80 Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. [6] zork20:/home/jayoung> which curl-config /home/jayoung/traskdata/bin_linux/curl-config [7] zork20:/home/jayoung> curl-config --version libcurl 7.19.7 [8] zork20:/home/jayoung> locate curl-config /usr/bin/curl-config /usr/share/man/man1/curl-config.1.gz [16] zork20:/home/jayoung> /usr/bin/curl-config --version libcurl 7.12.3 [9] zork20:/home/jayoung> locate libcurl /usr/lib/libcurl.so.3 /usr/lib/libcurl.so /usr/lib/libcurl.a /usr/lib/libcurl.so.3.0.0 /usr/share/man/man3/libcurl-multi.3.gz /usr/share/man/man3/libcurl-easy.3.gz /usr/share/man/man3/libcurl-errors.3.gz /usr/share/man/man3/libcurl-share.3.gz /usr/share/man/man3/libcurl-tutorial.3.gz /usr/share/man/man3/libcurl.3.gz [10] zork20:/home/jayoung> ls ~/traskdata/lib_linux/libcu* /home/jayoung/traskdata/lib_linux/libcurl.a /home/jayoung/traskdata/lib_linux/libcurl.la* /home/jayoung/traskdata/lib_linux/libcurl.so@ /home/jayoung/traskdata/lib_linux/libcurl.so.3@ /home/jayoung/traskdata/lib_linux/libcurl.so.3.0.0* /home/jayoung/traskdata/lib_linux/libcurl.so.4@ /home/jayoung/traskdata/lib_linux/libcurl.so.4.0.0* /home/jayoung/traskdata/lib_linux/libcurl.so.4.1.1* [11] zork20:/home/jayoung> printenv LD_LIBRARY_PATH /home/btrask/traskdata/lib_linux:/home/jayoung/traskdata/bin_linux/qt/ lib:/home/btrask/traskdata/lib_linux/R/library/RSPerl/libs:/home/ btrask/traskdata/lib_linux/R/lib [14] zork20:/home/jayoung/source_codes/R/other_packages> R CMD INSTALL RCurl_1.3-1.tar.gz --configure-args='--libdir=/home/btrask/traskdata/ lib_linux --includedir=/home/btrask/traskdata/include' * installing to library ?/home/btrask/traskdata/lib_linux/R/library? * installing *source* package ?RCurl? ... checking for curl-config... /home/jayoung/traskdata/bin_linux/curl- config 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 ANSI C... none needed checking how to run the C preprocessor... gcc -E Version has a libidn field Version has CURLOPT_URL Version has CURLINFO_EFFECTIVE_URL Version has CURLINFO_RESPONSE_CODE Version has CURLINFO_TOTAL_TIME Version has CURLINFO_NAMELOOKUP_TIME Version has CURLINFO_CONNECT_TIME Version has CURLINFO_PRETRANSFER_TIME Version has CURLINFO_SIZE_UPLOAD Version has CURLINFO_SIZE_DOWNLOAD Version has CURLINFO_SPEED_DOWNLOAD Version has CURLINFO_SPEED_UPLOAD Version has CURLINFO_HEADER_SIZE Version has CURLINFO_REQUEST_SIZE Version has CURLINFO_SSL_VERIFYRESULT Version has CURLINFO_FILETIME Version has CURLINFO_CONTENT_LENGTH_DOWNLOAD Version has CURLINFO_CONTENT_LENGTH_UPLOAD Version has CURLINFO_STARTTRANSFER_TIME Version has CURLINFO_CONTENT_TYPE Version has CURLINFO_REDIRECT_TIME Version has CURLINFO_REDIRECT_COUNT Version has CURLINFO_PRIVATE Version has CURLINFO_HTTP_CONNECTCODE Version has CURLINFO_HTTPAUTH_AVAIL Version has CURLINFO_PROXYAUTH_AVAIL Version has CURLINFO_OS_ERRNO Version has CURLINFO_NUM_CONNECTS Version has CURLINFO_SSL_ENGINES No CURLINFO_COOKIELIST enumeration value. No CURLINFO_LASTSOCKET enumeration value. No CURLINFO_FTP_ENTRY_PATH enumeration value. No CURLINFO_REDIRECT_URL enumeration value. No CURLINFO_PRIMARY_IP enumeration value. No CURLINFO_APPCONNECT_TIME enumeration value. No CURLINFO_CERTINFO enumeration value. No CURLINFO_CONDITION_UNMET enumeration value. No CURLOPT_KEYPASSWD enumeration value. No CURLOPT_DIRLISTONLY enumeration value. No CURLOPT_APPEND enumeration value. No CURLOPT_KRBLEVEL enumeration value. No CURLOPT_USE_SSL enumeration value. No CURLOPT_TIMEOUT_MS enumeration value. No CURLOPT_CONNECTTIMEOUT_MS enumeration value. No CURLOPT_HTTP_TRANSFER_DECODING enumeration value. No CURLOPT_HTTP_CONTENT_DECODING enumeration value. No CURLOPT_NEW_FILE_PERMS enumeration value. No CURLOPT_NEW_DIRECTORY_PERMS enumeration value. No CURLOPT_POSTREDIR enumeration value. No CURLOPT_OPENSOCKETFUNCTION enumeration value. No CURLOPT_OPENSOCKETDATA enumeration value. No CURLOPT_COPYPOSTFIELDS enumeration value. No CURLOPT_PROXY_TRANSFER_MODE enumeration value. No CURLOPT_SEEKFUNCTION enumeration value. No CURLOPT_SEEKDATA enumeration value. No CURLOPT_CRLFILE enumeration value. No CURLOPT_ISSUERCERT enumeration value. No CURLOPT_ADDRESS_SCOPE enumeration value. No CURLOPT_CERTINFO enumeration value. No CURLOPT_USERNAME enumeration value. No CURLOPT_PASSWORD enumeration value. No CURLOPT_PROXYUSERNAME enumeration value. No CURLOPT_PROXYPASSWORD enumeration value. No CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 enumeration value. No CURLOPT_NOPROXY enumeration value. No CURLOPT_TFTP_BLKSIZE enumeration value. No CURLOPT_SOCKS5_GSSAPI_SERVICE enumeration value. No CURLOPT_SOCKS5_GSSAPI_NEC enumeration value. No CURLOPT_PROTOCOLS enumeration value. No CURLOPT_REDIR_PROTOCOLS enumeration value. No CURLOPT_SSH_AUTH_TYPES enumeration value. No CURLOPT_SSH_PUBLIC_KEYFILE enumeration value. No CURLOPT_SSH_PRIVATE_KEYFILE enumeration value. No CURLOPT_FTP_SSL_CCC enumeration value. No CURLOPT_COOKIELIST enumeration value. No CURLOPT_IGNORE_CONTENT_LENGTH enumeration value. No CURLOPT_FTP_SKIP_PASV_IP enumeration value. No CURLOPT_FTP_FILEMETHOD enumeration value. No CURLOPT_LOCALPORT enumeration value. No CURLOPT_LOCALPORTRANGE enumeration value. No CURLOPT_CONNECT_ONLY enumeration value. No CURLOPT_CONV_FROM_NETWORK_FUNCTION enumeration value. No CURLOPT_CONV_TO_NETWORK_FUNCTION enumeration value. No CURLOPT_CONV_FROM_UTF8_FUNCTION enumeration value. No CURLOPT_MAX_SEND_SPEED_LARGE enumeration value. No CURLOPT_MAX_RECV_SPEED_LARGE enumeration value. No CURLOPT_FTP_ALTERNATIVE_TO_USER enumeration value. No CURLOPT_SOCKOPTFUNCTION enumeration value. No CURLOPT_SOCKOPTDATA enumeration value. No CURLOPT_SSL_SESSIONID_CACHE enumeration value. libcurl version: libcurl 7.19.7 configure: creating ./config.status config.status: creating src/Makevars ** libs gcc -std=gnu99 -I/home/btrask/traskdata/lib_linux/R/include -I/usr/ local/include -DHAVE_LIBIDN_FIELD=1 -DHAVE_CURLOPT_URL=1 - DHAVE_CURLINFO_EFFECTIVE_URL=1 -DHAVE_CURLINFO_RESPONSE_CODE=1 - DHAVE_CURLINFO_TOTAL_TIME=1 -DHAVE_CURLINFO_NAMELOOKUP_TIME=1 - DHAVE_CURLINFO_CONNECT_TIME=1 -DHAVE_CURLINFO_PRETRANSFER_TIME=1 - DHAVE_CURLINFO_SIZE_UPLOAD=1 -DHAVE_CURLINFO_SIZE_DOWNLOAD=1 - DHAVE_CURLINFO_SPEED_DOWNLOAD=1 -DHAVE_CURLINFO_SPEED_UPLOAD=1 - DHAVE_CURLINFO_HEADER_SIZE=1 -DHAVE_CURLINFO_REQUEST_SIZE=1 - DHAVE_CURLINFO_SSL_VERIFYRESULT=1 -DHAVE_CURLINFO_FILETIME=1 - DHAVE_CURLINFO_CONTENT_LENGTH_DOWNLOAD=1 - DHAVE_CURLINFO_CONTENT_LENGTH_UPLOAD=1 - DHAVE_CURLINFO_STARTTRANSFER_TIME=1 -DHAVE_CURLINFO_CONTENT_TYPE=1 - DHAVE_CURLINFO_REDIRECT_TIME=1 -DHAVE_CURLINFO_REDIRECT_COUNT=1 - DHAVE_CURLINFO_PRIVATE=1 -DHAVE_CURLINFO_HTTP_CONNECTCODE=1 - DHAVE_CURLINFO_HTTPAUTH_AVAIL=1 -DHAVE_CURLINFO_PROXYAUTH_AVAIL=1 - DHAVE_CURLINFO_OS_ERRNO=1 -DHAVE_CURLINFO_NUM_CONNECTS=1 - DHAVE_CURLINFO_SSL_ENGINES=1 -I/usr/local/include -fpic -g -O2 -c base64.c -o base64.o gcc -std=gnu99 -I/home/btrask/traskdata/lib_linux/R/include -I/usr/ local/include -DHAVE_LIBIDN_FIELD=1 -DHAVE_CURLOPT_URL=1 - DHAVE_CURLINFO_EFFECTIVE_URL=1 -DHAVE_CURLINFO_RESPONSE_CODE=1 - DHAVE_CURLINFO_TOTAL_TIME=1 -DHAVE_CURLINFO_NAMELOOKUP_TIME=1 - DHAVE_CURLINFO_CONNECT_TIME=1 -DHAVE_CURLINFO_PRETRANSFER_TIME=1 - DHAVE_CURLINFO_SIZE_UPLOAD=1 -DHAVE_CURLINFO_SIZE_DOWNLOAD=1 - DHAVE_CURLINFO_SPEED_DOWNLOAD=1 -DHAVE_CURLINFO_SPEED_UPLOAD=1 - DHAVE_CURLINFO_HEADER_SIZE=1 -DHAVE_CURLINFO_REQUEST_SIZE=1 - DHAVE_CURLINFO_SSL_VERIFYRESULT=1 -DHAVE_CURLINFO_FILETIME=1 - DHAVE_CURLINFO_CONTENT_LENGTH_DOWNLOAD=1 - DHAVE_CURLINFO_CONTENT_LENGTH_UPLOAD=1 - DHAVE_CURLINFO_STARTTRANSFER_TIME=1 -DHAVE_CURLINFO_CONTENT_TYPE=1 - DHAVE_CURLINFO_REDIRECT_TIME=1 -DHAVE_CURLINFO_REDIRECT_COUNT=1 - DHAVE_CURLINFO_PRIVATE=1 -DHAVE_CURLINFO_HTTP_CONNECTCODE=1 - DHAVE_CURLINFO_HTTPAUTH_AVAIL=1 -DHAVE_CURLINFO_PROXYAUTH_AVAIL=1 - DHAVE_CURLINFO_OS_ERRNO=1 -DHAVE_CURLINFO_NUM_CONNECTS=1 - DHAVE_CURLINFO_SSL_ENGINES=1 -I/usr/local/include -fpic -g -O2 -c curl.c -o curl.o curl.c:585: warning: "struct curl_certinfo" declared inside parameter list curl.c:585: warning: its scope is only this definition or declaration, which is probably not what you want gcc -std=gnu99 -I/home/btrask/traskdata/lib_linux/R/include -I/usr/ local/include -DHAVE_LIBIDN_FIELD=1 -DHAVE_CURLOPT_URL=1 - DHAVE_CURLINFO_EFFECTIVE_URL=1 -DHAVE_CURLINFO_RESPONSE_CODE=1 - DHAVE_CURLINFO_TOTAL_TIME=1 -DHAVE_CURLINFO_NAMELOOKUP_TIME=1 - DHAVE_CURLINFO_CONNECT_TIME=1 -DHAVE_CURLINFO_PRETRANSFER_TIME=1 - DHAVE_CURLINFO_SIZE_UPLOAD=1 -DHAVE_CURLINFO_SIZE_DOWNLOAD=1 - DHAVE_CURLINFO_SPEED_DOWNLOAD=1 -DHAVE_CURLINFO_SPEED_UPLOAD=1 - DHAVE_CURLINFO_HEADER_SIZE=1 -DHAVE_CURLINFO_REQUEST_SIZE=1 - DHAVE_CURLINFO_SSL_VERIFYRESULT=1 -DHAVE_CURLINFO_FILETIME=1 - DHAVE_CURLINFO_CONTENT_LENGTH_DOWNLOAD=1 - DHAVE_CURLINFO_CONTENT_LENGTH_UPLOAD=1 - DHAVE_CURLINFO_STARTTRANSFER_TIME=1 -DHAVE_CURLINFO_CONTENT_TYPE=1 - DHAVE_CURLINFO_REDIRECT_TIME=1 -DHAVE_CURLINFO_REDIRECT_COUNT=1 - DHAVE_CURLINFO_PRIVATE=1 -DHAVE_CURLINFO_HTTP_CONNECTCODE=1 - DHAVE_CURLINFO_HTTPAUTH_AVAIL=1 -DHAVE_CURLINFO_PROXYAUTH_AVAIL=1 - DHAVE_CURLINFO_OS_ERRNO=1 -DHAVE_CURLINFO_NUM_CONNECTS=1 - DHAVE_CURLINFO_SSL_ENGINES=1 -I/usr/local/include -fpic -g -O2 -c curlInit.c -o curlInit.o gcc -std=gnu99 -I/home/btrask/traskdata/lib_linux/R/include -I/usr/ local/include -DHAVE_LIBIDN_FIELD=1 -DHAVE_CURLOPT_URL=1 - DHAVE_CURLINFO_EFFECTIVE_URL=1 -DHAVE_CURLINFO_RESPONSE_CODE=1 - DHAVE_CURLINFO_TOTAL_TIME=1 -DHAVE_CURLINFO_NAMELOOKUP_TIME=1 - DHAVE_CURLINFO_CONNECT_TIME=1 -DHAVE_CURLINFO_PRETRANSFER_TIME=1 - DHAVE_CURLINFO_SIZE_UPLOAD=1 -DHAVE_CURLINFO_SIZE_DOWNLOAD=1 - DHAVE_CURLINFO_SPEED_DOWNLOAD=1 -DHAVE_CURLINFO_SPEED_UPLOAD=1 - DHAVE_CURLINFO_HEADER_SIZE=1 -DHAVE_CURLINFO_REQUEST_SIZE=1 - DHAVE_CURLINFO_SSL_VERIFYRESULT=1 -DHAVE_CURLINFO_FILETIME=1 - DHAVE_CURLINFO_CONTENT_LENGTH_DOWNLOAD=1 - DHAVE_CURLINFO_CONTENT_LENGTH_UPLOAD=1 - DHAVE_CURLINFO_STARTTRANSFER_TIME=1 -DHAVE_CURLINFO_CONTENT_TYPE=1 - DHAVE_CURLINFO_REDIRECT_TIME=1 -DHAVE_CURLINFO_REDIRECT_COUNT=1 - DHAVE_CURLINFO_PRIVATE=1 -DHAVE_CURLINFO_HTTP_CONNECTCODE=1 - DHAVE_CURLINFO_HTTPAUTH_AVAIL=1 -DHAVE_CURLINFO_PROXYAUTH_AVAIL=1 - DHAVE_CURLINFO_OS_ERRNO=1 -DHAVE_CURLINFO_NUM_CONNECTS=1 - DHAVE_CURLINFO_SSL_ENGINES=1 -I/usr/local/include -fpic -g -O2 -c curl_base64.c -o curl_base64.o gcc -std=gnu99 -I/home/btrask/traskdata/lib_linux/R/include -I/usr/ local/include -DHAVE_LIBIDN_FIELD=1 -DHAVE_CURLOPT_URL=1 - DHAVE_CURLINFO_EFFECTIVE_URL=1 -DHAVE_CURLINFO_RESPONSE_CODE=1 - DHAVE_CURLINFO_TOTAL_TIME=1 -DHAVE_CURLINFO_NAMELOOKUP_TIME=1 - DHAVE_CURLINFO_CONNECT_TIME=1 -DHAVE_CURLINFO_PRETRANSFER_TIME=1 - DHAVE_CURLINFO_SIZE_UPLOAD=1 -DHAVE_CURLINFO_SIZE_DOWNLOAD=1 - DHAVE_CURLINFO_SPEED_DOWNLOAD=1 -DHAVE_CURLINFO_SPEED_UPLOAD=1 - DHAVE_CURLINFO_HEADER_SIZE=1 -DHAVE_CURLINFO_REQUEST_SIZE=1 - DHAVE_CURLINFO_SSL_VERIFYRESULT=1 -DHAVE_CURLINFO_FILETIME=1 - DHAVE_CURLINFO_CONTENT_LENGTH_DOWNLOAD=1 - DHAVE_CURLINFO_CONTENT_LENGTH_UPLOAD=1 - DHAVE_CURLINFO_STARTTRANSFER_TIME=1 -DHAVE_CURLINFO_CONTENT_TYPE=1 - DHAVE_CURLINFO_REDIRECT_TIME=1 -DHAVE_CURLINFO_REDIRECT_COUNT=1 - DHAVE_CURLINFO_PRIVATE=1 -DHAVE_CURLINFO_HTTP_CONNECTCODE=1 - DHAVE_CURLINFO_HTTPAUTH_AVAIL=1 -DHAVE_CURLINFO_PROXYAUTH_AVAIL=1 - DHAVE_CURLINFO_OS_ERRNO=1 -DHAVE_CURLINFO_NUM_CONNECTS=1 - DHAVE_CURLINFO_SSL_ENGINES=1 -I/usr/local/include -fpic -g -O2 -c enums.c -o enums.o In file included from CurlOptEnums.h:10, from enums.c:79: CURLOptTable.h:131: error: `CURLOPT_FTP_ACCOUNT' undeclared here (not in a function) CURLOptTable.h:131: error: initializer element is not constant CURLOptTable.h:131: error: (near initialization for `CurlOptionNames[110].val') CURLOptTable.h:131: error: initializer element is not constant CURLOptTable.h:131: error: (near initialization for `CurlOptionNames[110]') CURLOptTable.h:325: error: initializer element is not constant CURLOptTable.h:325: error: (near initialization for `CurlOptionNames[111]') CURLOptTable.h:341: error: initializer element is not constant CURLOptTable.h:341: error: (near initialization for `CurlOptionNames[112]') CURLOptTable.h:357: error: initializer element is not constant CURLOptTable.h:357: error: (near initialization for `CurlOptionNames[113]') gmake: *** [enums.o] Error 1 ERROR: compilation failed for package ?RCurl? * removing ?/home/btrask/traskdata/lib_linux/R/library/RCurl? * restoring previous ?/home/btrask/traskdata/lib_linux/R/library/RCurl? (I get similar errors if I omit the --configure-args from the R CMD INSTALL command)