* [devel] Q: размер off_t в библиотеках и в приложении
@ 2004-08-26 3:08 Dmitry Lebkov
2004-08-26 8:55 ` Dmitry V. Levin
0 siblings, 1 reply; 2+ messages in thread
From: Dmitry Lebkov @ 2004-08-26 3:08 UTC (permalink / raw)
To: devel
Доброго времени суток,
Наступил на неприятные грабли и не знаю, как их правильно
обойти. Пакет maildrop-1.7.0. В source tree входят несколько
библиотек и, собственно, сам maildrop. Каждый компонент
имеет собственный configure-скрипты. Проблема в следующем:
при сборке бинарника maildrop с поддержкой MySQL, для
инициализации переменной CPPFLAGS, используются
'mysql_config --cflags'.
$ mysql_config --cflags
-I/usr/include/mysql -pipe -march=i586 -mcpu=i686 \
-fomit-frame-pointer \
-D_FILE_OFFSET_BITS=64 \
-DHAVE_ERRNO_AS_DEFINE \
-DONE_THREAD
При сборке сопутствующих библиотек эти флаги игнорируются.
В итоге, из за '-D_FILE_OFFSET_BITS=64' получаем различный
размер типа off_t в самом приложении (8 байт) и в библиотеках
(4 байта). При вызове функций, использующих параметры типа
off_t получаем полный $%&#@*.
Вопрос: как _идеологически_верно_ обойти подобные грабли?
В случае с maildrop я просто убрал вызов 'mysql_config --cflags'
из configure, но меня терзают смутные сомнения ... %)
--
WBR, Dmitry Lebkov
PS. Отдельное спасибо Alexey Morozov <morozov@altlinux.org> за
помощь в "разборках" с этими граблями ...
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [devel] Q: размер off_t в библиотеках и в приложении
2004-08-26 3:08 [devel] Q: размер off_t в библиотеках и в приложении Dmitry Lebkov
@ 2004-08-26 8:55 ` Dmitry V. Levin
0 siblings, 0 replies; 2+ messages in thread
From: Dmitry V. Levin @ 2004-08-26 8:55 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1484 bytes --]
Hi,
On Thu, Aug 26, 2004 at 02:08:22PM +1100, Dmitry Lebkov wrote:
> Наступил на неприятные грабли и не знаю, как их правильно
> обойти. Пакет maildrop-1.7.0. В source tree входят несколько
> библиотек и, собственно, сам maildrop. Каждый компонент
> имеет собственный configure-скрипты. Проблема в следующем:
> при сборке бинарника maildrop с поддержкой MySQL, для
> инициализации переменной CPPFLAGS, используются
> 'mysql_config --cflags'.
>
> $ mysql_config --cflags
> -I/usr/include/mysql -pipe -march=i586 -mcpu=i686 \
> -fomit-frame-pointer \
> -D_FILE_OFFSET_BITS=64 \
> -DHAVE_ERRNO_AS_DEFINE \
> -DONE_THREAD
>
> При сборке сопутствующих библиотек эти флаги игнорируются.
> В итоге, из за '-D_FILE_OFFSET_BITS=64' получаем различный
> размер типа off_t в самом приложении (8 байт) и в библиотеках
> (4 байта). При вызове функций, использующих параметры типа
> off_t получаем полный $%&#@*.
Разумеется.
> Вопрос: как _идеологически_верно_ обойти подобные грабли?
Либо использовать -D_FILE_OFFSET_BITS для компиляции всего, что общается с
файловой системой, либо не использовать. Выборочное использование
чревато крупными неприятностями.
> В случае с maildrop я просто убрал вызов 'mysql_config --cflags'
> из configure, но меня терзают смутные сомнения ... %)
Тем самым вы как минимум убрали поддержку работы с >2G на 32-битных
платформах.
Рекомендую добавить в configure.ac всех библиотек AC_SYS_LARGEFILE.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2004-08-26 8:55 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-26 3:08 [devel] Q: размер off_t в библиотеках и в приложении Dmitry Lebkov
2004-08-26 8:55 ` Dmitry V. Levin
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git