parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

loz 26.11.2009 02:58

Ну на самом деле все гораздо хуже.
Если следовать скрипту build-all-with-xml, то оказывается, что gc просто так не собирается в 10.6, make говорит, что
In file included from mach_dep.c:163:
/usr/include/ucontext.h:42:2: error: #error ucontext routines are deprecated, and require _XOPEN_SOURCE to be defined
Путем замены строки
# include <ucontext.h>
на
# include <sys/ucontext.h>
что-то позитивное происходит и можно заметить, что получился каталог /parser/gc/lib/, содержащий внутри libgc.a, libcord.a и т.д.

Однако при конфигурировании парсера с --with-static-gc=/parser/gc/lib я получаю, что
configure:4154: checking for libgc
configure:4178: gcc -o conftest -g -O2   conftest.c  -L/parser/gc/lib -Wl,-Bstatic -lgc -Wl,-Bdynamic >&5
ld: unknown option: -Bstatic
collect2: ld returned 1 exit status
configure:4184: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #ifdef __cplusplus
| extern "C" void exit (int);
| #endif
| #define NDEBUG
| #define PA_SAFE_MODE
| /* end confdefs.h.  */
| 
| 	extern int GC_dont_gc;
| 
| int
| main ()
| {
| 
| 	GC_dont_gc=0;
| 
|   ;
|   return 0;
| }
configure:4206: result: no
configure:4208: error: please specify path to libgc: --with-shared-gc OR --with-static-gc
Если же все вспомогательные библиотеки компилировать без static-опции, равно как и в ./configure для парсера не указывать компиляцию со статическими библиотеками, то вылезает ошибка, о которой я писал выше.

Переписать все хедеры в main попробую уже завтра.