I did some investigation of problems reported in attempting to get MM3 to run on FreeBSD.
I used FreeBSD 8.2 - python 2.7.1 from ports, but it looks as if the situation is the same on other combinations.
After bootstrap, running bin/test fails because the pysqlite2 module is not found.
This is because the port that installed it put the module in the site-packages folder.
The MM3 buildout.cfg explicitly ignores anything there.
A) Changing to "include-site-packages = true" in line 9 of buildout.cfg fixes the problem.
However, bug LP: #659231 introduced the exclusion for another reason. It is my opinion that the fix to 659231 by disabling site-packages is fundamentally wrong and just masks the real issue, if it exists. (Personally, I have been unable to reproduce the condition reported by the referenced bug)
B) Another "workaround" is to install the pysqlite2 in another directory that is on the python path. (After installation in site-packages, I just `mv`d it)
This investigation has uncovered two additional issues.
1) In choosing its implementation, storm chooses the pysqlite2 interface and, if it is not present, attempts to fall back to the newer sqlite3 interface.
2) The FreeBSD port of python disables a number of modules:
disabled_module_list = ["_bsddb", "_sqlite3", "_tkinter", "gdbm", "mpz"]
I assume that this is because the port was not set up to make these optional and assure that the prerequisite code gets installed if not already present.
Richard "Wacky" Wackerbarth