** Makefile possibly broken: www/mod_perl

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
goshanecr
сержант
Сообщения: 252
Зарегистрирован: 2008-03-31 15:54:49
Откуда: Пермь, Екатеринбург
Контактная информация:

** Makefile possibly broken: www/mod_perl

Непрочитанное сообщение goshanecr » 2009-12-26 19:00:45

ОС: FreeBSD 8.0 i386

Выдаётся такая ошибка:
portupgrade -arRn

Код: Выделить всё

** Makefile possibly broken: www/mod_perl:
[: -eq: argument expected
mod_perl-1.31_1
Появилась такая проблема совершенно внезапно... Ну может я комп некорректно выключил, что-то было примерно в эти же дни.
Смотрел Makefile этого порта.. брал с freebsd.org просто заново все файлы порта этого mod_perl. В инете советы с подобными ошибками порт переустановить.. Не понимаю как это может помочь, ведь при работе с портами файлы порта не изменяются.. но сделал, не помогло.

Как это вылечить? Уже несколько раз делал portsnap fetch update, тоже не даёт эффекта. Может уже надо снести папку /usr/ports и portsnap fetch extract?
Последний раз редактировалось f_andrey 2009-12-26 20:59:37, всего редактировалось 1 раз.
Причина: А блин опять лис гробокопательствует :) а я сразу то и не обратил внимания
Люблю в инете шарить. И браузер мой только Opera !!!
Пользователям стараюсь ставить дистр Ubuntu. Уже 3 человека пересели.
Домашний комп FreeBSD 9.0 amd64
FreeBSD - изменим жизнь к лучшему!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: ** Makefile possibly broken: www/mod_perl

Непрочитанное сообщение ProFTP » 2009-12-27 2:46:24

для какого апача ставишь? для певрого?
если для второго, то должно быть www/mod_perl2

если, нет, то порт сбитый, попробуй другой найти
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
goshanecr
сержант
Сообщения: 252
Зарегистрирован: 2008-03-31 15:54:49
Откуда: Пермь, Екатеринбург
Контактная информация:

Re: ** Makefile possibly broken: www/mod_perl

Непрочитанное сообщение goshanecr » 2009-12-27 2:59:49

Версия апача 1.3.41
Порт не может быть битым, потому как тут видно что порт не менялся как минимум несколько месяцев, и у меня такой проблемы не было до совсем недавнего времени. Не мог же этот порт быть нормальным, а потом не меняясь стать битым? Да и в /usr/ports/UPDATING думаю отписались бы.
Люблю в инете шарить. И браузер мой только Opera !!!
Пользователям стараюсь ставить дистр Ubuntu. Уже 3 человека пересели.
Домашний комп FreeBSD 9.0 amd64
FreeBSD - изменим жизнь к лучшему!

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: ** Makefile possibly broken: www/mod_perl

Непрочитанное сообщение ProFTP » 2009-12-27 3:02:40

у меня работает:

Код: Выделить всё

# make 
===>  mod_perl-1.31_1 : Error from bsd.apache.mk. apache22 is installed (or APACHE_PORT is defined) and port requires 1.3.
*** Error code 1

Stop in /home/ports2/ports/www/mod_perl.
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
goshanecr
сержант
Сообщения: 252
Зарегистрирован: 2008-03-31 15:54:49
Откуда: Пермь, Екатеринбург
Контактная информация:

Re: ** Makefile possibly broken: www/mod_perl

Непрочитанное сообщение goshanecr » 2009-12-27 3:52:04

у меня вот так:
make

Код: Выделить всё

[: -eq: argument expected
Причём дальше не обрывается ошибкой, а идёт сборка порта. Установка, деинсталляция и т.д. А вот portupgrade вылетает.
Как понять, где в этой системе портов что-то нарушилось?
Люблю в инете шарить. И браузер мой только Opera !!!
Пользователям стараюсь ставить дистр Ubuntu. Уже 3 человека пересели.
Домашний комп FreeBSD 9.0 amd64
FreeBSD - изменим жизнь к лучшему!

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: ** Makefile possibly broken: www/mod_perl

Непрочитанное сообщение ProFTP » 2009-12-27 3:53:35

goshanecr писал(а):у меня вот так:
make

Код: Выделить всё

[: -eq: argument expected
Причём дальше не обрывается ошибкой, а идёт сборка порта. Установка, деинсталляция и т.д. А вот portupgrade вылетает.
Как понять, где в этой системе портов что-то нарушилось?
логично попробовать другой порт поставить какой-то, если он вылетает, то значит что-то нарушилось...

а зачем ты ставишь mod_perl? скоере всего в CGI можно запустить :)
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
goshanecr
сержант
Сообщения: 252
Зарегистрирован: 2008-03-31 15:54:49
Откуда: Пермь, Екатеринбург
Контактная информация:

Re: ** Makefile possibly broken: www/mod_perl

Непрочитанное сообщение goshanecr » 2009-12-27 11:00:36

Я не ставлю mod_perl. Такая хренотень вылезла при очередном portsnap fetch update && portupgrade -arRn . mod_perl установлен видимо как зависимость чего-то установленного. В других портах ничего подобного нет. Ну в смысле ошибки не лезут при работе с ними.
Люблю в инете шарить. И браузер мой только Opera !!!
Пользователям стараюсь ставить дистр Ubuntu. Уже 3 человека пересели.
Домашний комп FreeBSD 9.0 amd64
FreeBSD - изменим жизнь к лучшему!

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: ** Makefile possibly broken: www/mod_perl

Непрочитанное сообщение ProFTP » 2009-12-27 14:59:37

goshanecr писал(а):Я не ставлю mod_perl. Такая хренотень вылезла при очередном portsnap fetch update && portupgrade -arRn . mod_perl установлен видимо как зависимость чего-то установленного. В других портах ничего подобного нет. Ну в смысле ошибки не лезут при работе с ними.
ну и что, что происходит?

обновлять надо по одному порту каждый, порт может бытый и нихрена не обновит portupgrade -arRn

вот попробуй это:

Код: Выделить всё

#!/usr/bin/perl

$nn = 0;

while (1) {

    $nn++;

    open( OPERN, "portversion |" );

    @all = <OPERN>;

    if ( $nn > 6 ) {
    print "while 6 exit";
    exit;
    }

    foreach (@all) {

        my ( $pp, $st ) = split( / /, $_, 2 );

        if ( $st =~ '<' ) {

            print "UPDATE: $pp\n";

            system("portupgrade -f $pp");  


        } else {
            print "ok UPDATE";
            exit;
        }
    }

}
а если много чего не обновленно, то этот:
(но конечно чтобы не очень критично было)

Код: Выделить всё

#!/usr/bin/perl

$nn = 0;

while (1) {

    $nn++;

    open( OPERN, "portversion |" );

    my @all2 = <OPERN>;

    close OPERN;

    my @all;

    for ( $i = 0 ; $i < @all2 ; $i++ ) {

        my ( $pp, $st ) = split( / /, $all2[$i], 2 );
        if ( $st =~ '<' ) {

            push @all, $pp;    # $all[$i] = $pp;

        }

    }

    exit if ( !$all[0] || $nn > 2 );

    while (1) {

        last if !$all[0];

        print "$all[0]\n";

        logsave( get_time(), $all[0] );

        system("portupgrade -rf $all[0]");  
      # system("portupgrade -Rf $all[0]");

      # первый порт попробовать обновить вдоль и поперек
      # (выше system нужно закомментировать)
      # if ($nn == 1) {
      #  system("portupgrade -rRf $all[0]");
      #  } else {
      #  system("portupgrade -rf $all[0]");
      #  }

   #  экспериментально: 
   #  можно добавить чтобы скрипт автоматически нажимал на энтер
   #    use IO::Select;  
   #     my $select = IO::Select->new;
   #    for(@array) 
   #     open my $pipe, "|$_";
   #     $select->add($pipe);
   #    }
   #    my @waiters = $select->can_write($timeout);
   #    print $_ "\x0a" for @waiters; 


        logsave( get_time(), $all[0] );

        shift @all;

        my @all = old(@all);

    }

}

sub old {

    my @all = @_;

    open( OPEN2, "portversion |" );

    my @all_all = <OPEN2>;

    close OPEN2;

    my @old;
    my @no_old;

    foreach my $p (@all_all) {

        my ( $pname, $status ) = split( / /, $p, 2 );

        if ( $status =~ '<' ) {

            push @old, $pname;

        }
        else {
            push @no_old, $pname;
        }
    }

    my %seen;
    @seen{@all} = ();
    delete @seen{@no_old};
    return keys %seen;

}

sub get_time {
    my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) =
      localtime(time);
    $mon++;
    $year += 1900;
    if ( $mday < 10 ) { $mday = "0$mday"; }
    if ( $mon < 10 )  { $mon  = "0$mon"; }
    if ( $min < 10 )  { $min  = "0$min"; }
    my $date        = "$mday $mon $year";
    my $time        = "$hour:$min:$sec";
    my $cur_all_day = $mday + $mon * 30 + $year * 365;
    my $radate      = "$year-$mon-$mday $hour:$min:$sec";
    return $radate;
}


sub logsave {
    my ( $time, $ports ) = @_;
    my $logfile;
    $logfile = "\n time:  $time \n  ports: $ports \n\n";
    system("touch /var/log/portupgrade.log");
    open( DB2, "/var/log/portupgrade.log" ) || die "Cannot open file: $!";
    my @base = <DB2>;
    close(DB2);
    open( DB, ">/var/log/portupgrade.log" ) || die "Cannot open file : $!";
    print DB @base;
    print DB $logfile;
    close(DB);
}

http://www.lissyara.su/articles/freebsd ... t_upgrade/
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
goshanecr
сержант
Сообщения: 252
Зарегистрирован: 2008-03-31 15:54:49
Откуда: Пермь, Екатеринбург
Контактная информация:

Re: ** Makefile possibly broken: www/mod_perl

Непрочитанное сообщение goshanecr » 2009-12-27 15:38:12

Послушай друг, можно я попрошу тебя последовательно ответить на следующие вопросы, чтобы мистику тут не плодить:
1. Как порт этот может ВДРУГ НИ С ТОГО, НИ С СЕГО стать битым, если последние изменения в этот порт вносились несколько месяцев назад и до недавнего момента с этим портом всё было в порядке, он стоял как зависимость OCS Inventory и не был битым?
2. Не отвечая на предыдущий вопрос, а лишь повторяя раз за разом, что порт может быть битым, ты тем самым предполагаешь что наша всеми любимая ОС FreeBSD имеет некую мистическую способность внезапно помирать?

Решил чтобы как-то избавиться от этой проблемы, снести ocsinventory чтоб зависимостью не ставился этот mod_perl. Так вот в нём при make deinstall также есть сообщение:

Код: Выделить всё

[: -le : argument expected
Может что-то нарушилось в системе портов? Если я сделаю:

Код: Выделить всё

rm -rf /usr/ports
portsnap fetch extract
Ничего же ужасного не должно произойти?
Люблю в инете шарить. И браузер мой только Opera !!!
Пользователям стараюсь ставить дистр Ubuntu. Уже 3 человека пересели.
Домашний комп FreeBSD 9.0 amd64
FreeBSD - изменим жизнь к лучшему!

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: ** Makefile possibly broken: www/mod_perl

Непрочитанное сообщение ProFTP » 2009-12-27 15:43:11

1. Скорее всего
2. А другие порты ставятся?

3. rm -rf /usr/ports можно

вот архив ftp://ftp2.ua.freebsd.org/pub/FreeBSD/p ... rts.tar.gz
удалить старые и разпаковать новые... или portsnap fetch extract

ЗЫ если другие ставтся, то значит порты не битые, а битый только этот (вообще-то я не телепат, я не знаю что там у вас, у меня под рукой этого нету....)
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение