Ok, I have Forum installed and with the benefit of not having not had to do much coding.
What I did:
1. I removed the lines in forum/_config.php that called addMembershipFields
2. I added the following into forum/ForumRole.php, into the $fields array in the extraDBFields function:
'summary_fields' => array(
"Nickname" => "Nickname",
"Occupation" => "Occupation",
"Country" => "Country",
"ForumRank" => "ForumRank"
That covers the code changes, however, this did not get forum installed for me.
On removing the call to addMembershipFields the /dev/build progressed a little bit further but still bombed out. It was throwing and undefined index error on ForumRank at line 378 of Database.php. On looking at this I found my problem.
I had added forum into an already existing instance of SilverStripe so the Member table existed. I have not gone into this in detail but I am guessing that $this->fieldList provides a list of the current state of the table in the database. But ForumRank is not in the *current* Member table so the index was not found.
So the final steps to get this installed for me was:
3. Backup the content of the Member table
4. Drop the Member table
5. Call /dev/buil?flush=1
6. Restore the content from the backed up Member table
I am not sure if this is a bug or is working as intended. I am sure that is is irritating and I would love someone to point me in the direction of some instructions as to how to overcome this problem without the headache.