Annotation of rpl/README, revision 1.1
1.1 ! bertrand 1: ================================================================================
! 2: RPL/2 (R)
! 3: ================================================================================
! 4:
! 5: --------------------------------------------------------------------------------
! 6: WARNING :
! 7:
! 8: LESSTIF IS BROKEN AND CORRUPTS HEAP. PLEASE, DO NOT USE LESSTIF INSTEAD
! 9: REGULAR MOTIF LIBRARIES!
! 10:
! 11: I SHALL NOT ACCEPT ANY BUG REPORT FROM USERS THAT HAVE BUILD RPL/2 WITH
! 12: LESSTIF LIBRAIRIES SINCE OPENMOTIF IS AVAILABLE.
! 13: --------------------------------------------------------------------------------
! 14:
! 15: RPL/2 signifies Reverse Polish Lisp/2. This language is obvious derivated
! 16: from the first RPL written by Hewlett-Packard for its 28S calculator. Thus,
! 17: this language is a half-compiled high level language which can perform
! 18: symbolic and scientific computations.
! 19:
! 20: * RPL/2 is known to run on :
! 21:
! 22: - Linux (kernel 2.6.12 and above) on i386, amd64, ppc32, sparc32,
! 23: sparc64, alpha. Test distribution is Debian. Warning, you have to
! 24: use NPTL, not LinuxThreads due to a bug in sem_post() that is not
! 25: async safe.
! 26: - Solaris 9 and above on i386, amd64, sparc32 (only Solaris 9) and sparc64.
! 27: It can be built out of the box on Solaris in a 32bits userland. For a
! 28: 64bits executable, you have to modify some generated makefiles. See
! 29: 64bits on Solaris.
! 30: - FreeBSD 7.0 on i386.
! 31: - NetBSD 4.0 and above on sparc32 with a restriction. NetBSD's sigpending
! 32: is broken and it is impossible to use DETACH intrinsic. Bug report
! 33: has been done and this bug should be fixed in next NetBSD release.
! 34:
! 35: * RPL/2 should run on :
! 36:
! 37: - HP-UX (10.20 and above), but not tested for a long time.
! 38: - Linux (2.6.12 and above) on ppc64 and other hardware (arm, hppa...) or
! 39: with other distributions than Debian.
! 40: - FreeBSD 7.0 and above on other architecture than i386.
! 41: - NetBSD 4.0 and above on other architecture than sparc32 with restriction
! 42: due to sigpending bug.
! 43: - Mac OS X.
! 44:
! 45: Any information about RPL/2 on these last operating systems are welcome.
! 46:
! 47: * RPL/2 is not supported on :
! 48:
! 49: - OpenBSD due to a major bug in sigaltstack syscall when a program is
! 50: linked with -lthread. As this bug comes from OpenBSD libraries,
! 51: OpenBSD port has to wait for a fixed sigaltstack.
! 52: - OpenVMS (work in progress) on both VAX and Alpha due to some bugs in GNV.
! 53: - Hurd (vaporware...).
! 54:
! 55: * RPL/2 shall never be supported on :
! 56:
! 57: - Cygwin due to some troubles between Cygwin Posix subsystem and Windows.
! 58: You can try, but I shall never support Cygwin. If someone proposes
! 59: patches to build RPL/2 on Cygwin, I won't modify official RPL/2 source
! 60: tree, but only propose these patches against official tarball.
! 61: - Windows (all versions).
! 62: - OS/2 and eComStation.
! 63: - Mac OS preX.
! 64:
! 65: Tools directory contains some libraries that are normally provided by
! 66: all Posix systems. These libraries are built during build process
! 67: and RPL/2 is statically linked with them because I have seen that on
! 68: several systems, some Posix libraries have strange 'features'...
! 69:
! 70: On all systems, you must install GNU make and you should install
! 71: gcc/g++/gfortran (minimal release : 4.0.0). It is possible to build
! 72: RPL/2 with some other compilers (for example cc and f95 from SunStudio,
! 73: or cc and f95 from Digital^WCompaq^WHP) but I do not test all potential
! 74: combinaisons.
! 75:
! 76: * 64 bits on Solaris (are you sure that you need 64bits wide RPL/2 ?)
! 77:
! 78: You have to configure RPL/2 with some user defined variables.
! 79:
! 80: CFLAGS="$CFLAGS -m64" CXXFLAGS="$CXXFLAGS -m64" FCFLAGS="$FCFLAGS -m64" \
! 81: FFLAGS="$FFLAGS -m64" LDFLAGS="$LDFLAGS -m64" ./configure (options)
! 82:
! 83: If you want to use mysql or postgresql support, you should obtain 64bits
! 84: binary executables, libraries and daemons. PostgreSQL 8.3.5 does not compile
! 85: on Solaris 10 in 64bits mode with gcc/GNU ld (due to a strange bug, ld
! 86: tries to build a 32bits wide library with 64bits objects even if -m64 is
! 87: specified on command line...). I have not tried mysql.
! 88:
! 89: If you want to use rplc, you have to use GNU ld, not Solaris ld, due to
! 90: another bug that avoid symbol exportation. You have to check that rpl
! 91: is linked with libmtmalloc and not with libmalloc from libc because there
! 92: is another bug in Solaris' libc : free() can enter in a deadlock
! 93: (internal locked mutex).
! 94:
! 95: Of course, all 64bits libraries have to be accessible by LD_LIBRARY_PATH.
! 96:
! 97: tchaikovski:[/usr/shared-apps/bin] > file rpl
! 98: rpl: ELF 64-bit MSB executable SPARCV9 Version 1, dynamically linked,
! 99: not stripped
! 100:
! 101: Very easy^Wnice, isn't it ?
! 102:
! 103: J. Bertrand <joel.bertrand@systella.fr>
CVSweb interface <joel.bertrand@systella.fr>