[ekg2-devel] Kompilacja pod Solarisem
Wojciech Szymak
szymak w gmail.com
Sob, 8 Wrz 2007, 00:49:51 CEST
Witam.
Mam uwagi co do kompilacji ekg2 pod Solarisem.
Pierwsza sprawa dotyczy maka _POSIX_PATH_MAX, które jest używane w
kodzie ekg2. Pod Solaisem jest ono w pliku limits.h, jednak jego
includowanie nie wystarczy. Na drodze dla preprocesora stoi jeszcze
takie makro:
#if defined(__EXTENSIONS__) || !defined(_STRICT_STDC) ||
defined(__XOPEN_OR_POSIX)
Ponieważ domyślną opcją ustawianą dla gcc jest -std=c99, _STRICT_STDC
jest zdefiniowan. Aby _POSIX_PATH_MAX było dostępne można zrobić jedną
z kilku rzeczy:
1) zdefiniować _XOPEN_SOURCE=600
Z tego co pamiętam inne wartości nie wchodzą w grę przy -std=c99
2) zdefiniować _POSIX_C_SOURCE=200112L
Tu również inne wartości nie wchodzą w grę przy -std=c99
3) zdefiniować __EXTENSIONS__
4) usunąć -std=c99, ale...
Nie byłoby najlepszym pomysłem, gdyż wtedy problemem byłaby kompilacja
pluginu python (Python.h wymusza XPG6) z powodu:
/*
* It is invalid to compile an XPG3, XPG4, XPG4v2, or XPG5 application
* using c99. The same is true for POSIX.1-1990, POSIX.2-1992, POSIX.1b,
* and POSIX.1c applications. Likewise, it is invalid to compile an XPG6
* or a POSIX.1-2001 application with anything other than a c99 or later
* compiler. Therefore, we force an error in both cases.
*/
Oczywiście wszelkie połączenia trzech pierwszych opcji również są dopuszczalne.
Drugą sprawę opisałem już na bugs.ekg2.org, lecz deweloperzy nie
zaglądają tam raczej codziennie, więc podam tu link do opisu problemu:
http://bugs.ekg2.org/task/94
Dziękuję za uwagę. Zapraszam na kolejny odcinek informacji o Solarisie
i innych "kfiatkach" przy kompilacji lub uruchamianiu ekg2 na tym
systemie. ;-)
--
Pozdrawiam
Wojciech Szymak
Więcej informacji o liście dyskusyjnej ekg2-devel