--- rpl/README 2010/01/26 15:22:44 1.1.1.1 +++ rpl/README 2013/03/23 17:57:55 1.26 @@ -10,6 +10,8 @@ I SHALL NOT ACCEPT ANY BUG REPORT FROM USERS THAT HAVE BUILD RPL/2 WITH LESSTIF LIBRAIRIES SINCE OPENMOTIF IS AVAILABLE. + + DO NOT USE 'make install-strip' THAT BREAKS RPL/2. -------------------------------------------------------------------------------- RPL/2 signifies Reverse Polish Lisp/2. This language is obvious derivated @@ -17,49 +19,87 @@ from the first RPL written by Hewlett-Pa this language is a half-compiled high level language which can perform 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.4 or newer; + - g++-4.4 or newer; + - gfortran-4.4 or newer. + + RPL/2 build process invoques automake and autoconf. + + * OpenSSL issue : + + OpenSSL does not use any configure script. If build process aborts on +error related to OpenSSL, you shall try to build OpenSSL before running +'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.12 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. See - 64bits on Solaris. - - FreeBSD 7.0 on i386. - - NetBSD 4.0 and above on sparc32 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. + 64bits executable, you have to modify some generated makefiles or + specify some options. See 64bits on Solaris. + - 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 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.12 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. - - NetBSD 4.0 and above on other architecture than sparc32 with restriction - due to sigpending bug. + 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. - - OpenVMS (work in progress) on both VAX and Alpha due to some bugs in GNV. - - Hurd (vaporware...). + - 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. + - Hurd because sig_info_t is not filled. * RPL/2 shall never be supported on : - - Cygwin due to some troubles between Cygwin Posix subsystem and Windows. - You can try, but I shall never support Cygwin. If someone proposes - patches to build RPL/2 on Cygwin, I won't modify official RPL/2 source - tree, but only propose these patches against official tarball. - - Windows (all versions). - - OS/2 and eComStation. + - Windows (all versions) without Cygwin. - Mac OS preX. Tools directory contains some libraries that are normally provided by @@ -68,7 +108,7 @@ symbolic and scientific computations. several systems, some Posix libraries have strange 'features'... On all systems, you must install GNU make and you should install - gcc/g++/gfortran (minimal release : 4.0.0). It is possible to build + gcc/g++/gfortran (minimal release : 4.2.0). It is possible to build RPL/2 with some other compilers (for example cc and f95 from SunStudio, or cc and f95 from Digital^WCompaq^WHP) but I do not test all potential combinaisons. @@ -100,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