SID-02417: TopicClassificationAddOn install error- Insecure dependency
| Status: |
Answered |
TWiki version: |
6.1.0 |
Perl version: |
5.022004 (linux) |
| Category: |
CategoryPlugins |
Server OS: |
Linux 3.13.0-042stab134.8 (x86_64-linux) |
Last update: |
6 years ago |
Trying to install
TopicClassificationAddOn I get an error:
Error: Installer returned errors:
Insecure dependency in chdir while running with -T switch at /var/www/mytwiki.com/twiki/TopicClassificationAddOn_installer.pl line 84.
BEGIN failed--compilation aborted at /var/www/mytwiki/twiki/TopicClassificationAddOn_installer.pl line 108.
What goes wrong and how can I solve this?
--
Emiel Van Riel - 2019-10-21
Discussion and Answer
I tried the workaround of Bugs.Item6965 to remove the -T flag from the bin/configure script.
Error: Installer returned errors:
syntax error at /var/www/junobase.com/twiki/TopicClassificationAddOn_installer.pl line 133, near "$w qw(
SystemWebName TrashWebName UsersWebName )"
Global symbol "$w" requires explicit package name (did you forget to declare "my $w"?) at /var/www/junobase.com/twiki/TopicClassificationAddOn_installer.pl line 134.
Global symbol "$file" requires explicit package name (did you forget to declare "my $file"?) at /var/www/junobase.com/twiki/TopicClassificationAddOn_installer.pl line 135.
Global symbol "$file" requires explicit package name (did you forget to declare "my $file"?) at /var/www/junobase.com/twiki/TopicClassificationAddOn_installer.pl line 136.
Global symbol "$w" requires explicit package name (did you forget to declare "my $w"?) at /var/www/junobase.com/twiki/TopicClassificationAddOn_installer.pl line 136.
Global symbol "$w" requires explicit package name (did you forget to declare "my $w"?) at /var/www/junobase.com/twiki/TopicClassificationAddOn_installer.pl line 136.
syntax error at /var/www/junobase.com/twiki/TopicClassificationAddOn_installer.pl line 137, near "}"
Can't use global $1 in "my" at /var/www/junobase.com/twiki/TopicClassificationAddOn_installer.pl line 142, near "pub/$1"
Global symbol "$t" requires explicit package name (did you forget to declare "my $t"?) at /var/www/junobase.com/twiki/TopicClassificationAddOn_installer.pl line 142.
syntax error at /var/www/junobase.com/twiki/TopicClassificationAddOn_installer.pl line 143, near "}"
/var/www/junobase.com/twiki/TopicClassificationAddOn_installer.pl has too many errors.
at /var/www/junobase.com/twiki/TopicClassificationAddOn_installer.pl line 143.
require /var/www/junobase.com/twiki/TopicClassificationAddOn_installer.pl called at /var/www/junobase.com/twiki/lib/TWiki/Configure/UIs/EXTEND.pm line 177
eval {...} called at /var/www/junobase.com/twiki/lib/TWiki/Configure/UIs/EXTEND.pm line 175
TWiki::Configure::UIs::EXTEND::ui(TWiki::Configure::UIs::EXTEND=HASH(0x29357a0)) called at /var/www/junobase.com/twiki/bin/configure line 690
TWiki::_actionInstallExtension() called at /var/www/junobase.com/twiki/bin/configure line 460
at /var/www/junobase.com/twiki/lib/CGI/Carp.pm line 353.
CGI::Carp::realdie("syntax error at /var/www/junobase.com/twiki/TopicClassificati"...) called at /var/www/junobase.com/twiki/lib/CGI/Carp.pm line 443
CGI::Carp::die("syntax error at /var/www/junobase.com/twiki/TopicClassificati"...) called at /var/www/junobase.com/twiki/lib/TWiki/Configure/UIs/EXTEND.pm line 179
eval {...} called at /var/www/junobase.com/twiki/lib/TWiki/Configure/UIs/EXTEND.pm line 175
TWiki::Configure::UIs::EXTEND::ui(TWiki::Configure::UIs::EXTEND=HASH(0x29357a0)) called at /var/www/junobase.com/twiki/bin/configure line 690
TWiki::_actionInstallExtension() called at /var/www/junobase.com/twiki/bin/configure line 460
You may be able to resolve these errors and complete the installation from the command line, so I will leave the installed files where they are.
Installation finished.
I also tried to complete the installation from the command line, but this gives also an error:
mytwiki.com/twiki# perl
TopicClassificationAddOn _installer
syntax error at
TopicClassificationAddOn _installer line 133, near "$w qw(
SystemWebName TrashWebName UsersWebName )"
Global symbol "$w" requires explicit package name (did you forget to declare "my $w"?) at
TopicClassificationAddOn _installer line 134.
Global symbol "$file" requires explicit package name (did you forget to declare "my $file"?) at
TopicClassificationAddOn _installer line 135.
Global symbol "$file" requires explicit package name (did you forget to declare "my $file"?) at
TopicClassificationAddOn _installer line 136.
Global symbol "$w" requires explicit package name (did you forget to declare "my $w"?) at
TopicClassificationAddOn _installer line 136.
Global symbol "$w" requires explicit package name (did you forget to declare "my $w"?) at
TopicClassificationAddOn _installer line 136.
syntax error at
TopicClassificationAddOn _installer line 137, near "}"
Can't use global $1 in "my" at
TopicClassificationAddOn _installer line 142, near "pub/$1"
Global symbol "$t" requires explicit package name (did you forget to declare "my $t"?) at
TopicClassificationAddOn _installer line 142.
syntax error at
TopicClassificationAddOn _installer line 143, near "}"
TopicClassificationAddOn _installer has too many errors.
at
TopicClassificationAddOn _installer line 143.
--
Emiel Van Riel - 2019-10-23
Does this (also) have to do with the
defined ( ) construct?
--
Emiel Van Riel - 2019-10-26
These syntax error are not
really related to the
defined () thingy, but they also belong into the category "things which had been deprecated long ago and are now a syntax error" - in this case, the change came with Perl 5.18 (see the
perldelta entry
).
There are two instances of the bad
qw code in the installer. both in the
remap subroutine. For some context, here's how the code should look like (note the two extra pair of parentheses, highlighted in red):
sub remap {
my $file = shift;
if (defined $cfg{SitePrefsTopicName}) {
$file =~ s#^data/(TWiki|Main)/TWikiPreferences\.txt(.*)$#data/$1/$cfg{SitePrefsTopicName}.txt$2#;
}
if (defined $cfg{UsersTopicName}) {
$file =~ s#(Main)/TWikiUsers\.txt(.*)$#$1/$cfg{UsersTopicName}.txt$2#;
}
foreach my $w ( qw( SystemWebName TrashWebName UsersWebName ) ) {
if (defined $cfg{$w}) {
$file =~ s#^data/$w/#data/$cfg{$w}/#;
$file =~ s#^pub/$w/#pub/$cfg{$w}/#;
}
}
foreach my $t ( qw( NotifyTopicName HomeTopicName WebPrefsTopicName MimeTypesFileName ) ) {
if (defined $cfg{$t}) {
$file =~ s#^data/(.*)/$t\.txt(,v)?#data/$1/$cfg{$t}.txt$2/#;
$file =~ s#^pub/(.*)/$t/([^/]*)$#pub/$1/$cfg{$t}/$2/#;
}
}
return $file;
}
--
Harald Jörg - 2019-10-29
Thanks again, Harald. When I have everything working, I will see if I can contibute in fixing these bugs in CODEV.
--
Emiel Van Riel - 2019-11-06
If you answer a question - or someone answered one of your questions - please remember to edit the page and set the status to answered. The status selector is below the edit box.