--- rpl/README 2010/08/13 21:06:28 1.10 +++ rpl/README 2013/03/23 17:57:55 1.26 @@ -22,12 +22,13 @@ symbolic and scientific computations. * RPL/2 requires : - nawk or gawk; + - gmake; - libtool 1.5 or newer. To build RPL/2 on Mac OSX, you should have to add libtool m4 path in tools/file-*/configure.ac and tools/file-*/Makefile.am; - - gcc-4.3 or newer; - - g++-4.3 or newer; - - gfortran-4.3 or newer. + - gcc-4.4 or newer; + - g++-4.4 or newer; + - gfortran-4.4 or newer. RPL/2 build process invoques automake and autoconf. @@ -38,48 +39,59 @@ error related to OpenSSL, you shall try 'make'. On some system, OpenSSL configure script is unable to set compiler flags. + * RPL/2 cross compilation : + + To cross-compile RPL/2, you have to build in a first time a native + RPL/2 on build host. Installation is not required. In a second time, + you have to configure RPL/2 for target host in another directory like : + +../rpl/configure --host=arm-unknown-linux-gnueabi --enable-full-static +--with-sysroot=/home/bertrand/x-tools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sysroot +--without-mysql --without-postgresql --without-x +--with-rpltools=/home/bertrand/cvs/rpl/build --with-openssl-arch=linux-generic32 + + Of course, you have to configure OpenSSL with --with-openssl-arch. + * RPL/2 is known to run on : - - Linux (kernel 2.6.26 and above) on i386, amd64, ppc32, sparc32, - sparc64, alpha. Test distribution is Debian. Warning, you have to - use NPTL, not LinuxThreads due to a bug in sem_post() that is not - async safe. - - Solaris 9 and above on i386, amd64, sparc32 (only Solaris 9) and sparc64. + - Linux (kernel 2.6.26 and beyond). Test distribution is Debian. + - Solaris 8 and beyond. It can be built out of the box on Solaris in a 32bits userland. For a 64bits executable, you have to modify some generated makefiles or specify some options. See 64bits on Solaris. - - FreeBSD 7.x on i386. I have installed a FreeBSD 7.0, upgraded to 7.2 + - FreeBSD 7.x. I have installed a FreeBSD 7.0, upgraded to 7.2 and RPL/2 ran without any trouble. RPL/2 does not run on early FreeBSD 8.0 because sig_info_t struct is not filled. This bug is now fixed. Someone has reported that FreeBSD 7.2 did not filled this struct too... - - NetBSD 4.0 and above with a restriction. NetBSD's sigpending - is broken and it is impossible to use DETACH intrinsic. Bug report - has been done and this bug should be fixed in next NetBSD release. - Sigpending has been fixed in NetBSD 5.0 and RPL/2 runs fine. + - NetBSD 5.0 and beyond. + - OpenBSD 4.8 and beyond. - Windows with Cygwin (>= 1.7.5). + - OS/2 and eComStation with EMX (>= 0.9d). You probably have to + recreate configure script and makefiles with aclocal, autoconf and + automake. + ======================================================================== + WARNING : eCS DEFINES TMP VARIABLE THAT OVERWRITES PATHS + IN FOPEN() SYSTEM CALL. /TMP/xxx IS REPLACED BY /%TMP%/xxx. + THIS BUG ONLY OCCURS WHEN RPL/2 IS CALLED FROM OS/2 OR 4OS2 SHELL. + WORKAROUND : DEFINE RPL_TMP_PATH WITH A DRIVE LETTER LIKE - * RPL/2 should run on : + SET RPL_TMP_PATH=C:/tmp - - HP-UX (10.20 and above), but not tested for a long time. - - Linux (2.6.26 and above) on ppc64 and other hardware (arm, hppa...) or - with other distributions than Debian. - - FreeBSD 7.0 and above on other architecture than i386. Please not - that I cannot reproduce sig_info_t bug and I do not have more - information. - - NetBSD 4.0 and above on other architecture than sparc32 with restriction - due to sigpending bug. - - OS/2 and eComStation. + OR CALL RPL/2 FROM A BOURNE SHELL. + ======================================================================== - Mac OS X. + * RPL/2 should run on : + + - AIX + - HP-UX (10.20 and beyond), but not tested for a long time. + - NetBSD 4.0 and beyond with restriction due to sigpending bug. + Any information about RPL/2 on these last operating systems are welcome. * RPL/2 is not supported on : - - OpenBSD due to a major bug in sigaltstack syscall when a program is - linked with -lthread. As this bug comes from OpenBSD libraries, - OpenBSD port has to wait for a fixed sigaltstack. RPL/2 uses pselect() - that is unavailable too. - OpenVMS (work in progress) on Alpha and Integrity due to some bugs in GNV. RPL/2 never works on OpenVMS VAX because GNV is too old on this architecture. @@ -128,4 +140,10 @@ rpl: ELF 64-bit MSB executable SPARCV9 V Very easy^Wnice, isn't it ? + * OS/2 and eComstation + + GSL configure script is broken. You have to replace + $(SHELL) $(top_buildir)/libtool by sh $(top_buildir)/libtool in each + Makefile. By default, makefile's try to use ash.exe that is broken. + J. Bertrand