| 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> |