RT4 make initialize-database fails

Sorry if this is a duplicate, but I noticed that I sent this message from
a different email account, so I assume it was hung up in moderation if not
disposed of entirely.

I installed RT3 last week, and was having some problems getting it to work.
I then saw that RT4 was released (Earlier I used the package for FC16),
so I downloaded that (4.0.5) and built it. This is also running on FC16.
All packages are up to date, including CPAN stuff.

I do OK until I get to the step where we create a new database. I deleted
the rt3 database and ran “make initialize-database”. This starts out good,
but then runs into a problem as shown below:

I’ve searched on Google and the mailing list archives, but see no mention
of such a beast. The rest of the install seems fine, as I was able to
run it against the RT3 database (I did save a copy). Well OK until I went
to access queues, then httpd goes nuts. I’m chocking that up to an
incompatibility in the database, I’m sure the schema changed.

So it seems really important that I have a pristine RT4 database, yet the
script is dying. Below is output with no RT databases existing. Does
anyone have any
recommendations?

Working with:
Type: mysql
Host: localhost
Name: rt4
User: rt_user
DBA: root
Now creating a mysql database rt4 for RT.
Done.
Now populating database schema.
Done.
Now inserting database ACLs.
Granting access to rt_user@‘localhost’ on rt4.
Done.
Now inserting RT core system objects.
[Fri Mar 2 00:22:14 2012] [warning]: DBD::mysql::st execute failed:
Unknown column
’DelegatedFrom’ in ‘where clause’ at
/usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Handle.pm line 587.
(/usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Handle.pm:587)
[Fri Mar 2 00:22:14 2012] [warning]: RT::Handle=HASH(0x354e8f8)
couldn’t execute the
query ‘SELECT * FROM ACL WHERE PrincipalType = ? AND PrincipalId = ?
AND DelegatedFrom =
? AND RightName = ? AND DelegatedBy = ? AND ObjectType = ? AND
ObjectId = ?’ at
/usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Handle.pm line 600

DBIx::SearchBuilder::Handle::SimpleQuery(‘RT::Handle=HASH(0x354e8f8)’,
‘SELECT *
FROM ACL WHERE PrincipalType = ? AND PrincipalId = …’, ‘Group’, 7,
0, ‘OwnTicket’, 0,
‘RT::System’, 1, …) called at
/usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Record.pm
line 1206

DBIx::SearchBuilder::Record::_LoadFromSQL(‘RT::ACE=HASH(0x3688320)’,
‘SELECT *
FROM ACL WHERE PrincipalType = ? AND PrincipalId = …’, ‘Group’, 7,
0, ‘OwnTicket’, 0,
‘RT::System’, 1, …) called at
/usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Record.pm
line 1125
DBIx::SearchBuilder::Record::LoadByCols(‘RT::ACE=HASH(0x3688320)’,
‘PrincipalType’, ‘Group’, ‘DelegatedFrom’, 0, ‘PrincipalId’, 7,
‘DelegatedBy’, 0, …)
called at
/usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Record/Cachable.pm
line 120

DBIx::SearchBuilder::Record::Cachable::LoadByCols(‘RT::ACE=HASH(0x3688320)’,
‘PrincipalId’, 7, ‘PrincipalType’, ‘Group’, ‘RightName’, ‘OwnTicket’,
‘ObjectType’,
‘RT::System’, …) called at
/home/jon/dist/rt-4.0.5/sbin/…/lib/RT/Record.pm line 375
RT::Record::LoadByCols(‘RT::ACE=HASH(0x3688320)’, ‘PrincipalId’, 7,
‘PrincipalType’, ‘Group’, ‘RightName’, ‘OwnTicket’, ‘ObjectType’,
‘RT::System’, …)
called at /usr/share/perl5/vendor_perl/RT/ACE_Overlay.pm line 287
RT::ACE::Create(‘RT::ACE=HASH(0x3688320)’, ‘RightName’,
‘OwnTicket’, ‘Object’,
‘RT::System=HASH(0x3688dd0)’, ‘PrincipalType’, ‘User’, ‘PrincipalId’,
6, …) called at
/usr/share/perl5/vendor_perl/RT/Principal_Overlay.pm line 168
RT::Principal::GrantRight(‘RT::Principal=HASH(0x36afa58)’,
‘Right’, ‘OwnTicket’,
‘Object’, ‘RT::System=HASH(0x3688dd0)’) called at
/home/jon/dist/rt-4.0.5/sbin/…/lib/RT/Handle.pm line 704
RT::Handle::InsertInitialData(‘RT::Handle=HASH(0x354e8f8)’) called at
sbin/rt-setup-database line 262
main::action_coredata(‘prompt-for-dba-password’, 1, ‘action’,
‘init’, ‘dba’,
‘root’) called at sbin/rt-setup-database line 198
(/usr/share/perl5/Carp.pm:65)
[Fri Mar 2 00:22:14 2012] [warning]: DBD::mysql::st execute failed:
Unknown column
’DelegatedFrom’ in ‘field list’ at
/usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Handle.pm line 587.
(/usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Handle.pm:587)
[Fri Mar 2 00:22:14 2012] [warning]: RT::Handle=HASH(0x354e8f8)
couldn’t execute the
query ‘INSERT INTO ACL (PrincipalId, DelegatedFrom, RightName,
Creator, ObjectId,
LastUpdatedBy, PrincipalType, Created, DelegatedBy, LastUpdated,
ObjectType) VALUES (?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?)’ at
/usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Handle.pm line 600

DBIx::SearchBuilder::Handle::SimpleQuery(‘RT::Handle=HASH(0x354e8f8)’,
‘INSERT
INTO ACL (PrincipalId, DelegatedFrom, RightName, Creat…’, 7, 0,
‘OwnTicket’, 1, 1, 1,
‘Group’, …) called at
/usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Handle.pm line 350

DBIx::SearchBuilder::Handle::Insert(‘RT::Handle=HASH(0x354e8f8)’, ‘ACL’,
‘PrincipalId’, 7, ‘DelegatedFrom’, 0, ‘RightName’, ‘OwnTicket’,
‘Creator’, …) called at
/usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Handle/mysql.pm line 36

DBIx::SearchBuilder::Handle::mysql::Insert(‘RT::Handle=HASH(0x354e8f8)’,
‘ACL’,
‘PrincipalId’, 7, ‘DelegatedFrom’, 0, ‘RightName’, ‘OwnTicket’,
‘Creator’, …) called at
/usr/share/perl5/vendor_perl/DBIx/SearchBuilder/Record.pm line 1292

DBIx::SearchBuilder::Record::Create(‘RT::ACE=HASH(0x3688320)’,
‘DelegatedFrom’,
0, ‘PrincipalId’, 7, ‘Creator’, 1, ‘RightName’, ‘OwnTicket’, …) called at
/home/jon/dist/rt-4.0.5/sbin/…/lib/RT/Record.pm line 316
RT::Record::Create(‘RT::ACE=HASH(0x3688320)’, ‘PrincipalId’,
7, ‘PrincipalType’,
‘Group’, ‘RightName’, ‘OwnTicket’, ‘ObjectType’, ‘RT::System’, …) called at
/usr/share/perl5/vendor_perl/RT/ACE_Overlay.pm line 298
RT::ACE::Create(‘RT::ACE=HASH(0x3688320)’, ‘RightName’,
‘OwnTicket’, ‘Object’,
‘RT::System=HASH(0x3688dd0)’, ‘PrincipalType’, ‘User’, ‘PrincipalId’,
6, …) called at
/usr/share/perl5/vendor_perl/RT/Principal_Overlay.pm line 168
RT::Principal::GrantRight(‘RT::Principal=HASH(0x36afa58)’,
‘Right’, ‘OwnTicket’,
‘Object’, ‘RT::System=HASH(0x3688dd0)’) called at
/home/jon/dist/rt-4.0.5/sbin/…/lib/RT/Handle.pm line 704
RT::Handle::InsertInitialData(‘RT::Handle=HASH(0x354e8f8)’) called at
sbin/rt-setup-database line 262
main::action_coredata(‘prompt-for-dba-password’, 1, ‘action’,
‘init’, ‘dba’,
‘root’) called at sbin/rt-setup-database line 198
(/usr/share/perl5/Carp.pm:65)
Couldn’t finish ‘coredata’ step.

ERROR: System error. Right not granted.

make: *** [initialize-database] Error 255

So it seems really important that I have a pristine RT4 database, yet the
script is dying. Below is output with no RT databases existing. Does
anyone have any
recommendations?

RT 4 is finding and loading the RT 3 libraries installed by the RPM.

This problem is because of the way Redhat packages RT; they install the
RT libraries directly into the system Perl path rather than keeping them
separate (as RT defaults to) in something like /opt/rt3/lib or
/usr/local/rt3/lib. Note the /usr/share/perl5 paths to the RT libs in
the error message.

The result of this is that if you use the RPMs you can’t have multiple
versions of RT running on the same Redhat box without using a build of
Perl that’s not the system Perl.

You should uninstall the rt3 RPM before going forward with your RT 4
source install.

Quoting Thomas Sibley trs@bestpractical.com:

You should uninstall the rt3 RPM before going forward with your RT 4
source install.

Spot on! Thank you very much, I have an empty database now.

Sorry if this is a duplicate, but I noticed that I sent this message from
a different email account, so I assume it was hung up in moderation if not
disposed of entirely.

I installed RT3 last week, and was having some problems getting it to work.
I then saw that RT4 was released (Earlier I used the package for FC16),
so I downloaded that (4.0.5) and built it. This is also running on FC16.
All packages are up to date, including CPAN stuff.

Did you install RT3 from packages? It appears you have an old copy of
RT’s ACL.pm from RT3 somewhere on your system and the RH packages
place all the RT libraries into the default perl library paths.

-kevin