[Rcpp-devel] r-forge error: undefined symbol: zgetri_

Romain Francois romain at r-enthusiasts.com
Fri Aug 20 11:05:20 CEST 2010


Le 20/08/10 10:46, Romain Francois a écrit :
> Le 20/08/10 09:41, baptiste auguie a écrit :
>> Indeed, I had forgotten to rerun roxygen before my last commit, sorry.
>> It should be OK now.
>>
>> I've also put the source tarball from R CMD BUILD here,
>>
>> http://dl.dropbox.com/u/352834/cda_1.0.tar.gz
>>
>> Best regards,
>>
>> baptiste
>
> Ok. It installs and loads fine for me on OSX too. I'll try later on
> fedora to see what happens.

Hmm. I get the same error now on fedora.

** testing if installed package can be loaded
Error in dyn.load(file, DLLpath = DLLpath, ...) :
   unable to load shared library '/usr/local/lib/R/library/cda/libs/cda.so':
   /usr/local/lib/R/library/cda/libs/cda.so: undefined symbol: zgetri_
ERROR: loading failed
* removing ‘/usr/local/lib/R/library/cda’



Is it possible that this is not included in R's lapack ?

$ cd R-devel/src
$ egrep -R [a-z]getri *
include/R_ext/.svn/text-base/Lapack.h.svn-base:F77_NAME(dgetri)(const 
int* n, double* a, const int* lda,
include/R_ext/Lapack.h:F77_NAME(dgetri)(const int* n, double* a, const 
int* lda,



> Romain
>
>> On 20 August 2010 08:42, Romain Francois<romain at r-enthusiasts.com> wrote:
>>> Le 20/08/10 07:36, baptiste auguie a écrit :
>>>>
>>>> Hi,
>>>>
>>>> My Makevars contains the following line,
>>>>
>>>> ## Use the R_HOME indirection to support installations of multiple R
>>>> version
>>>> PKG_LIBS = $(shell $(R_HOME)/bin/Rscript -e "Rcpp:::LdFlags()" )
>>>> $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
>>>
>>> That looks ok.
>>>
>>> I can't R CMD INSTALL your package now because of something else. Some
>>> collate issue of the R files, is this a roxygen issue by any chance ?
>>>
>>> But the compile step -- apart from some minor problems I'm sure
>>> you'll fix
>>> -- seem fine :
>>>
>>> $ R CMD INSTALL cda
>>> * installing to library
>>> ‘/Library/Frameworks/R.framework/Resources/library’
>>> * installing *source* package ‘cda’ ...
>>> ** libs
>>> *** arch - i386
>>> g++ -arch i386 -I/Library/Frameworks/R.framework/Resources/include
>>> -I/Library/Frameworks/R.framework/Resources/include/i386
>>> -I/usr/local/include
>>> -I"/Library/Frameworks/R.framework/Resources/library/Rcpp/include"
>>> -I"/Library/Frameworks/R.framework/Resources/library/RcppArmadillo/include"
>>>
>>> -fPIC -g -O3 -Wall -pipe -c cda.cpp -o cda.o
>>> cda.cpp: In function ‘int progress_bar(double, double)’:
>>> cda.cpp:36: warning: no return statement in function returning non-void
>>> cda.cpp: In function ‘Rcpp::List linearExtinction(const arma::mat&,
>>> const
>>> arma::cx_mat&, double)’:
>>> cda.cpp:285: warning: unused variable ‘pi’
>>> cda.cpp: In function ‘int progress_bar(double, double)’:
>>> cda.cpp:36: warning: control reaches end of non-void function
>>> g++ -arch i386 -dynamiclib -Wl,-headerpad_max_install_names -undefined
>>> dynamic_lookup -single_module -multiply_defined suppress
>>> -L/usr/local/lib -o
>>> cda.so cda.o
>>> /Library/Frameworks/R.framework/Versions/2.12/Resources/library/Rcpp/lib/i386/libRcpp.a
>>>
>>> -L/Library/Frameworks/R.framework/Resources/lib/i386 -lRlapack
>>> -L/Library/Frameworks/R.framework/Resources/lib/i386 -lRblas -lgfortran
>>> -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework
>>> -Wl,CoreFoundation
>>> installation dans
>>> /Library/Frameworks/R.framework/Resources/library/cda/libs/i386
>>> *** arch - x86_64
>>> g++ -arch x86_64 -I/Library/Frameworks/R.framework/Resources/include
>>> -I/Library/Frameworks/R.framework/Resources/include/x86_64
>>> -I/usr/local/include
>>> -I"/Library/Frameworks/R.framework/Resources/library/Rcpp/include"
>>> -I"/Library/Frameworks/R.framework/Resources/library/RcppArmadillo/include"
>>>
>>> -fPIC -g -O3 -Wall -pipe -c cda.cpp -o cda.o
>>> cda.cpp: In function ‘int progress_bar(double, double)’:
>>> cda.cpp:36: warning: no return statement in function returning non-void
>>> cda.cpp: In function ‘Rcpp::List linearExtinction(const arma::mat&,
>>> const
>>> arma::cx_mat&, double)’:
>>> cda.cpp:285: warning: unused variable ‘pi’
>>> cda.cpp: In function ‘int progress_bar(double, double)’:
>>> cda.cpp:36: warning: control reaches end of non-void function
>>> g++ -arch x86_64 -dynamiclib -Wl,-headerpad_max_install_names -undefined
>>> dynamic_lookup -single_module -multiply_defined suppress
>>> -L/usr/local/lib -o
>>> cda.so cda.o
>>> /Library/Frameworks/R.framework/Versions/2.12/Resources/library/Rcpp/lib/x86_64/libRcpp.a
>>>
>>> -L/Library/Frameworks/R.framework/Resources/lib/x86_64 -lRlapack
>>> -L/Library/Frameworks/R.framework/Resources/lib/x86_64 -lRblas
>>> -lgfortran
>>> -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework
>>> -Wl,CoreFoundation
>>> installation dans
>>> /Library/Frameworks/R.framework/Resources/library/cda/libs/x86_64
>>> ** R
>>> Error in .install_package_code_files(".", instdir) :
>>> les fichiers dans '/Users/romain/svn/photonics/pkg/cda/R' sont manquants
>>> dans le champ 'Collate' :
>>> povray.r
>>> ERROR: unable to collate files for package ‘cda’
>>> * removing ‘/Library/Frameworks/R.framework/Resources/library/cda’
>>> * restoring previous
>>> ‘/Library/Frameworks/R.framework/Resources/library/cda’
>>>
>>>
>>>> which I obviously took from somewhere, perhaps automatically generated
>>>> from package.skeleton, I don't remember.
>>>
>>> Probably from RcppArmadillo.package.skeleton
>>>
>>>> It's worked for me on two
>>>> different machines (both Macs, though).
>>>>
>>>> Best regards,
>>>>
>>>> baptiste
>>>>
>>>>
>>>> On 19 August 2010 23:50, Douglas Bates<bates at stat.wisc.edu> wrote:
>>>>>
>>>>> On Thu, Aug 19, 2010 at 3:06 PM, baptiste auguie
>>>>> <baptiste.auguie at googlemail.com> wrote:
>>>>>>
>>>>>> Dear all,
>>>>>>
>>>>>> I'm stumped by this error for my cda package on r-forge:
>>>>>>
>>>>>> Error in dyn.load(file, DLLpath = DLLpath, ...) :
>>>>>> unable to load shared library '/tmp/Rinst2710053821/cda/libs/cda.so':
>>>>>> /tmp/Rinst2710053821/cda/libs/cda.so: undefined symbol: zgetri_
>>>>>>
>>>>>>
>>>>>> https://r-forge.r-project.org/R/?group_id=160&log=build_src&pkg=cda&flavor=patched
>>>>>>
>>>>>>
>>>>>>
>>>>>> I don't have a clue what this means --- is this an incorrect
>>>>>> dependency, an error in my C++ code, a known problem with r-forge,
>>>>>> something I should have read in a vignette / manual ... ? It compiles
>>>>>> fine on my machine (Mac OS 10.6). The package uses RcppArmadillo.
>>>>>
>>>>> The error means that there is a reference to one of the Lapack
>>>>> functions, zgetri, which forms the inverse of a complex matrix using
>>>>> its triangular factorization, and the symbol could not be found. What
>>>>> does your cda/src/Makevars file contain?
>>>
>>> --
>
>


-- 
Romain Francois
Professional R Enthusiast
+33(0) 6 28 91 30 30
http://romainfrancois.blog.free.fr
|- http://bit.ly/bzoWrs : Rcpp svn revision 2000
|- http://bit.ly/b8VNE2 : Rcpp at LondonR, oct 5th
`- http://bit.ly/aAyra4 : highlight 0.2-2



More information about the Rcpp-devel mailing list