The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Пакеты в Перл"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Пакеты в Перл"  
Сообщение от Kos84 email(ok) on 22-Ноя-07, 21:44 
Кто знает, почему не подключаются пакеты в Перл, которые на самом деле установлены.
Я пробую из командной строки perl -e "use XML::Parser" и все отлично.
Но в скрипте использую XML::Simple и он не может подключить XML::Parser.
Я понимаю, что проблема в моем скрипте. Он запускается как демон, то есть форкает себя и меняет uid gid, директория и т.п. Возможно кто то знает в чем дело?
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Пакеты в Перл"  
Сообщение от anonymous (??) on 23-Ноя-07, 03:13 
>Кто знает, почему не подключаются пакеты в Перл, которые на самом деле
>установлены.
>Я пробую из командной строки perl -e "use XML::Parser" и все отлично.
>
>Но в скрипте использую XML::Simple и он не может подключить XML::Parser.
>Я понимаю, что проблема в моем скрипте. Он запускается как демон, то
>есть форкает себя и меняет uid gid, директория и т.п. Возможно
>кто то знает в чем дело?

Возможно у вас в системе два перла, и один вы вызываете из командной строки (допустим /usr/bin/perl), а в скрипте прописан #!/usr/local/bin/perl ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Пакеты в Перл"  
Сообщение от Kos84 email(ok) on 23-Ноя-07, 13:14 
>[оверквотинг удален]
>>установлены.
>>Я пробую из командной строки perl -e "use XML::Parser" и все отлично.
>>
>>Но в скрипте использую XML::Simple и он не может подключить XML::Parser.
>>Я понимаю, что проблема в моем скрипте. Он запускается как демон, то
>>есть форкает себя и меняет uid gid, директория и т.п. Возможно
>>кто то знает в чем дело?
>
>Возможно у вас в системе два перла, и один вы вызываете из
>командной строки (допустим /usr/bin/perl), а в скрипте прописан #!/usr/local/bin/perl ?

Нашел проблему, как яч понимаю, все дело в том, что скрипт работает как демон.
Скрипт просто не мог сделать require или use. Так как ИМХО эти операции это
открытие файла. В общем все решается тем, что нужно подключить все пакеты, которые подключаются чере другие пакеты, до того как скрипт создаст потомка и поменяет ему uid и gid.
Теперь другая проблема, скрипт не может запустить другой скрипт через exec.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Пакеты в Перл"  
Сообщение от angra (ok) on 23-Ноя-07, 18:18 
А что в этом случае в $! ? Так как вы отвязаны от терминала, то запишите в файл.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Пакеты в Перл"  
Сообщение от Kos84 email(ok) on 23-Ноя-07, 21:08 
>А что в этом случае в $! ? Так как вы отвязаны
>от терминала, то запишите в файл.

Спасибо. Разобрался проблемой уже.

$! - пишет что не может найти пакет и выводит содержимое @ISA. Естественно директория, где пакет лежит там присутсвует.
Я просто включил все пакеты, которые используются до того как скрипт форкается.
А вообще как я понял все дело в chroot. Не подумал, как то что пакеты тожене будут видны.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру