THIS PAGE IS OUTDATED. IT SHOULD BE UPDATED FOR HACHOIR VERSION 1.0
Quick links:
- Python implementation: CPython, Stackless, IronPython, Jython, PyPy, Vyper
- CPU and Operation system
Test Hachoir compatibility
Use these scripts:
- check_interpreter.py: basic tests to make sure that Hachoir is working on your Python interpreter ;
- run_testcase.py: that will test automatically a big part of Hachoir using test files.
CPU
- Intel/AMD: Hachoir works on any 32 and 64 bits Intel/AMD CPU.
- PPC: Hachoir tested, works on the PPC G4 chip (32 bit); other PPC chips untested but probably work also.
Other CPU are not tested yet, but it should work on any other 32 to 64 bits CPU.
Operating system
Hachoir was tested and runs well on Linux, Mac OS X (and should runs well on any Unix/BSD compatible OS).
hachoir-console and hachoir-urwid fails on Windows since curses doesn't work on this OS. Gottfried Ganßauge works on this subject with urwid library team: read email thread (august 2006). But Hachoir kernel don't have any problem with Windows.
urwid on Windows:
Python interpreter
CPython and Stackless
CPython, also known as just "Python", is the "standard" Python implementation. Stackless is based on CPython.
Hachoir needs at least version 2.4 of CPython/Stackless interpreter.
Python 3000:
- Use 2to3 migration script (svn co http://svn.python.org/projects/sandbox/trunk/2to3)
- hachoir-core/doc/hachoir-api.rst: add 'b' prefix to strings send to StringInputStream?()
- hachoir-core/hachoir_core/field/float.py: add 'b' prefix to the two "assert struct.unpack(...)"
PyPy
PyPy is a Python interpreter written in Python.
2007-01-13: PyPy is able to runs Hachoir without specific patch.
IronPython
IronPython is a Python implementation working in .NET.
2007-01-19: With few patches, Hachoir can be run on IronPython?. See ticket:104.
Problems:
- "md5 and sha modules are missing": Download md5.py and sha.py from http://sparcs.kaist.ac.kr/~tinuviel/fepy/lib/, copy them in Hachoir root ;
- Error "socket module has not attribute makefile": it's not implemented yet => download testcase files with any other tool ;
Jython
Jython is a Python implementation written in Java working in JVM (Java virtual machine). See: Jython website.
Hachoir (svn 940) works with Jython 2.2 (2.2a1), but it needs patches: use shell script compatibility/to_jython.sh (removed script since it was really ulgy).
Parrot
Parrot is a generic virtual machine written in C which can runs Perl6, Python, etc.
=> Looks incomplete and not working.
Vyper
Vyper in an Python implementation written in Objective Caml. Not tested yet.
=> Website is down. Dead project?