Hello, I am having errors when I try to install RSPerl-0.92 under fedora 14. I have the following rpms installed: R-devel-2.13.0-1.fc14.x86_64 R-core-2.13.0-1.fc14.x86_64 perl-5.12.3-143.fc14.x86_64 perl-devel-5.12.3-143.fc14.x86_64 perl-ExtUtils-* (all of them from yum)
Now I get the following errors: # R CMD INSTALL RSPerl_0.92-1.tar.gz * installing to library /usr/lib64/R/library * installing *source* package RSPerl ... checking for perl... /usr/bin/perl No support for any of the Perl modules from calling Perl from R. ***************************************************** Set PERL5LIB to /usr/lib64/R/library/RSPerl/perl ***************************************************** Testing: -L/usr/lib64/R/lib -lR Using '/usr/bin/perl' as the perl executable Perl modules (no): Adding R package to list of Perl modules to enable callbacks to R from Perl Creating the C code for dynamically loading modules with native code for Perl: R modules: R; linking: checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed Support R in Perl: yes configure: creating ./config.status config.status: creating src/Makevars config.status: creating inst/scripts/RSPerl.csh config.status: creating inst/scripts/RSPerl.bsh config.status: creating src/RinPerlMakefile config.status: creating src/Makefile.PL config.status: creating cleanup config.status: creating src/R.pm config.status: creating R/perl5lib.R making target all in RinPerlMakefile gcc -m64 -std=gnu99 -I/usr/include/R -I. -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -DPERL_POLLUTE -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1 -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c Converters.c -o Converters.o Converters.c: In function 'makeForeignPerlReference': Converters.c:568:8: warning: unused variable 'key' Converters.c:566:6: warning: unused variable 'n' Converters.c: In function 'RS_discardPerlForeignReference': Converters.c:675:14: warning: unused variable 'key' Converters.c: In function 'PerlAddHomogeneousElement': Converters.c:1056:7: error: duplicate case value Converters.c:1041:7: error: previously used here make: *** [Converters.o] Error 1 calling make -f Makefile.perl install make: Makefile.perl: No such file or directory make: *** No rule to make target `Makefile.perl'. Stop. chmod: cannot access `blib/lib/R.pm': No such file or directory Finished configuration ** libs gcc -m64 -std=gnu99 -I/usr/include/R -I. -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -DPERL_POLLUTE -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1 -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c Converters.c -o Converters.o Converters.c: In function makeForeignPerlReference: Converters.c:568:8: warning: unused variable key Converters.c:566:6: warning: unused variable n Converters.c: In function RS_discardPerlForeignReference: Converters.c:675:14: warning: unused variable key Converters.c: In function PerlAddHomogeneousElement: Converters.c:1056:7: error: duplicate case value Converters.c:1041:7: error: previously used here make: *** [Converters.o] Error 1 ERROR: compilation failed for package RSPerl * removing /usr/lib64/R/library/RSPerl The errors involve the use of C constants SVt_IV (perl integer) and SVt_RV (perl reference). As of perl 5.12, SVt_RV is synonymous with SVt_IV. So the switch statements containing both throw a duplicate value error. Well, I reasoned that the integer interpretation may only be needed now and commented out the SVt_IV entries in Converters.c and Reflections.c switch statements. I know I am treading on dangerous ground here. But it got RSPerl to compile to the following stage: # R CMD INSTALL RSPerl_0.92-1_modified.tar.gz * installing to library /usr/lib64/R/library * installing *source* package RSPerl ... checking for perl... /usr/bin/perl No support for any of the Perl modules from calling Perl from R. ***************************************************** Set PERL5LIB to /usr/lib64/R/library/RSPerl/perl ***************************************************** Testing: -L/usr/lib64/R/lib -lR Using '/usr/bin/perl' as the perl executable Perl modules (no): Adding R package to list of Perl modules to enable callbacks to R from Perl Creating the C code for dynamically loading modules with native code for Perl: R modules: R; linking: checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed Support R in Perl: yes configure: creating ./config.status config.status: creating src/Makevars config.status: creating inst/scripts/RSPerl.csh config.status: creating inst/scripts/RSPerl.bsh config.status: creating src/RinPerlMakefile config.status: creating src/Makefile.PL config.status: creating cleanup config.status: creating src/R.pm config.status: creating R/perl5lib.R making target all in RinPerlMakefile gcc -m64 -std=gnu99 -I/usr/include/R -I. -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -DPERL_POLLUTE -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1 -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c Converters.c -o Converters.o Converters.c: In function 'makeForeignPerlReference': Converters.c:568:8: warning: unused variable 'key' Converters.c:566:6: warning: unused variable 'n' Converters.c: In function 'RS_discardPerlForeignReference': Converters.c:675:14: warning: unused variable 'key' Converters.c: In function 'RS_GetPerlReferenceObjects': Converters.c:637:16: warning: 'ans' may be used uninitialized in this function gcc -m64 -std=gnu99 -I/usr/include/R -I. -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -DPERL_POLLUTE -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1 -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c Reflectance.c -o Reflectance.o Reflectance.c: In function 'computeRSPerlClassVector': Reflectance.c:427:11: warning: unused variable 'tt' Reflectance.c:445:10: warning: operation on 'classes' may be undefined Reflectance.c: In function 'isHomogeneous': Reflectance.c:541:7: warning: enumeration value 'SVt_NULL' not handled in switch Reflectance.c:541:7: warning: enumeration value 'SVt_BIND' not handled in switch Reflectance.c:541:7: warning: enumeration value 'SVt_IV' not handled in switch Reflectance.c:541:7: warning: enumeration value 'SVt_NV' not handled in switch Reflectance.c:541:7: warning: enumeration value 'SVt_PV' not handled in switch Reflectance.c:541:7: warning: enumeration value 'SVt_PVIV' not handled in switch Reflectance.c:541:7: warning: enumeration value 'SVt_PVNV' not handled in switch Reflectance.c:541:7: warning: enumeration value 'SVt_PVMG' not handled in switch Reflectance.c:541:7: warning: enumeration value 'SVt_REGEXP' not handled in switch Reflectance.c:541:7: warning: enumeration value 'SVt_PVGV' not handled in switch Reflectance.c:541:7: warning: enumeration value 'SVt_PVLV' not handled in switch Reflectance.c:541:7: warning: enumeration value 'SVt_PVCV' not handled in switch Reflectance.c:541:7: warning: enumeration value 'SVt_PVFM' not handled in switch Reflectance.c:541:7: warning: enumeration value 'SVt_PVIO' not handled in switch Reflectance.c:541:7: warning: enumeration value 'SVt_LAST' not handled in switch Reflectance.c: In function 'RS_getPerlType': Reflectance.c:139:6: warning: 'el' may be used uninitialized in this function Reflectance.c: In function 'isHomogeneous': Reflectance.c:516:12: warning: 'el' may be used uninitialized in this function gcc -m64 -std=gnu99 -I/usr/include/R -I. -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -DPERL_POLLUTE -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1 -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c ForeignReference.c -o ForeignReference.o ForeignReference.c: In function 'RPerl_createRProxy': ForeignReference.c:212:8: warning: value computed is not used gcc -m64 -std=gnu99 -I/usr/include/R -I. -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -DPERL_POLLUTE -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1 -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c UserConverters.c -o UserConverters.o UserConverters.c: In function 'RPerl_addConverter': UserConverters.c:264:32: warning: 'className' may be used uninitialized in this function gcc -m64 -std=gnu99 -I/usr/include/R -I. -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -DPERL_POLLUTE -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1 -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c GeneralConverters.c -o GeneralConverters.o making libPerlConverter.so /usr/lib64/R/bin/R CMD SHLIB -o libPerlConverter.so Converters.c Reflectance.c ForeignReference.c UserConverters.o GeneralConverters.o make[1]: Entering directory `/tmp/RtmpHyWOHo/R.INSTALL281f2591/RSPerl/src' gcc -m64 -std=gnu99 -shared -L/usr/local/lib64 -o libPerlConverter.so Converters.o Reflectance.o ForeignReference.o UserConverters.o GeneralConverters.o -Wl,--enable-new-dtags -Wl,-rpath,/usr/lib64/perl5/CORE -fstack-protector -L/usr/lib64/perl5/CORE -lperl -lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc -L/usr/lib64/R/lib -lR make[1]: Leaving directory `/tmp/RtmpHyWOHo/R.INSTALL281f2591/RSPerl/src' if test ! -d /usr/lib64/R/library/RSPerl/libs ; then mkdir /usr/lib64/R/library/RSPerl/libs ; fi cp libPerlConverter.so /usr/lib64/R/library/RSPerl/libs Makefile.PL PREFIX=/usr/lib64/R/library/RSPerl LIB=/usr/lib64/R/library/RSPerl/perl make: Makefile.PL: Command not found make: *** [Makefile.perl] Error 127 calling make -f Makefile.perl install make: Makefile.perl: No such file or directory make: *** No rule to make target `Makefile.perl'. Stop. chmod: cannot access `blib/lib/R.pm': No such file or directory Finished configuration ** libs gcc -m64 -std=gnu99 -I/usr/include/R -I. -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -DPERL_POLLUTE -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1 -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c RPerlElements.c -o RPerlElements.o RPerlElements.c: In function RS_PerlSetHashElements: RPerlElements.c:165:6: warning: value computed is not used RPerlElements.c: In function RS_PerlArrayElement: RPerlElements.c:11:15: warning: depth may be used uninitialized in this function RPerlElements.c: In function RS_PerlHashElement: RPerlElements.c:56:15: warning: depth may be used uninitialized in this function gcc -m64 -std=gnu99 -I/usr/include/R -I. -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -DPERL_POLLUTE -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1 -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c RPerlEval.c -o RPerlEval.o RPerlEval.c: In function RS_PerlCallModified: RPerlEval.c:301:4: warning: value computed is not used gcc -m64 -std=gnu99 -I/usr/include/R -I. -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -DPERL_POLLUTE -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1 -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c RPerlInit.c -o RPerlInit.o gcc -m64 -std=gnu99 -I/usr/include/R -I. -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -DPERL_POLLUTE -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1 -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c RPerlNew.c -o RPerlNew.o RPerlNew.c: In function toPerlTable: RPerlNew.c:54:6: warning: value computed is not used gcc -m64 -std=gnu99 -I/usr/include/R -I. -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -DPERL_POLLUTE -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1 -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c RPerlReference.c -o RPerlReference.o gcc -m64 -std=gnu99 -I/usr/include/R -I. -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -DPERL_POLLUTE -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1 -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c RPerlVars.c -o RPerlVars.o RPerlVars.c: In function RS_remove: RPerlVars.c:76:6: warning: value computed is not used RPerlVars.c: In function PerlAssign: RPerlVars.c:121:4: warning: value computed is not used gcc -m64 -std=gnu99 -I/usr/include/R -I. -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -DPERL_POLLUTE -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1 -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c Utils.c -o Utils.o Utils.c: In function characterVectorToNullTerminatedArray: Utils.c:35:14: warning: assignment discards qualifiers from pointer target type Utils.c: In function characterVectorToArray: Utils.c:78:14: warning: assignment discards qualifiers from pointer target type gcc -m64 -std=gnu99 -I/usr/include/R -I. -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/perl5/CORE -DPERL_POLLUTE -D_R_=1 -DUSE_R=1 -DUSE_TOPLEVEL_EXEC=1 -DWITH_R_IN_PERL=1 -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c xsinit.c -o xsinit.o gcc -m64 -std=gnu99 -shared -L/usr/local/lib64 -o RSPerl.so Converters.o ForeignReference.o GeneralConverters.o RPerlElements.o RPerlEval.o RPerlInit.o RPerlNew.o RPerlReference.o RPerlVars.o Reflectance.o UserConverters.o Utils.o xsinit.o -Wl,--enable-new-dtags -Wl,-rpath,/usr/lib64/perl5/CORE -fstack-protector -L/usr/lib64/perl5/CORE -lperl -lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc -L/usr/lib64/R/lib -lR installing to /usr/lib64/R/library/RSPerl/libs ** R ** inst ** preparing package for lazy loading ** help Warning: /tmp/RtmpHyWOHo/R.INSTALL281f2591/RSPerl/man/PerlReferenceObjects.Rd:32: unknown macro '\textit' *** installing help indices converting help for package RSPerl finding HTML links ... done Perl html PerlClear html PerlDiscard html PerlExists html PerlExpr html PerlFile html PerlGetArray html PerlGetCode html PerlInit html PerlInterpreter html PerlLength html PerlNames html PerlNew html PerlNewArray html PerlPackage html PerlReferenceDollar html PerlReferenceObjects html PerlReferenceSubset html PerlSetHash html PerlStashInfo html PerlTerminate html PerlType html PerlTypes html PerlUndef html addConverter html foreignReference html getNumPerlConverters html getPerlClasses html getPerlDynModules html getPerlScript html mkRef html parseEval html perlInitArgs html perlModuleLoaded html referenceHandlerGenerator html setPerlHandler html ** building package indices ... ** testing if installed package can be loaded Error in dyn.load(file, DLLpath = DLLpath, ...) : unable to load shared object '/usr/lib64/R/library/RSPerl/libs/RSPerl.so': /usr/lib64/R/library/RSPerl/libs/RSPerl.so: undefined symbol: boot_R Error: loading failed Execution halted ERROR: loading failed * removing /usr/lib64/R/library/RSPerl Now, I do not know where the boot_R symbol is coming from and google is not helping. So I am stuck. Why won't boot_R resolve? Is this a problem due to new versions of R? Is my hack of commenting out of SVt_RV switch entries not going to work anyway? Also, I see errors in the installation related to Makefile.PL and makefile.perl Any help on these issues would be most helpful. In the end, I am trying to get to statistical analyses in R that Perl does not have. In particular, I need a good test of normality on a set of residuals. Hunter -- Hunter Moseley, Ph.D. -- Univ. of Louisville Assistant Professor, Dept. of Chemistry Not just a scientist, but a fencer as well. My foil is sharp, but my mind sharper still. --------------------------------------------------------------- Email: hunter.mose...@louisville.edu (work) hunter.mose...@gmail.com(personal) Phone: 502-852-3168 (office) 502-852-7598 (lab) 502-852-8149 (fax) Address: Department of Chemistry, University of Louisville 2320 South Brook Street, Louisville, KY 40292 [[alternative HTML version deleted]]
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.