опробовал интереса ради, как fotoxx собирается на opensolaris. Результат скорей положительный, чем отрицательный - не обошлось без хака. Для желающих повторить опыты, краткое описание процесса:
Для сборки на практически чистой сиситеме понадобилось доустановить дополнительные Х-овые инклюдники и pkg-config.
Надеюсь, не надо говорить, SUNWgcc и SUNWgmake тоже нужны :-) Решил для начала собраться при помощи gcc. Получил 2 проблемы:
Первая состоит в том, что gcc использует нестандартную функцию strcasestr, что, как я понимаю есть case-insensitive (как же это будет без англоязычных жаргонизмов) вариант стандартной strstr. Поэтому не мудрствуя лукаво заменил нестандарт на стандарт. Это, конечно, не хорошо, но для того, что мне было нужно - прокатило.
Вторую проблему также решил при помоши грубой силы, самостоятельно определив NAN. Хоть и не эстетично, зато дёшево, надёжно и практично. Буду рад услышать идеи по более элегантных хаков.
Патч:
Для сборки на практически чистой сиситеме понадобилось доустановить дополнительные Х-овые инклюдники и 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;
}
Комментариев нет:
Отправить комментарий