[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