[Bioc-devel] Problem building package with devtools+Rcpp

sergi.picart at upc.edu sergi.picart at upc.edu
Fri Oct 6 14:09:15 CEST 2017


  Thank you Morgan, this is indeed working

Quoting Martin Morgan <martin.morgan at roswellpark.org>:

> On 09/27/2017 08:11 AM, sergi.picart at upc.edu wrote:
>> Dear developers,
>> Sorry if the e-mail is duplicated, I had an issue sending it.
>>       I have been struggling with problems building my package DIFFUSTATS a
>>   The problem is related to the usage of Rcpp.
>>   In my current machine, I am unable to build the DIFFUSTATS in the
>> devel bioconductor:
>>         ##############
>>
>>       > build()
>
> Not really any solution or insight here, but I suggest removing  
> devtool from the equation, and making sure that you are working from  
> a clean source tree without artifacts (.o, .so, .dylib, etc.) from  
> previous builds. On my linux I did
>
> R -e "BiocInstaller::biocVersion()"  # 3.6
> R -e "BiocInstaller::isDevel()"      # TRUE
> R -e "BiocInstaller::isValid()"      # yup
> cd /tmp
> git clone https://git.bioconductor.org/packages/diffuStats
> ## check in diffuStats/src directory for build artifacts -- none
> R CMD buld diffuStats
> R CMD check diffuStats_0.99.12.tar.gz
>
> Martin
>
>> '/usr/lib/R/bin/R' --no-site-file --no-environ --no-save
>> --no-restore --quiet  \
>>  CMD build '/home/sergi/eraseme3/diffuStats' --no-resave-data --no-manual
>>
>> * checking for file ‘/home/sergi/eraseme3/diffuStats/DESCRIPTION’ ... OK
>> * preparing ‘diffuStats’:
>> * checking DESCRIPTION meta-information ... OK
>> * cleaning src
>> * installing the package to build vignettes
>>      -----------------------------------
>> * installing *source* package ‘diffuStats’ ...
>> ** libs
>> g++ -std=gnu++11 -I/usr/share/R/include -DNDEBUG
>>  -I"/home/sergi/R/x86_64-pc-linux-gnu-library/3.4/Rcpp/include"
>> -I"/home/sergi/R/x86_64-pc-linux-gnu-library/3.4/RcppArmadillo/inc
>> lude"
>> -I"/home/sergi/R/x86_64-pc-linux-gnu-library/3.4/RcppParallel/include"
>>    -fpic  -g -O2 -fstack-protector-strong -Wformat
>> -Werror=format-security -Wdate-time -D_FORTIFY_SOUR
>> CE=2 -g -c RcppExports.cpp -o RcppExports.o
>> In file included from
>> /home/sergi/R/x86_64-pc-linux-gnu-library/3.4/RcppArmadillo/include/armadillo:52:0,
>>                 from
>> /home/sergi/R/x86_64-pc-linux-gnu-library/3.4/RcppArmadillo/include/RcppArmadilloForward.h:46,
>>                 from
>> /home/sergi/R/x86_64-pc-linux-gnu-library/3.4/RcppArmadillo/include/RcppArmadillo.h:31,
>>                 from RcppExports.cpp:4:
>> /home/sergi/R/x86_64-pc-linux-gnu-library/3.4/RcppArmadillo/include/armadillo_bits/compiler_setup.hpp:474:96: note: #pragma message: WARNING: use of OpenMP disabled;  
>> this
>> compiler
>> doesn't support OpenMP 3.0+
>>   #pragma message ("WARNING: use of OpenMP disabled; this compiler
>> doesn't support OpenMP 3.0+")
>>                                                                                                ^
>> g++ -std=gnu++11 -I/usr/share/R/include -DNDEBUG
>>  -I"/home/sergi/R/x86_64-pc-linux-gnu-library/3.4/Rcpp/include"
>> -I"/home/sergi/R/x86_64-pc-linux-gnu-library/3.4/RcppArmadillo/inc
>> lude"
>> -I"/home/sergi/R/x86_64-pc-linux-gnu-library/3.4/RcppParallel/include"
>>    -fpic  -g -O2 -fstack-protector-strong -Wformat
>> -Werror=format-security -Wdate-time -D_FORTIFY_SOUR
>> CE=2 -g -c diffuse_parallel.cpp -o diffuse_parallel.o
>> In file included from
>> /home/sergi/R/x86_64-pc-linux-gnu-library/3.4/RcppArmadillo/include/armadillo:52:0,
>>                 from
>> /home/sergi/R/x86_64-pc-linux-gnu-library/3.4/RcppArmadillo/include/RcppArmadilloForward.h:46,
>>                 from
>> /home/sergi/R/x86_64-pc-linux-gnu-library/3.4/RcppArmadillo/include/RcppArmadillo.h:31,
>>                 from diffuse_parallel.cpp:1:
>> /home/sergi/R/x86_64-pc-linux-gnu-library/3.4/RcppArmadillo/include/armadillo_bits/compiler_setup.hpp:474:96: note: #pragma message: WARNING: use of OpenMP disabled;  
>> this
>> compiler
>> doesn't support OpenMP 3.0+
>>   #pragma message ("WARNING: use of OpenMP disabled; this compiler
>> doesn't support OpenMP 3.0+")
>>                                                                                                ^
>> gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG
>>  -I"/home/sergi/R/x86_64-pc-linux-gnu-library/3.4/Rcpp/include"
>> -I"/home/sergi/R/x86_64-pc-linux-gnu-library/3.4/RcppArmadillo/inclu
>> de"
>> -I"/home/sergi/R/x86_64-pc-linux-gnu-library/3.4/RcppParallel/include"
>>    -fpic  -g -O2 -fstack-protector-strong -Wformat
>> -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE
>> =2 -g  -c init.c -o init.o
>> g++ -std=gnu++11 -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions
>> -Wl,-z,relro -o diffuStats.so RcppExports.o diffuse_parallel.o init.o
>> -L/usr/lib/R/lib -lR
>> installing to /tmp/RtmpRLy9NN/Rinst4d19c0dca4b/diffuStats/libs
>> ** R
>> ** data
>> *** moving datasets to lazyload DB
>> ** preparing package for lazy loading
>> ** help
>> *** installing help indices
>> ** building package indices
>> ** installing vignettes
>> ** testing if installed package can be loaded
>> Error: package or namespace load failed for ‘diffuStats’ in
>> dyn.load(file, DLLpath = DLLpath, ...):
>> unable to load shared object
>> '/tmp/RtmpRLy9NN/Rinst4d19c0dca4b/diffuStats/libs/diffuStats.so':
>>  /tmp/RtmpRLy9NN/Rinst4d19c0dca4b/diffuStats/libs/diffuStats.so:
>> undefined symbol: diffuStats_convertSparse
>> Error: loading failed
>> Execution halted
>> ERROR: loading failed
>> * removing ‘/tmp/RtmpRLy9NN/Rinst4d19c0dca4b/diffuStats’
>>      -----------------------------------
>> ERROR: package installation failed
>> Error: Command failed (1)
>>     However, this is successful when build(vignettes=FALSE)
>>       ##############
>>       > sessionInfo()
>> R version 3.4.1 (2017-06-30)
>> Platform: x86_64-pc-linux-gnu (64-bit)
>> Running under: Ubuntu 16.04.3 LTS
>>
>> Matrix products: default
>> BLAS: /usr/lib/atlas-base/atlas/libblas.so.3.0
>> LAPACK: /usr/lib/atlas-base/atlas/liblapack.so.3.0
>>
>> locale:
>> [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>> [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
>> [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
>> [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
>> [9] LC_ADDRESS=C               LC_TELEPHONE=C
>> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>>
>> attached base packages:
>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>
>> loaded via a namespace (and not attached):
>> [1] compiler_3.4.1            tools_3.4.1
>> [3] RcppArmadillo_0.7.960.1.2 withr_2.0.0
>> [5] Rcpp_0.12.12              memoise_1.1.0
>> [7] digest_0.6.12             RcppParallel_4.3.20
>> [9] devtools_1.13.3
>>
>> ##############
>>         The local installation of Rcpp, RcppParallel, RcppArmadillo or
>> devtools seems to have something to do with it, because a machine with
>> the following configuration (which I cannot use for developing in a
>> regular basis) works just fine:
>>         > sessionInfo()
>> R version 3.4.1 (2017-06-30)
>> Platform: x86_64-pc-linux-gnu (64-bit)
>> Running under: Ubuntu 14.04.5 LTS
>>
>> Matrix products: default
>> BLAS: /usr/lib/openblas-base/libblas.so.3
>> LAPACK: /usr/lib/lapack/liblapack.so.3.0
>>
>> locale:
>> [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>> [3] LC_TIME=es_ES.UTF-8        LC_COLLATE=en_US.UTF-8
>> [5] LC_MONETARY=es_ES.UTF-8    LC_MESSAGES=en_US.UTF-8
>> [7] LC_PAPER=es_ES.UTF-8       LC_NAME=C
>> [9] LC_ADDRESS=C               LC_TELEPHONE=C
>> [11] LC_MEASUREMENT=es_ES.UTF-8 LC_IDENTIFICATION=C
>>
>> attached base packages:
>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>
>> other attached packages:
>> [1] devtools_1.13.2
>>
>> loaded via a namespace (and not attached):
>> [1] compiler_3.4.1            tools_3.4.1
>> [3] RcppArmadillo_0.7.900.2.0 withr_1.0.2
>> [5] Rcpp_0.12.11              memoise_1.1.0
>> [7] digest_0.6.12             RcppParallel_4.3.20
>>            ##############
>>         If I try other actions, such as devtools::document or load_all:
>>         Error in dyn.load(dllfile) :
>>  unable to load shared object
>> '/home/sergi/all/devel/rpackages/diffuStats/src/diffuStats.so':
>>  /home/sergi/all/devel/rpackages/diffuStats/src/diffuStats.so:
>> undefined symbol: diffuStats_convertSparse
>>                  Where convertSparse is the first function in the  
>> exported c++ functions
>>           ##############
>>
>>        I have tried addressing the OpenMP 3.0 warning without success.
>>   However, I think the problem lies in the compilation.
>>   I have updated the R version, also re-run
>>       Rcpp::compileAttributes()
>>       And the problem persists whatever I do. I might be missing something
>> obvious...
>>       Any help will be appreciated,
>>
>> Sergio
>>
>>         [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> Bioc-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
> This email message may contain legally privileged and/or  
> confidential information.  If you are not the intended recipient(s),  
> or the employee or agent responsible for the delivery of this  
> message to the intended recipient(s), you are hereby notified that  
> any disclosure, copying, distribution, or use of this email message  
> is prohibited.  If you have received this message in error, please  
> notify the sender immediately by e-mail and delete this email  
> message from your computer. Thank you.

	[[alternative HTML version deleted]]



More information about the Bioc-devel mailing list