[R] Compiling R as a shared library

Min-Han Tan minhan.science at gmail.com
Tue Feb 8 20:38:18 CET 2005


Hi,

I am trying to compile R as a shared library (need to run RMAGEML,
which depends on SJava) on 64bit SUSE Linux 9.1 . I am using the
source code for R 2.0.1 (Nov 15 04)

>  ./configure R_PAPERSIZE=LETTER R_BROWSER=/opt/kde3/share/applications/kde/konqbrowser.desktop --enable-R-shlib

results in several errors (selected errors below), and make check also
yields errors (at bottom) The errors seem to centre around conftest,
with
configure:29275: test -z 
			 || test ! -s conftest.err
being fairly typical, occuring multiple times in config.log.

Any advice on trouble shooting this would be greatly appreciated. 

Min-Han


_______________


configure:1908: checking for working aclocal-1.4
configure:1919: result: missing
configure:1923: checking for working autoconf
configure:1930: result: found
configure:1938: checking for working automake-1.4
configure:1949: result: missing

configure:4488: gcc -c -g -O2 -I/usr/local/include conftest.c >&5
conftest.c:2: error: parse error before "me"
configure:4494: $? = 1
configure: failed program was:
| #ifndef __cplusplus
|   choke me
| #endif

configure:4707: gcc -E -I/usr/local/include conftest.c
conftest.c:16:28: ac_nonexistent.h: No such file or directory
configure:4713: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME "R"
| #define PACKAGE_TARNAME "R"
| #define PACKAGE_VERSION "2.0.1"
| #define PACKAGE_STRING "R 2.0.1"
| #define PACKAGE_BUGREPORT "r-bugs at R-project.org"
| #define PACKAGE "R"
| #define VERSION "2.0.1"
| #define R_PLATFORM "x86_64-unknown-linux-gnu"
| #define R_CPU "x86_64"
| #define R_VENDOR "unknown"
| #define R_OS "linux-gnu"
| #define Unix 1
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>


configure:4814: gcc -E -I/usr/local/include conftest.c
conftest.c:16:28: ac_nonexistent.h: No such file or directory
configure:4820: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME "R"
| #define PACKAGE_TARNAME "R"
| #define PACKAGE_VERSION "2.0.1"
| #define PACKAGE_STRING "R 2.0.1"
| #define PACKAGE_BUGREPORT "r-bugs at R-project.org"
| #define PACKAGE "R"
| #define VERSION "2.0.1"
| #define R_PLATFORM "x86_64-unknown-linux-gnu"
| #define R_CPU "x86_64"
| #define R_VENDOR "unknown"
| #define R_OS "linux-gnu"
| #define Unix 1
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>


configure:5099: gcc -E -I/usr/local/include conftest.c
conftest.c:16:28: ac_nonexistent.h: No such file or directory
configure:5105: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME "R"
| #define PACKAGE_TARNAME "R"
| #define PACKAGE_VERSION "2.0.1"
| #define PACKAGE_STRING "R 2.0.1"
| #define PACKAGE_BUGREPORT "r-bugs at R-project.org"
| #define PACKAGE "R"
| #define VERSION "2.0.1"
| #define R_PLATFORM "x86_64-unknown-linux-gnu"
| #define R_CPU "x86_64"
| #define R_VENDOR "unknown"
| #define R_OS "linux-gnu"
| #define Unix 1
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>

configure:29307: checking whether isfinite is declared
configure:29340: gcc -c -g -O2 -I/usr/local/include conftest.c >&5
conftest.c: In function `main':
conftest.c:122: error: `isfinite' undeclared (first use in this function)
conftest.c:122: error: (Each undeclared identifier is reported only once
conftest.c:122: error: for each function it appears in.)
configure:29346: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME "R"
| #define PACKAGE_TARNAME "R"
| #define PACKAGE_VERSION "2.0.1"
| #define PACKAGE_STRING "R 2.0.1"
| #define PACKAGE_BUGREPORT "r-bugs at R-project.org"
| #define PACKAGE "R"
| #define VERSION "2.0.1"
| #define R_PLATFORM "x86_64-unknown-linux-gnu"
| #define R_CPU "x86_64"
| #define R_VENDOR "unknown"
| #define R_OS "linux-gnu"
| #define Unix 1
| #ifdef __cplusplus
| extern "C" void std::exit (int) throw (); using std::exit;
| #endif
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define HAVE_LIBM 1
| #define HAVE_LIBDL 1
| #define STDC_HEADERS 1
| #define TIME_WITH_SYS_TIME 1
| #define HAVE_DIRENT_H 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_ARPA_INET_H 1
| #define HAVE_DLFCN_H 1
| #define HAVE_ELF_H 1
| #define HAVE_FCNTL_H 1
| #define HAVE_FPU_CONTROL_H 1
| #define HAVE_GRP_H 1
| #define HAVE_IEEE754_H 1
| #define HAVE_LIMITS_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_NETDB_H 1
| #define HAVE_NETINET_IN_H 1
| #define HAVE_PWD_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYS_PARAM_H 1
| #define HAVE_SYS_SELECT_H 1
| #define HAVE_SYS_SOCKET_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_TIMES_H 1
| #define HAVE_SYS_UTSNAME_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_WCHAR_H 1
| #define HAVE_ERRNO_H 1
| #define HAVE_STDARG_H 1
| #define HAVE_STRING_H 1
| #define HAVE_POSIX_SETJMP 1
| #define HAVE_GLIBC2 1
| #define RETSIGTYPE void
| #define HAVE_DECL_SIZE_MAX 1
| #define SOCKLEN_T socklen_t
| #define R_INLINE inline
| #define SIZEOF_INT 4
| #define INT_32_BITS 1
| #define SIZEOF_LONG 8
| #define SIZEOF_LONG_LONG 8
| #define SIZEOF_LONG_DOUBLE 16
| #define F77_FUNC(name,NAME) name ## _
| #define F77_FUNC_(name,NAME) name ## __
| #define HAVE_F77_UNDERSCORE 1
| #define HAVE_DOUBLE_COMPLEX 1
| #define SHLIB_EXT ".so"
| #define HAVE_OFF_T 1
| #define HAVE_ALLOCA_H 1
| #define HAVE_ALLOCA 1
| #define HAVE_ACCESS 1
| #define HAVE_CHDIR 1
| #define HAVE_EXPM1 1
| #define HAVE_FCNTL 1
| #define HAVE_FINITE 1
| #define HAVE_FSEEKO 1
| #define HAVE_FTELLO 1
| #define HAVE_FTRUNCATE 1
| #define HAVE_GETCWD 1
| #define HAVE_GETGRGID 1
| #define HAVE_GETPWUID 1
| #define HAVE_GETUID 1
| #define HAVE_HYPOT 1
| #define HAVE_ISASCII 1
| #define HAVE_LOG1P 1
| #define HAVE_MATHERR 1
| #define HAVE_MKFIFO 1
| #define HAVE_POPEN 1
| #define HAVE_PUTENV 1
| #define HAVE_RINT 1
| #define HAVE_SETENV 1
| #define HAVE_STRCOLL 1
| #define HAVE_STAT 1
| #define HAVE_STRPTIME 1
| #define HAVE_SYMLINK 1
| #define HAVE_SYSTEM 1
| #define HAVE_TIMES 1
| #define HAVE_UNSETENV 1
| /* end confdefs.h.  */
| #include <math.h>
| 
| #ifdef F77_DUMMY_MAIN
| 
| #  ifdef __cplusplus
|      extern "C"
| #  endif
|    int F77_DUMMY_MAIN() { return 1; }
| 
| #endif
| int
| main ()
| {
| #ifndef isfinite
|   char *p = (char *) isfinite;
| #endif
| 
|   ;
|   return 0;
| }

__________________

Make check errors
make[1]: Entering directory `/usr/R/R-2.0.1/tests'
make[2]: Entering directory `/usr/R/R-2.0.1/tests'
make[3]: Entering directory `/usr/R/R-2.0.1/tests/Examples'
make[4]: Entering directory `/usr/R/R-2.0.1/tests/Examples'
make[4]: `Makedeps' is up to date.
make[4]: Leaving directory `/usr/R/R-2.0.1/tests/Examples'
make[4]: Entering directory `/usr/R/R-2.0.1/tests/Examples'
running code in 'base-Ex.R' ...make[4]: *** [base-Ex.Rout] Error 1
make[4]: Leaving directory `/usr/R/R-2.0.1/tests/Examples'
make[3]: *** [test-Examples-Base] Error 2
make[3]: Leaving directory `/usr/R/R-2.0.1/tests/Examples'
make[2]: *** [test-Examples] Error 2
make[2]: Leaving directory `/usr/R/R-2.0.1/tests'
make[1]: *** [test-all-basics] Error 1
make[1]: Leaving directory `/usr/R/R-2.0.1/tests'
make: *** [check] Error 2




More information about the R-help mailing list