[BioC] RCurl loading problem with 64 bit linux distribution

Kasper Daniel Hansen khansen at stat.Berkeley.EDU
Wed May 7 19:08:38 CEST 2008


On May 7, 2008, at 7:38 AM, Duncan Temple Lang wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
>
> I just put a new version of the RCurl package that is intended to
> by-pass the issues with differences in libcurls and takes the
> base64 encoding source into the package itself.  As I cannot
> reproduce the problem readily on amy of my current machine  
> configurations
> and the package works for me on RedHat and OSX, I'd appreciate
> hearing if the new version solves the problems.
> It is available as
>
> ~  install.packages("RCurl", repos = "http://www.omegahat.org/R")

Hi Duncan

I can reproduce the problem. I have just compiled R-2.7.0-patch as  
well as R-2.8.0 from svn (both obtained yesterday). RCurl version  
0.8-3 works fine on 2.7 but not on 2.8.  The new RCurl version 0.9-2  
works fine with both version.

Kasper

> ~ D.
>
> Martin Morgan wrote:
> | Hi Joern et al.,
> |
> | This thread seems to have migrated to the R-devel mailing list,  
> where
> | the currently definitive answer seems to be, from Prof. Ripley,
> |
> |> If you can, I'd wait until that is resolved.  I have installed
> |> RCurl_0.8-3 for production' use. (It is still up at
> |> http://www.omegahat.org/RCurl/RCurl_0.8-3.tar.gz,
> |
> | Martin
> |
> | Joern Toedling <toedling at ebi.ac.uk> writes:
> |
> |> Hello,
> |> unfortunately I cannot provide a solution, but maybe I can give  
> some more details that may help to
> |> pinpoint the source of the problem.
> |> I get exactly the same error message as Mark on R-2.8.0, when  
> trying to install R-Curl_0.9-1 and
> then attach it:
> |> Indeed, upon using nm to look at RCurl.so, the output
> |> ...
> |> 000000000209420 D CurlOptionNames
> |>                  U Curl_base64_decode
> |>                  U Curl_base64_encode
> |> ...
> |> indicates that Curl_base64_encode is not defined.
> |> Removing the execute bit before installation, as Martin suggested,
> |> unfortunately did not solve the problem. Strangely enough, with
> |> R-Curl_0.8-3, it was defined as 0000000000003978 T  
> Curl_base64_encode
> |> but then when trying to attach RCurl I got
> |>
> |>> library("RCurl")
> |> Error in dyn.load(file, DLLpath = DLLpath, ...) :
> |>
> |>   unable to load shared library '/home/toedling/rpackages/RCurl/ 
> libs/RCurl.so':
> |>
> |>   /home/toedling/rpackages/RCurl/libs/RCurl.so: undefined symbol:  
> allocString
> |>
> |> Looking at the RCurl web page of changes
> |>
> |> http://www.omegahat.org/RCurl/Changes.html
> |>
> |> it seemed that they were aware of the allocString issue and fixed  
> it
> |> in R-0.9-0, but maybe then introduced the Curl_base64_encode issue.
> |>
> |> Any more suggestions on how to fix this would be very welcome.
> |> Below are my sessionInfo and the output upon installing  
> RCurl-0.9-1.
> |>
> |> Cheers,
> |> Joern
> |>
> |>> library("RCurl")
> |> Error in dyn.load(file, DLLpath = DLLpath, ...) :
> |>   unable to load shared library '/home/toedling/rpackages/RCurl/ 
> libs/RCurl.so':
> |>   /home/toedling/rpackages/RCurl/libs/RCurl.so: undefined symbol:  
> Curl_base64_encode
> |> Error: package/namespace load failed for 'RCurl'
> |>> sessionInfo()
> |> R version 2.8.0 Under development (unstable) (2008-04-21 r45421)
> |> x86_64-unknown-linux-gnu
> |>
> |> locale:
> |>
> LC_CTYPE 
> = 
> en_US 
> .ISO 
> -8859 
> -1 
> ;LC_NUMERIC 
> = 
> C 
> ;LC_TIME 
> = 
> en_US 
> .ISO 
> -8859 
> -1 
> ;LC_COLLATE 
> = 
> en_US 
> .ISO 
> -8859 
> -1 
> ;LC_MONETARY 
> = 
> C 
> ;LC_MESSAGES 
> = 
> en_US 
> .ISO 
> -8859 
> -1 
> ;LC_PAPER 
> = 
> en_US 
> .ISO 
> -8859 
> -1 
> ;LC_NAME 
> = 
> C 
> ;LC_ADDRESS 
> =C;LC_TELEPHONE=C;LC_MEASUREMENT=en_US.ISO-8859-1;LC_IDENTIFICATION=C
> |>
> |> attached base packages:
> |> [1] stats     graphics  grDevices datasets  utils     methods    
> base
> |>
> |> other attached packages:
> |> [1] fortunes_1.3-3
> |>
> |> ### R CMD INSTALL RCurl
> |>
> |> * Installing *source* package 'RCurl' ...
> |> checking for curl-config... /usr/bin/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
> |> Using Curl_base64_encode with SessionHandle parameter.
> |> configure: creating ./config.status
> |> config.status: creating src/Makevars
> |> ** libs
> |> gcc -std=gnu99 -I/home/toedling/local/R/R-devel/include  - 
> DHAVE_LIBIDN_FIELD=1
> - -DBASE64_NEEDS_SESSION_DATA=1 -I/home/toedling/local/include/ 
> graphviz -I/local/include    -fpic
> - -I/home/toedling/local/include/graphviz -I/local/include -c  
> base64.c -o base64.o
> |> base64.c: In function 'R_base64_decode':
> |> base64.c:27: warning: implicit declaration of function  
> 'Curl_base64_decode'
> |> base64.c: In function 'R_base64_encode':
> |> base64.c:64: warning: implicit declaration of function  
> 'Curl_base64_encode'
> |> gcc -std=gnu99 -I/home/toedling/local/R/R-devel/include  - 
> DHAVE_LIBIDN_FIELD=1
> - -DBASE64_NEEDS_SESSION_DATA=1 -I/home/toedling/local/include/ 
> graphviz -I/local/include    -fpic
> - -I/home/toedling/local/include/graphviz -I/local/include -c  
> curl_base64.c -o curl_base64.o
> |> gcc -std=gnu99 -I/home/toedling/local/R/R-devel/include  - 
> DHAVE_LIBIDN_FIELD=1
> - -DBASE64_NEEDS_SESSION_DATA=1 -I/home/toedling/local/include/ 
> graphviz -I/local/include    -fpic
> - -I/home/toedling/local/include/graphviz -I/local/include -c curl.c  
> -o curl.o
> |> curl.c: In function 'getRStringsFromNullArray':
> |> curl.c:1104: warning: assignment discards qualifiers from pointer  
> target type
> |> curl.c:1107: warning: assignment discards qualifiers from pointer  
> target type
> |> gcc -std=gnu99 -I/home/toedling/local/R/R-devel/include  - 
> DHAVE_LIBIDN_FIELD=1
> - -DBASE64_NEEDS_SESSION_DATA=1 -I/home/toedling/local/include/ 
> graphviz -I/local/include    -fpic
> - -I/home/toedling/local/include/graphviz -I/local/include -c  
> curlInit.c -o curlInit.o
> |> gcc -std=gnu99 -I/home/toedling/local/R/R-devel/include  - 
> DHAVE_LIBIDN_FIELD=1
> - -DBASE64_NEEDS_SESSION_DATA=1 -I/home/toedling/local/include/ 
> graphviz -I/local/include    -fpic
> - -I/home/toedling/local/include/graphviz -I/local/include -c  
> enums.c -o enums.o
> |> gcc -std=gnu99 -I/home/toedling/local/R/R-devel/include  - 
> DHAVE_LIBIDN_FIELD=1
> - -DBASE64_NEEDS_SESSION_DATA=1 -I/home/toedling/local/include/ 
> graphviz -I/local/include    -fpic
> - -I/home/toedling/local/include/graphviz -I/local/include -c  
> memoryManagement.c -o memoryManagement.o
> |> memoryManagement.c: In function  
> 'RCurl_releaseManagerMemoryTickets':
> |> memoryManagement.c:143: warning: passing argument 1 of 'free'  
> discards qualifiers from pointer
> target type
> |> gcc -std=gnu99 -shared -L/home/toedling/local/lib/graphviz -L/ 
> home/toedling/local/lib -o RCurl.so
> base64.o curl_base64.o curl.o curlInit.o enums.o memoryManagement.o - 
> L/usr/lib64 -lcurl -lidn -lssl
> - -lcrypto -ldl -lz
> |> ** R
> |> ** inst
> |> ** preparing package for lazy loading
> |> ** help
> |>  >>> Building/Updating help pages for package 'RCurl'
> |>      Formats: text html latex example
> |> Note: removing empty section \examples
> |> Note: removing empty section \references
> |> Note: removing empty section \seealso
> |> Note: removing empty section \examples
> |> Note: unmatched right brace in 'MultiCURLHandle-class' on or  
> after line 28
> |> Note: removing empty section \examples
> |> Note: removing empty section \examples
> |> Note: removing empty section \examples
> |> Note: removing empty section \examples
> |> ** building package indices ...
> |> * DONE (RCurl)
> |>
> |>
> |>
> |> Martin Morgan wrote:
> |>> Hi Mark...
> |>>
> |>> A couple of shots in the dark, as no one else seems to be  
> leaping in...
> |>>
> |>> The symbol Curl_base64_encode should be defined in
> |>> /home/mkimpel/R_HOME/site-library-2.7.0/RCurl/libs/RCurl.so.  What
> |>> does
> |>>
> |>> nm /home/mkimpel/R_HOME/site-library-2.7.0/RCurl/libs/RCurl.so
> |>>
> |>> say? Mine says
> |>>
> |>> 0000000000003980 T Curl_base64_encode
> |>>
> |>> with the 'T' indicating that the symbol is defined (make sure nm  
> spits
> |>> out a bunch of lines before concluding that Curl_base64_encode  
> is not
> |>> defined).
> |>>
> |>> I retrieved the RCurl source, and one thing I notice is that
> |>> RCurl/src/curl_base64.c has the 'execute' bit set, and perhaps a  
> sane
> |>> system would not compile it. Try
> |>>
> |>> % chmod -x RCurl/src/curl_base64.c
> |>>
> |>> and then
> |>>
> |>> % R CMD INSTALL RCurl
> |>>
> |>> Martin
> |>>
> |>> "Mark Kimpel" <mwkimpel at gmail.com> writes:
> |>>
> |>>
> |>>> I'm having same problem on Ubuntu 64-bit Hardy Heron. A bunch  
> of security
> |>>> patches from Ubuntu came out and I installed them today. After  
> that was when
> |>>> I first noted the problem (affycoretools, which I use all the  
> time, won't
> |>>> load). Below is my initial output, what follows is my  
> reinstallation output
> |>>> followed by the same error messages as obtained intially. I  
> wonder if a
> |>>> security patch has changed Curl? Or did RCurl just change? I  
> have been using
> |>>> R-2.7.0 since half-way through its develoment cycle and this is  
> a new
> |>>> problem for me.
> |>>>
> |>>> Mark
> |>>>
> |>>>
> |>>>> require(RCurl)
> |>>>>
> |>>> Loading required package: RCurl
> |>>> Error in dyn.load(file, DLLpath = DLLpath, ...) :
> |>>>   unable to load shared library
> |>>> '/home/mkimpel/R_HOME/site-library-2.7.0/RCurl/libs/RCurl.so':
> |>>>   /home/mkimpel/R_HOME/site-library-2.7.0/RCurl/libs/RCurl.so:  
> undefined
> |>>> symbol: Curl_base64_encode
> |>>>
> |>>>> install.packages("RCurl")
> |>>>>
> |> _______________________________________________
> |> Bioconductor mailing list
> |> Bioconductor at stat.math.ethz.ch
> |> https://stat.ethz.ch/mailman/listinfo/bioconductor
> |> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor
> |
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.7 (Darwin)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iD8DBQFIIb7+9p/Jzwa2QP4RAuIpAJ0QpWZEb/cxQ+VOkx+JkiJLKKDThACfdKdq
> byokNcbYyZ4ebhN3fanJA1A=
> =LBuS
> -----END PGP SIGNATURE-----
>
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor



More information about the Bioconductor mailing list