[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