[devel] Помогите собрать mysql-mmm
thecrux на gmail.com
thecrux на gmail.com
Ср Авг 3 06:02:27 UTC 2011
On Tue, Aug 02, 2011 at 06:28:41PM -0400, Dubrovskiy Viacheslav wrote:
> Спасибо.
> теперь там такое вылазит:
>
> Bareword "main::MMM_PROTOCOL_VERSION" not allowed while "strict subs" in
> use at
> /usr/src/tmp/mysql-mmm-buildroot/usr/share/perl5/MMM/Agent/Agent.pm line 90.
> Bareword "main::MMM_PROTOCOL_VERSION" not allowed while "strict subs" in
> use at
> /usr/src/tmp/mysql-mmm-buildroot/usr/share/perl5/MMM/Agent/Agent.pm line 91.
> /usr/src/tmp/mysql-mmm-buildroot/usr/share/perl5/MMM/Agent/Agent.pm had
> compilation errors.
Константа MMM_PROTOCOL_VERSION определена в скрипте, который вызывает этот
модуль. Поэтому на этапе проверки синтаксиса модуля это ошибка, но при вызове
из скрипта - всё будет работать.
Для решения проблемы можно добавить префикс '&', т.е.
&main::MMM_PROTOCOL_VERSION
используя тот факт, что все скалярные константы в perl на самом деле inline
процедуры.
Или, как вариант, выделить проблемный блок и указать в нём директиву
`no strict 'subs';` :
-
- if ($version > main::MMM_PROTOCOL_VERSION) {
- WARN "Version in command '$cmd_name' ($version) is greater than mine (", main::MMM_PROTOCOL_VERSION, ")"
- }
+
+ {
+ no strict 'subs';
+ if ($version > main::MMM_PROTOCOL_VERSION) {
+ WARN "Version in command '$cmd_name' ($version) is greater than mine (", main::MMM_PROTOCOL_VERSION, ")"
+ }
+ }
--
Vladimir Lettiev aka crux ✉ theCrux на gmail.com
Подробная информация о списке рассылки Devel