?

Log in

No account? Create an account
entries friends calendar profile Мой сайт Previous Previous Next Next
Сборка fotoxx на пререлизе 2008.11 - Opensolaris
generos
ru_opensolaris
generos
Сборка fotoxx на пререлизе 2008.11
Попробовал интереса ради, как fotoxx собирается на opensolaris. Результат скорей положительный, чем отрицательный - не обошлось без хака. Для желающих повторить опыты, краткое описание процесса:


Для сборки на практически чистой сиситеме понадобилось доустановить дополнительные Х-овые инклюдники и pkg-config.

~$pfexec pkg install -v SUNWgnome-common-devel SUNWxwinc SUNWxorg-headers

Надеюсь, не надо говорить, SUNWgcc и SUNWgmake тоже нужны :-) Решил для начала собраться при помощи gcc. Получил 2 проблемы:

Первая состоит в том, что gcc использует нестандартную функцию strcasestr, что, как я понимаю есть case-insensitive (как же это будет без англоязычных жаргонизмов) вариант стандартной strstr. Поэтому не мудрствуя лукаво заменил нестандарт на стандарт.

Вторую проблему также решил при помоши грубой силы, самостоятельно определив NAN. Хоть и не эстетично, зато д¬шево, над¬жно и практично. Буду рад услышать идеи по более элегантных хаков.

Патч:

------- zfuncs.cpp -------
*** /tmp/sccs.K0aqLk 2008-12-02 03:53:25.460575867 +0300
--- zfuncs.cpp 2008-12-02 03:06:33.288396618 +0300
***************
*** 11,16 ****
--- 11,19 ----
Linux system utility functions
***************************************************************************/

+ #ifndef NAN
+ #define NAN (0.0/0.0)
+ #endif /* !NAN */

// Fatal exit with error message to stdout.
// Works like printf.
***************
*** 4788,4794 ****
if (S_ISREG(statbuf.st_mode)) { // reg. file
pp = strrchr(file,'.');
if (! pp) return 3;
! pp = strcasestr(imagefiles,pp); // supported image type
if (pp) return 2;
}

--- 4791,4800 ----
if (S_ISREG(statbuf.st_mode)) { // reg. file
pp = strrchr(file,'.');
if (! pp) return 3;
! printf( "looking for %s in %s\n", imagefiles, pp);
! pp = strstr(imagefiles,pp); // supported image type
! printf( "found %s\n", pp);
! //CH pp = strcasestr(imagefiles,pp); // supported image type
if (pp) return 2;
}






Метки: ,

1 комментарий or Оставить комментарий
Comments
From: midnight_code Date: Декабрь, 9, 2008 09:14 (UTC) (Ссылка)
Ну хорошо бы кинуть разработчикам патч и в contrib репозиторий бы выложить ;-)
1 комментарий or Оставить комментарий