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>