The OpenNET Project / Index page

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

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

"Не работают регулярки при shared компиляции проекта"  
Сообщение от pipll (ok) on 30-Май-06, 12:04 
Есть проект, использующий pcre libs.
На одном сервере (linux 2.6.15, gcc 3.4.4, pcre 6.3) исполняемый файл с shared и static линковкой работает отлично, а вот на другом (linux 2.4.21, gcc 3.2.3, pcre 6.3) static работает, а вот при shared линковке отказываются работать регулярки.

Флаги компиляции:
static:
`pcre-config --cflags-posix` `pcre-config --libs-posix` -lpthread -static
shared:
`pcre-config --cflags-posix` `pcre-config --libs-posix` -lpthread

Подскажите, пожалуйста, в чем может быть проблема?

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

 Оглавление

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


1. "Не работают регулярки при shared компиляции проекта"  
Сообщение от DeadMustdie email(??) on 30-Май-06, 13:31 
Выражение "отказываются работать" вряд ли может помочь в поиске проблемы.
Details, please.

А так - первое подозрение: при статической линковке линкуется одна ("работающая")
библиотека, при динамической - естественно, другая (вероятно, "неработающая").

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

2. "Не работают регулярки при shared компиляции проекта"  
Сообщение от pipll (ok) on 01-Июн-06, 13:08 
>Details, please.

Да нет, проблема не в этом... Я тут опреднлил, что регулятка типа "&?([^=]+)=([^&]+)" парсится нормально, а вот "<SearchResultItemArray>(.*?)<\\/SearchResultItemArray>" уже не парсится (при shared).

Т.е. regcomp() отрабатывает, а вот regexec() уже нет...

Повторяю, при static все работает.

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

3. "Не работают регулярки при shared компиляции проекта"  
Сообщение от DeadMustdie email(??) on 03-Июн-06, 21:20 
>Повторяю, при static все работает.

Тогда вариантов всего два:

1. Криво собран pcre - так, что в динамически слинкованной версиипроявляется некий баг.

2. При динамической линковке линкуется "не та", левая какая-нибудь библиотека. Либо линкуется правильная, а при запуске грузится неправильная. Дефольная системная, скажем - если pcre доставлялось дополнительно ручками.

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

4. "Не работают регулярки при shared компиляции проекта"  
Сообщение от pipll (ok) on 05-Июн-06, 13:44 
>>Повторяю, при static все работает.
>
>Тогда вариантов всего два:
>
>1. Криво собран pcre - так, что в динамически слинкованной версиипроявляется некий
>баг.
>
>2. При динамической линковке линкуется "не та", левая какая-нибудь библиотека. Либо линкуется
>правильная, а при запуске грузится неправильная. Дефольная системная, скажем - если
>pcre доставлялось дополнительно ручками.

Заработало. Спасибо.
Действительно, дело было в старых библиотеках, которые линковались при shared компиляции.

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

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

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




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

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