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

Romain Francois romain at r-enthusiasts.com
Fri Aug 20 08:42:10 CEST 2010


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