Python for AtheOS


Before building:

    Make sure you have shared versions of the libraries you want to use
    with Python. You will have to compile them yourself, or download
    precompiled packages.

    Recommended libraries:

	ncurses-4.2
    	readline-4.2a
    	zlib-1.1.4

Build:

    $ ./configure --prefix=/usr/python
    $ make

    Python is always built as a shared library, otherwise dynamic loading
    would not work.

Testing:

    $ make test

Install:

    # make install
    # pkgmanager -a /usr/python


AtheOS issues:

    - large file support: due to a stdio bug in glibc/libio, access to
        large files may not work correctly.
        fseeko() tries to seek to a negative offset.
        ftello() returns a negative offset, it looks like a 32->64bit
        sign-extension issue.
        The lowlevel functions (open, lseek, etc) are OK.
    - sockets: AF_UNIX is defined in the C library and in Python, but
       not implemented in the system.
    - select: poll is available in the C library, but does not work
      (It does not return POLLNVAL for bad fds and hangs).
    - posix: statvfs and fstatvfs always return ENOSYS.
    - 
    - disabled modules:
        - mmap: not yet implemented in AtheOS
	- nis: broken (on an unconfigured system yp_get_default_domain()
            returns junk instead of error)
	- dl: dynamic loading doesn't work via dlopen()
	- resource: getrimit and setrlimit are not yet implemented

    - if you are getting segmentation faults, you probably are low on memory.
        AtheOS doesn't handle very well an out-of-memory condition and
        simply SEGVs the process.

Tested on:

    AtheOS-0.3.7
    gcc-2.95
    binutils-2.10
    make-3.78


--
Octavian Cerna <tavy@ylabs.com>