Undefined subroutine &RT::Interface::Email::GetForwardFrom after upgrade to 4.0.2 from 4.0.1

Hi,

Anybody else get this error after upgrading to 4.0.2 from 4.0.1?

“Undefined subroutine &RT::Interface::email::GetForwardFrom called at /opt/rt4/share/html/Ticket/Forward.html line 115.”

I checked and found that the RT/Interface/Email.pm file had not been updated in the upgrade, thus the lack of a GetForwardFrom routine.

Here’s my output from “make upgrade”:

/usr/bin/perl ./sbin/rt-test-dependencies --verbose --with-mysql --with-modperl2
perl:
>=5.8.3(5.10.1) …found
users:
rt group (www-data) …found
bin owner (root) …found
libs owner (root) …found
libs group (bin) …found
web owner (www-data) …found
web group (www-data) …found
CLI dependencies:
Term::ReadKey …found
Getopt::Long >= 2.24 …found
HTTP::Request::Common …found
Term::ReadLine …found
Text::ParseWords …found
LWP …found
CORE dependencies:
DateTime >= 0.44 …found
Class::ReturnValue >= 0.40 …found
Text::Quoted >= 2.02 …found
Regexp::IPv6 …found
CSS::Squish >= 0.06 …found
Encode >= 2.39 …found
DateTime::Locale >= 0.40 …found
Module::Versions::Report >= 1.05 …found
MIME::Entity >= 5.425 …found
Digest::SHA …found
List::MoreUtils …found
DBI >= 1.37 …found
Locale::Maketext::Lexicon >= 0.32 …found
Devel::StackTrace >= 1.19 …found
Digest::base …found
Text::Password::Pronounceable …found
Devel::GlobalDestruction …found
Time::ParseDate …found
File::Temp >= 0.19 …found
Locale::Maketext >= 1.06 …found
Tree::Simple >= 1.04 …found
Text::Template >= 1.44 …found
Scalar::Util …found
HTML::Quoted …found
HTML::Scrubber >= 0.08 …found
File::Spec >= 0.8 …found
DBIx::SearchBuilder >= 1.59 …found
Sys::Syslog >= 0.16 …found
Mail::Mailer >= 1.57 …found
File::ShareDir …found
Regexp::Common …found
Digest::MD5 >= 2.27 …found
HTML::Entities …found
Cache::Simple::TimedExpiry …found
File::Glob …found
Class::Accessor >= 0.34 …found
Locale::Maketext::Fuzzy …found
Time::HiRes …found
Text::Wrapper …found
Regexp::Common::net::CIDR …found
Net::CIDR …found
Log::Dispatch >= 2.23 …found
UNIVERSAL::require …found
Email::Address …found
DASHBOARDS dependencies:
HTML::RewriteAttributes >= 0.04 …found
MIME::Types …found
GD dependencies:
GD::Text …found
GD …found
GD::Graph …found
GPG dependencies:
PerlIO::eol …found
GnuPG::Interface …found
GRAPHVIZ dependencies:
IPC::Run …found
GraphViz …found
ICAL dependencies:
Data::ICal …found
MAILGATE dependencies:
Pod::Usage …found
HTML::TreeBuilder …found
Getopt::Long …found
HTML::FormatText …found
LWP::UserAgent …found
MASON dependencies:
Storable >= 2.08 …found
CSS::Squish >= 0.06 …found
Apache::Session >= 1.53 …found
Errno …found
Devel::StackTrace >= 1.19 …found
IPC::Run3 …found
CGI::Cookie >= 1.20 …found
Text::WikiFormat >= 0.76 …found
XML::RSS >= 1.05 …found
HTML::Mason >= 1.43 …found
Digest::MD5 >= 2.27 …found
JSON …found
MODPERL2 dependencies:
Apache::DBI …found
HTML::Mason >= 1.36 …found
MYSQL dependencies:
DBD::mysql >= 2.1018 …found
PSGI dependencies:
CGI::Emulate::PSGI …found
CGI >= 3.38 …found
CGI::PSGI >= 0.12 …found
HTML::Mason::PSGIHandler >= 0.52 …found
Plack >= 0.9971 …found
Plack::Handler::Starlet …found
SMTP dependencies:
Net::SMTP …found
USERLOGO dependencies:
Convert::Color …found

All dependencies have been found.
/usr/bin/install -c -m 0755 -o root -g www-data -d /opt/rt4/etc
/usr/bin/install -c -m 0440 -o root -g www-data etc/RT_Config.pm /opt/rt4/etc/RT_Config.pm
[ -f /opt/rt4/etc/RT_SiteConfig.pm ] || /usr/bin/install -c -m 0640 -o root -g www-data etc/RT_SiteConfig.pm /opt/rt4/etc/RT_SiteConfig.pm
Installed configuration. About to install RT in /opt/rt4
/usr/bin/install -c -m 0755 -d /opt/rt4/var/log
/usr/bin/install -c -m 0755 -d /opt/rt4/share/fonts
/usr/bin/install -c -m 0755 -d /opt/rt4/share/po
/usr/bin/install -c -m 0770 -d /opt/rt4/var/mason_data
/usr/bin/install -c -m 0770 -d /opt/rt4/var/mason_data/cache
/usr/bin/install -c -m 0770 -d /opt/rt4/var/mason_data/etc
/usr/bin/install -c -m 0770 -d /opt/rt4/var/mason_data/obj
/usr/bin/install -c -m 0770 -d /opt/rt4/var/session_data
/usr/bin/install -c -m 0755 -d /opt/rt4/share/html
/usr/bin/install -c -m 0755 -d /opt/rt4/local/html
/usr/bin/install -c -m 0755 -d /opt/rt4/local/etc
/usr/bin/install -c -m 0755 -d /opt/rt4/local/lib
/usr/bin/install -c -m 0755 -d /opt/rt4/local/plugins
/usr/bin/install -c -m 0755 -d /opt/rt4/local/po
[ -d /opt/rt4/lib ] || /usr/bin/install -c -m 0755 -d /opt/rt4/lib
( cd lib && find . -type d -print ) | while read dir ; do
/usr/bin/install -c -m 0755 -d “/opt/rt4/lib/$dir” ;
done
( cd lib && find . -type f -print ) | while read file ; do
/usr/bin/install -c -m 0644 “lib/$file” “/opt/rt4/lib/$file” ;
done
[ -d /opt/rt4/etc ] || /usr/bin/install -c -m 0755 -d /opt/rt4/etc
for file in acl.Pg acl.Oracle acl.mysql schema.Pg schema.Oracle schema.mysql schema.SQLite initialdata ; do
/usr/bin/install -c -m 0644 “etc/$file” “/opt/rt4/etc/” ;
done
/usr/bin/install -c -m 0755 -d /opt/rt4/bin
for file in rt-mailgate rt rt-crontool ; do
/usr/bin/install -c -o root -g www-data -m 0755 “bin/$file” “/opt/rt4/bin/” ;
done
/usr/bin/install -c -m 0755 -d /opt/rt4/sbin
for file in rt-attributes-viewer rt-clean-sessions rt-dump-metadata rt-email-dashboards rt-email-digest rt-email-group-admin rt-fulltext-indexer rt-preferences-viewer rt-server rt-server.fcgi rt-session-viewer rt-setup-database rt-setup-fulltext-index rt-shredder rt-test-dependencies rt-validator standalone_httpd ; do
/usr/bin/install -c -o root -g www-data -m 0755 “sbin/$file” “/opt/rt4/sbin/” ;
done
[ -d /opt/rt4/share/html ] || /usr/bin/install -c -m 0755 -d /opt/rt4/share/html
( cd share/html && find . -type d -print ) | while read dir ; do
/usr/bin/install -c -m 0755 -d “/opt/rt4/share/html/$dir” ;
done
( cd share/html && find . -type f -print ) | while read file ; do
/usr/bin/install -c -m 0644 “share/html/$file” “/opt/rt4/share/html/$file” ;
done
( cd local/html && find . -type d -print ) | while read dir ; do
/usr/bin/install -c -m 0755 -d “/opt/rt4/local/html/$dir” ;
done
( cd local/html && find . -type f -print ) | while read file ; do
/usr/bin/install -c -m 0644 “local/html/$file” “/opt/rt4/local/html/$file” ;
done
( cd local/po && find . -type d -print ) | while read dir ; do
/usr/bin/install -c -m 0755 -d “/opt/rt4/local/po/$dir” ;
done
( cd local/po && find . -type f -print ) | while read file ; do
/usr/bin/install -c -m 0644 “local/po/$file” “/opt/rt4/local/po/$file” ;
done
( cd local/etc && find . -type d -print ) | while read dir ; do
/usr/bin/install -c -m 0755 -d “/opt/rt4/local/etc/$dir” ;
done
( cd local/etc && find . -type f -print ) | while read file ; do
/usr/bin/install -c -m 0644 “etc/$file” “/opt/rt4/local/etc/$file” ;
done

RT 3.0.0 - RT 3.0.2 would accidentally create a file instead of a dir

[ -f /opt/rt4/docs ] && rm /opt/rt4/docs
[ -d /opt/rt4/docs ] || /usr/bin/install -c -m 0755 -d /opt/rt4/docs
( cd docs && find . -type d -print ) | while read dir ; do
/usr/bin/install -c -m 0755 -d “/opt/rt4/docs/$dir” ;
done
( cd docs && find . -type f -print ) | while read file ; do
/usr/bin/install -c -m 0644 “docs/$file” “/opt/rt4/docs/$file” ;
done
/usr/bin/install -c -m 0644 ./README /opt/rt4/docs/
[ -d /opt/rt4/share/fonts ] || /usr/bin/install -c -m 0755 -d /opt/rt4/share/fonts
( cd share/fonts && find . -type f -print ) | while read file ; do
/usr/bin/install -c -m 0644 “share/fonts/$file” “/opt/rt4/share/fonts/$file” ;
done
[ -d /opt/rt4/share/po ] || /usr/bin/install -c -m 0755 -d /opt/rt4/share/po
( cd share/po && find . -type f -print ) | while read file ; do
/usr/bin/install -c -m 0644 “share/po/$file” “/opt/rt4/share/po/$file” ;
done

Make the libraries readable

chmod 0755 /opt/rt4
chown -R root /opt/rt4/lib
chgrp -R bin /opt/rt4/lib
chmod -R u+rwX,go-w,go+rX /opt/rt4/lib
chmod 0755 /opt/rt4/bin
chmod 0755 /opt/rt4/etc
cd /opt/rt4/etc && chmod 0400 acl.Pg acl.Oracle acl.mysql schema.Pg schema.Oracle schema.mysql schema.SQLite initialdata
#TODO: the config file should probably be able to have its

owner set separately from the binaries.

chown -R root /opt/rt4/etc
chgrp -R www-data /opt/rt4/etc
chmod 0440 /opt/rt4/etc/RT_Config.pm
chmod 0640 /opt/rt4/etc/RT_SiteConfig.pm

Make the system binaries

cd /opt/rt4/bin && ( chmod 0755 rt-mailgate rt rt-crontool ; chown root rt-mailgate rt rt-crontool; chgrp www-data rt-mailgate rt rt-crontool)

Make the system binaries executable also

cd /opt/rt4/sbin && ( chmod 0755 rt-attributes-viewer rt-clean-sessions rt-dump-metadata rt-email-dashboards rt-email-digest rt-email-group-admin rt-fulltext-indexer rt-preferences-viewer rt-server rt-server.fcgi rt-session-viewer rt-setup-database rt-setup-fulltext-index rt-shredder rt-test-dependencies rt-validator standalone_httpd ; chown root rt-attributes-viewer rt-clean-sessions rt-dump-metadata rt-email-dashboards rt-email-digest rt-email-group-admin rt-fulltext-indexer rt-preferences-viewer rt-server rt-server.fcgi rt-session-viewer rt-setup-database rt-setup-fulltext-index rt-shredder rt-test-dependencies rt-validator standalone_httpd; chgrp www-data rt-attributes-viewer rt-clean-sessions rt-dump-metadata rt-email-dashboards rt-email-digest rt-email-group-admin rt-fulltext-indexer rt-preferences-viewer rt-server rt-server.fcgi rt-session-viewer rt-setup-database rt-setup-fulltext-index rt-shredder rt-test-dependencies rt-validator standalone_httpd)

Make the web ui readable by all.

chmod -R u+rwX,go-w,go+rX /opt/rt4/share/html
/opt/rt4/local/html
/opt/rt4/share/po
/opt/rt4/local/po
chown -R root /opt/rt4/share/html
/opt/rt4/local/html
/opt/rt4/share/po
/opt/rt4/local/po
chgrp -R bin /opt/rt4/share/html
/opt/rt4/local/html
/opt/rt4/share/po
/opt/rt4/local/po

Make the web ui’s data dir writable

chmod 0770 /opt/rt4/var/mason_data
/opt/rt4/var/session_data
chown -R www-data /opt/rt4/var/mason_data
/opt/rt4/var/session_data
chgrp -R www-data /opt/rt4/var/mason_data
/opt/rt4/var/session_data
Congratulations. RT has been upgraded. You should now check over
/opt/rt4/etc/RT_Config.pm for any necessary site customization. Additionally,
you should update RT’s system database objects by running
/opt/rt4/sbin/rt-setup-database --prompt-for-dba-password --action upgrade

Thanks,
Michael

Anybody else get this error after upgrading to 4.0.2 from 4.0.1?

“Undefined subroutine &RT::Interface::email::GetForwardFrom called at
/opt/rt4/share/html/Ticket/Forward.html line 115.”

Nope, we didn’t get that error when we upgraded 4.0.1 instances to
4.0.2. http://issues.bestpractical.com, for example, doesn’t exhibit that.

I checked and found that the RT/Interface/Email.pm file had not been
updated in the upgrade, thus the lack of a GetForwardFrom routine.

That’s unusual. Send the output of this command:

find /opt/rt4/ -not -path ‘/man/’ -type f -path ‘/local/’ -or -regex
‘.*?_(Overlay|Local|Vendor).pm’

Thomas

Hi,

Anybody else get this error after upgrading to 4.0.2 from 4.0.1?

“Undefined subroutine &RT::Interface::email::GetForwardFrom called at /opt/rt4/share/html/Ticket/Forward.html line 115.”

I checked and found that the RT/Interface/Email.pm file had not been updated in the upgrade, thus the lack of a GetForwardFrom routine.

The problem seems to have been that my bash environment had a CDPATH setting that apparently confused the library installation routine.

CDPATH=/home/admin

It looks like the installation script "cd"ed into /home/admin/lib instead of /usr/src/rt-4.0.2/lib – I ended up with directories from /home/admin/lib in /opt/rt4/lib

“unset CDPATH” followed by a “make upgrade” fixed the problem.

Thanks,
Michael