RT 5 - Can't use an undefined value as an ARRAY reference

Hi All,

I am trying to setup RT 5.0.0 on CentOS with PostgreSQL 12, but I am getting the following error:

(configure line: ./configure --with-db-type=Pg)

[root@ip-XXX-XX-XX-XXX rt-5.0.0]# make initialize-database
/bin/perl -I/opt/rt5/local/lib -I/opt/rt5/lib sbin/rt-setup-database --action init --prompt-for-dba-password
In order to create or update your RT database, this script needs to connect to your Pg instance on localhost (port ‘’) as postgres
Please specify that user’s database password below. If the user has no database
password, just press return.

Password:
Working with:
Type: Pg
Host: localhost
Port:
Name: rt5
User: rt_user
DBA: postgres
Now creating a Pg database rt5 for RT.
Done.
Now populating database schema.
Done.
Now inserting database ACLs.
Done.
Now inserting RT core system objects.
[2612] [Wed Sep 30 14:58:09 2020] [critical]: Can’t use an undefined value as an ARRAY reference at /usr/lib64/perl5/vendor_perl/DBD/Pg.pm line 533. (/tmp/rt-5.0.0/sbin/…/lib/RT.pm:409)
Can’t use an undefined value as an ARRAY reference at /usr/lib64/perl5/vendor_perl/DBD/Pg.pm line 533.
make: *** [initialize-database] Error 255

Any ideas what I am missing?

Thanks in advance.

Hi all,

I am having the same exact issue on a fresh RT 5 install.
Any ideas on the resolution?
By the way, can someone share some lights on the ‘RT core system objects’ make initialize-database is trying to insert into the database?

Many thanks for your assistance

Hi all,

I think this has to do with a compatibility issue with PostgreSQL 12.
I’ve downgraded to PostgreSQL 11, and everything worked lika a charm!

I am now happily running RT 5 on PostgreSQL 11.

The core system objects are things like system user (“RT_System”), “nobody”, internal groups (“Everyone”, “Privileged”, “Unprivileged”), base role groups (“Owner”, “Requestor”, “CC”, “AdminCc”), etc. “Real” users (even root) and groups, tickets, etc are then added on top of that base.

All done in the RT::Handle’s InsertInitialData() function.

I had the same problem on Centos7 and fixed it by yum remove perl-DBD-Pg and then make fixdeps.
That installed a newer version and make initdb worked.

Joop

1 Like

Hate to ask, but I need help on this Joop1.
Can you give me the details on what you did after: yum erase perl-DBD-Pg ?
Specifically, did you compile the ‘new’ perl-DBD-Pg as your login (ie, not as root), and did you download a new perl-DBD-Pg from CPAN to build as your login?
Also, what if I installed it with CPAN? I think that is what I did, as root, on my Centos 7 VM.

Ron Helms