Configure writes the following error messages into my apache error log:
[Sat Sep 08 16:45:36 2007] [error] [client 131.151.90.98] Subroutine TWiki::Configure::Checker::tmpfile redefined at /usr/lib/perl5/5.8.5/Exporter.pm line 65.
[Sat Sep 08 16:45:36 2007] [error] [client 131.151.90.98] at /usr/lib/perl5/5.8.5/i386-linux-thread-multi/POSIX.pm line 19
[Sat Sep 08 16:45:36 2007] [error] [client 131.151.90.98] Subroutine TWiki::Configure::Checker::tmpnam redefined at /usr/lib/perl5/5.8.5/Exporter.pm line 65.
[Sat Sep 08 16:45:36 2007] [error] [client 131.151.90.98] at /usr/lib/perl5/5.8.5/i386-linux-thread-multi/POSIX.pm line 19
[Sat Sep 08 16:46:21 2007] [error] [client 131.151.90.98] Subroutine TWiki::Configure::Checker::tmpfile redefined at /usr/lib/perl5/5.8.5/Exporter.pm line 65., referer:
http://xxxx.xxxx.xxxx/helptwiki/bin/configure
[Sat Sep 08 16:46:21 2007] [error] [client 131.151.90.98] at /usr/lib/perl5/5.8.5/i386-linux-thread-multi/POSIX.pm line 19, referer:
http://xxxx.xxxx.xxxx/helptwiki/bin/configure
[Sat Sep 08 16:46:21 2007] [error] [client 131.151.90.98] Subroutine TWiki::Configure::Checker::tmpnam redefined at /usr/lib/perl5/5.8.5/Exporter.pm line 65., referer:
http://r03venom.desktop.umr.edu/helptwiki/bin/configure
[Sat Sep 08 16:46:21 2007] [error] [client 131.151.90.98] at /usr/lib/perl5/5.8.5/i386-linux-thread-multi/POSIX.pm line 19, referer:
http://xxxx.xxxx.xxxx/helptwiki/bin/configure
--
TWiki:Main/ThomasWeigert
- 08 Sep 2007
Yes. We all have these.
And they are bogus errors. But they would be nice to avoid. Many report them in connection with unrelated bugs.
--
TWiki:Main.KennethLavrsen
- 08 Sep 2007
Quite a few packages have
use strict
outside the package, which presumably makes the scope global. It's possible that this just happens to be the first of those that's encountered during compilation, so the warnings get blamed on it. We can try moving the use strict calls inside the package declaration to see if that makes a difference.
--
TWiki:Main.CrawfordCurrie
- 09 Sep 2007
Well, that didn;t fix it. But I noticed that when we check for mudule availability we use a 'use' and not a require. On closer analysis, it emerges that
File::Temp
and
POSIX
both export the
tmpfile
symbol into the global namespace
by default. A curse on anyone who exports symbols into the global namespace! Idiots!
Anyway, we can get rid of the warning simply by doing a
require
instead of a
use
. Since this is just a compile check, we are not relying on it to provide these symbols.
CC