[R-pkg-devel] Errors in the pre-test after submitting the R package

Uwe Ligges ligges at statistik.tu-dortmund.de
Thu Nov 30 22:51:35 CET 2017



On 30.11.2017 22:46, Tan, Senren wrote:
> Dear Uwe,
> 
> 
> |One more question: Which version of fftw do you need for these symbols?
> 
> 
> The system requirement for fftw is fftw-3.3.4 or above. I have tried to 
> build that on fftw-3.3.4, as well as on fftw-3.3.6.
> 

The fftw on winbuilder is rather outdated.
I see what I can do to update it during the next days.

Best,
Uwe Ligges





> 
> Thank you very much.
> 
> 
> Best regards,
> 
> Senren
> 
> 
> 
> 
> ------------------------------------------------------------------------
> *From:* Uwe Ligges <ligges at statistik.tu-dortmund.de>
> *Sent:* 01 December 2017 05:33:44
> *To:* Dirk Eddelbuettel; Tan, Senren
> *Cc:* r-package-devel at r-project.org
> *Subject:* Re: [R-pkg-devel] Errors in the pre-test after submitting the 
> R package
> 
> 
> On 30.11.2017 19:57, Dirk Eddelbuettel wrote:
>> 
>> Hi Senren,
>> 
>> On 30 November 2017 at 16:49, Tan, Senren wrote:
>> | Thank you very much for your reply.
>> 
>> My pleasure. You did well here.
>>   
>> | I have been trying to look at the R package fftw developed by Olaf and Uwe over the last few days. And I have tried to make use of the configure.ac. file in their source package to generate the configure script. I tried R CMD Check on my Mac, as well as  on some machines running Linux. It seems that I could pass all the R 
> CMD Checks on these Unix / Linux machines.
>> 
>> Great!  [ Configure/autoconf are hated by many but it is really just a shell
>> scripting variant.  I don't mind it as much.  And great when it works. ]
>>   
>> | Also, I have come across the following website https://cran.r-project.org/bin/windows/contrib/ThirdPartySoftware.html, 
> on which it seems to suggest that the C library fftw3 (with the make 
> variable LIB_FFTW) is installed on the CRAN build machine for Windows.
>> 
>> Yes!
>> |
>> | So, I tried the following Makevars.win.
>> |
>> | PKG_CPPFLAGS = -I$(LIB_FFTW)/include  -I$(LIB_FFTW)
>> | CXX11 = g++
>> | PKG_CXXFLAGS = -std=c++11
>> | PKG_LIBS = -L$(LIB_FFTW)/lib${R_ARCH} -lfftw3
>> 
>> That looks correct to me (assuming LIB_FFTW is the chosen name). I do
>> something similar with my packages linking to the GNU GSL.
>>   
>> | However, when I tried to re-submit the package to CRAN, I still got the same error message on the pre-test as follows, suggesting that the machine had not detected the fftw3 library.
>> |
>> |  **********************************************
>> |    WARNING: this package has a configure script
>> |          It probably needs manual configuration
>> |    **********************************************
>> |
>> | ** libs
>> |
>> | *** arch - i386
>> | d:/Compiler/gcc-4.9.3/mingw_32/bin/g++  -std=gnu++11 -I"D:/RCompile/recent/R/include" -DNDEBUG -Id:/Rcompile/CRANpkg/extralibs215/local215/include -Id:/Rcompile/CRANpkg/extralibs215/local215 -I"d:/RCompile/CRANpkg/lib/3.5/Rcpp/include"   -I"d:/Compiler/gcc-4.9.3/local330/include" -std=c++11   -O2 -Wall  -mtune=core2 -c RcppExports.cpp -o RcppExports.o
>> | d:/Compiler/gcc-4.9.3/mingw_32/bin/g++  -std=gnu++11 -I"D:/RCompile/recent/R/include" -DNDEBUG -Id:/Rcompile/CRANpkg/extralibs215/local215/include -Id:/Rcompile/CRANpkg/extralibs215/local215 -I"d:/RCompile/CRANpkg/lib/3.5/Rcpp/include"   -I"d:/Compiler/gcc-4.9.3/local330/include" -std=c++11   -O2 -Wall  -mtune=core2 -c cont_ks_dist.cpp -o cont_ks_dist.o
>> | d:/Compiler/gcc-4.9.3/mingw_32/bin/g++  -std=gnu++11 -I"D:/RCompile/recent/R/include" -DNDEBUG -Id:/Rcompile/CRANpkg/extralibs215/local215/include -Id:/Rcompile/CRANpkg/extralibs215/local215 -I"d:/RCompile/CRANpkg/lib/3.5/Rcpp/include"   -I"d:/Compiler/gcc-4.9.3/local330/include" -std=c++11   -O2 -Wall  -mtune=core2 -c crossprob_new.cc -o crossprob_new.o
>> | d:/Compiler/gcc-4.9.3/mingw_32/bin/g++  -std=gnu++11 -I"D:/RCompile/recent/R/include" -DNDEBUG -Id:/Rcompile/CRANpkg/extralibs215/local215/include -Id:/Rcompile/CRANpkg/extralibs215/local215 -I"d:/RCompile/CRANpkg/lib/3.5/Rcpp/include"   -I"d:/Compiler/gcc-4.9.3/local330/include" -std=c++11   -O2 -Wall  -mtune=core2 -c fftw_wrappers.cc -o fftw_wrappers.o
>> | d:/Compiler/gcc-4.9.3/mingw_32/bin/g++  -std=gnu++11 -I"D:/RCompile/recent/R/include" -DNDEBUG -Id:/Rcompile/CRANpkg/extralibs215/local215/include -Id:/Rcompile/CRANpkg/extralibs215/local215 -I"d:/RCompile/CRANpkg/lib/3.5/Rcpp/include"   -I"d:/Compiler/gcc-4.9.3/local330/include" -std=c++11   -O2 -Wall  -mtune=core2 -c fftwconvolver.cc -o fftwconvolver.o
>> | d:/Compiler/gcc-4.9.3/mingw_32/bin/g++  -std=gnu++11 -I"D:/RCompile/recent/R/include" -DNDEBUG -Id:/Rcompile/CRANpkg/extralibs215/local215/include -Id:/Rcompile/CRANpkg/extralibs215/local215 -I"d:/RCompile/CRANpkg/lib/3.5/Rcpp/include"   -I"d:/Compiler/gcc-4.9.3/local330/include" -std=c++11   -O2 -Wall  -mtune=core2 -c 
> one_sided_noncrossing_probability.cc -o one_sided_noncrossing_probability.o
>> | d:/Compiler/gcc-4.9.3/mingw_32/bin/g++  -std=gnu++11 -I"D:/RCompile/recent/R/include" -DNDEBUG -Id:/Rcompile/CRANpkg/extralibs215/local215/include -Id:/Rcompile/CRANpkg/extralibs215/local215 -I"d:/RCompile/CRANpkg/lib/3.5/Rcpp/include"   -I"d:/Compiler/gcc-4.9.3/local330/include" -std=c++11   -O2 -Wall  -mtune=core2 -c 
> one_sided_noncrossing_probability_n2.cc -o 
> one_sided_noncrossing_probability_n2.o
>> | d:/Compiler/gcc-4.9.3/mingw_32/bin/g++  -std=gnu++11 -I"D:/RCompile/recent/R/include" -DNDEBUG -Id:/Rcompile/CRANpkg/extralibs215/local215/include -Id:/Rcompile/CRANpkg/extralibs215/local215 -I"d:/RCompile/CRANpkg/lib/3.5/Rcpp/include"   -I"d:/Compiler/gcc-4.9.3/local330/include" -std=c++11   -O2 -Wall  -mtune=core2 -c 
> one_sided_noncrossing_probability_n2logn.cc -o 
> one_sided_noncrossing_probability_n2logn.o
>> | d:/Compiler/gcc-4.9.3/mingw_32/bin/g++  -std=gnu++11 -I"D:/RCompile/recent/R/include" -DNDEBUG -Id:/Rcompile/CRANpkg/extralibs215/local215/include -Id:/Rcompile/CRANpkg/extralibs215/local215 -I"d:/RCompile/CRANpkg/lib/3.5/Rcpp/include"   -I"d:/Compiler/gcc-4.9.3/local330/include" -std=c++11   -O2 -Wall  -mtune=core2 -c poisson_pmf.cc -o poisson_pmf.o
>> | d:/Compiler/gcc-4.9.3/mingw_32/bin/g++  -std=gnu++11 -I"D:/RCompile/recent/R/include" -DNDEBUG -Id:/Rcompile/CRANpkg/extralibs215/local215/include -Id:/Rcompile/CRANpkg/extralibs215/local215 -I"d:/RCompile/CRANpkg/lib/3.5/Rcpp/include"   -I"d:/Compiler/gcc-4.9.3/local330/include" -std=c++11   -O2 -Wall  -mtune=core2 -c read_boundaries_file.cc -o 
> read_boundaries_file.o
>> | d:/Compiler/gcc-4.9.3/mingw_32/bin/g++  -std=gnu++11 -I"D:/RCompile/recent/R/include" -DNDEBUG -Id:/Rcompile/CRANpkg/extralibs215/local215/include -Id:/Rcompile/CRANpkg/extralibs215/local215 -I"d:/RCompile/CRANpkg/lib/3.5/Rcpp/include"   -I"d:/Compiler/gcc-4.9.3/local330/include" -std=c++11   -O2 -Wall  -mtune=core2 -c string_utils.cc -o string_utils.o
>> | d:/Compiler/gcc-4.9.3/mingw_32/bin/g++  -std=gnu++11 -I"D:/RCompile/recent/R/include" -DNDEBUG -Id:/Rcompile/CRANpkg/extralibs215/local215/include -Id:/Rcompile/CRANpkg/extralibs215/local215 -I"d:/RCompile/CRANpkg/lib/3.5/Rcpp/include"   -I"d:/Compiler/gcc-4.9.3/local330/include" -std=c++11   -O2 -Wall  -mtune=core2 -c 
> two_sided_noncrossing_probability.cc -o two_sided_noncrossing_probability.o
>> | d:/Compiler/gcc-4.9.3/mingw_32/bin/g++ -shared -s -static-libgcc -o KSgeneral.dll tmp.def RcppExports.o cont_ks_dist.o crossprob_new.o fftw_wrappers.o fftwconvolver.o one_sided_noncrossing_probability.o one_sided_noncrossing_probability_n2.o one_sided_noncrossing_probability_n2logn.o  poisson_pmf.o read_boundaries_file.o string_utils.o 
> two_sided_noncrossing_probability.o 
> -Ld:/Rcompile/CRANpkg/extralibs215/local215/lib/i386 -lfftw3 
> -Ld:/Compiler/gcc-4.9.3/local330/lib/i386 
> -Ld:/Compiler/gcc-4.9.3/local330/lib -LD:/RCompile/recent/R/bin/i386 -lR
>> 
>> That looks like it expanded right.
>> 
>> What I would do now is take one of the working packages, create a local
>> tarball _and put my name and email into Maintainer_ because that way the
>> win-builder test log will come back to me.  And then submit, and compare.
>> 
>> | fftw_wrappers.o:fftw_wrappers.cc:(.text+0x125): undefined reference to `_imp__fftw_plan_dft_r2c_1d'
>> | fftw_wrappers.o:fftw_wrappers.cc:(.text+0x14f): undefined reference to `_imp__fftw_destroy_plan'
>> | fftw_wrappers.o:fftw_wrappers.cc:(.text+0x29b): undefined reference to `_imp__fftw_execute'
>> | fftw_wrappers.o:fftw_wrappers.cc:(.text+0x315): undefined reference to `_imp__fftw_plan_dft_c2r_1d'
>> | fftw_wrappers.o:fftw_wrappers.cc:(.text+0x33f): undefined reference to `_imp__fftw_destroy_plan'
>> | fftw_wrappers.o:fftw_wrappers.cc:(.text+0x3bb): undefined reference to `_imp__fftw_execute'
>> | collect2.exe: error: ld returned 1 exit status
>> | no DLL was created
>> 
>> And I presume this works locally for you, ie these symbols are in fact in the
>> DLL you try to use?
> 
> One more question: Which version of fftw do you need for these symbols?
> 
> Best,
> Uwe Ligges
> 
> 
> 
>> | I was wondering whether I should include in the configure.ac file a few lines about downloading the library fftw3 when it is not available on the machine? Or have I made some mistakes in the Makevars.win file?
>> 
>> You could -- but if it works on *nix you can leave it alone.
>>   
>> | Thank you very much and I apologize for any inconvenience I may have caused you.
>> 
>> You are using the mailing list for the very purpose it was created for so no
>> apology needed or accepted!
>> 
>> Cheers, Dirk
>>



More information about the R-package-devel mailing list