Невозможно скомпилировать bnull-transform.c - Apache Traffic Server

Я пытаюсь запустить пример bnull-transform сервера трафика Apache. Сделав несколько изменений, которых нет в github-версии кода, я наконец-то смог устранить ошибки. Но когда я компилирую его с помощью gcc, я получаю следующие ошибки -

/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o: в функции _start': (.text+0x20): undefined reference tomain' /tmp/cc5gVORu.o: в функции my_data_alloc': bnull-transform.c:(.text+0x13): undefined reference to_TSmalloc' /tmp/cc5gVORu.o: в функции my_data_destroy': bnull-transform.c:(.text+0x7b): undefined reference toTSIOBufferDestroy' bnull-transform.c:(. Text+0x87): неопределенная ссылка на _TSfree' /tmp/cc5gVORu.o: In functionhandle_buffering': bnull-transform.c:(.text+0xa8): неопределенная ссылка на TSVConnWriteVIOGet' bnull-transform.c:(.text+0xbe): undefined reference toTSIOBufferCreate' bnull-transform.c:(. Text+0xe7): неопределенная ссылка на _TSAssert' bnull-transform.c:(.text+0xf9): undefined reference toTSIOBufferReaderAlloc' bnull-transform.c:(. Text+0x122): неопределенная ссылка на _TSAssert' bnull-transform.c:(.text+0x130): undefined reference toTSVIOBufferGet' bnull-transform.c:(. Text+0x155): неопределенная ссылка на TSVIONTodoGet' bnull-transform.c:(.text+0x16e): undefined reference toTSVIOReaderGet' bnull-transform.c:(. Text+0x176): неопределенная ссылка на TSIOBufferReaderAvail' bnull-transform.c:(.text+0x19f): undefined reference toTSVIOReaderGet' bnull-transform.c:(. Text+0x1bd): неопределенная ссылка на TSIOBufferCopy' bnull-transform.c:(.text+0x1cf): undefined reference toTSVIOReaderGet' bnull-transform.c:(. Text+0x1da): неопределенная ссылка на TSIOBufferReaderConsume' bnull-transform.c:(.text+0x1e6): undefined reference toTSVIONDoneGet' bnull-transform.c:(. Text+0x1ff): неопределенная ссылка на TSVIONDoneSet' bnull-transform.c:(.text+0x20b): undefined reference toTSVIONTodoGet' bnull-transform.c:(. Text+0x222): неопределенная ссылка на TSVIOContGet' bnull-transform.c:(.text+0x233): undefined reference toTSContCall' bnull-transform.c:(. Text+0x24b): неопределенная ссылка на TSVIOContGet' bnull-transform.c:(.text+0x25c): undefined reference toTSContCall' /tmp/cc5gVORu.o: в функции handle_output': bnull-transform.c:(.text+0x294): undefined reference toTSTransformOutputVConnGet' bnull-transform.c:(. Text+0x2a8): неопределенная ссылка на TSIOBufferReaderAvail' bnull-transform.c:(.text+0x2c6): undefined reference toTSVConnWrite' bnull-transform.c:(. Text+0x2ef): неопределенная ссылка на _TSAssert' /tmp/cc5gVORu.o: In functionhandle_transform': bnull-transform.c:(.text+0x315): неопределенная ссылка на TSContDataGet' bnull-transform.c:(.text+0x341): undefined reference toTSContDataSet' /tmp/cc5gVORu.o: в функции bnull_transform': bnull-transform.c:(.text+0x3b0): undefined reference toTSVConnClosedGet' bnull-transform.c:(. Text+0x3c0): неопределенная ссылка на TSContDataGet' bnull-transform.c:(.text+0x3d4): undefined reference toTSContDestroy' bnull-transform.c:(. Text+0x3f1): неопределенная ссылка на TSVConnWriteVIOGet' bnull-transform.c:(.text+0x401): undefined reference toTSVIOContGet' bnull-transform.c:(. Text+0x412): неопределенная ссылка на TSContCall' bnull-transform.c:(.text+0x420): undefined reference toTSTransformOutputVConnGet' bnull-transform.c:(. Text+0x432): неопределенная ссылка на TSVConnShutdown' /tmp/cc5gVORu.o: In functiontransformable': bnull-transform.c:(.text+0x46a): неопределенная ссылка на TSHttpTxnServerRespGet' bnull-transform.c:(.text+0x47d): undefined reference toTSHttpHdrStatusGet' bnull-transform.c:(. Text+0x49b): неопределенная ссылка на TS_NULL_MLOC' bnull-transform.c:(.text+0x4aa): undefined reference toTSHandleMLocRelease' bnull-transform.c:(. Text+0x4be): неопределенная ссылка на TSError' /tmp/cc5gVORu.o: In functiontransform_add': bnull-transform.c:(.text+0x4e0): неопределенная ссылка на TSTransformCreate' bnull-transform.c:(.text+0x4f9): undefined reference toTSHttpTxnHookAdd' /tmp/cc5gVORu.o: в функции transform_plugin': bnull-transform.c:(.text+0x54e): undefined reference toTSHttpTxnReenable' /tmp/cc5gVORu.o: в функции TSPluginInit': bnull-transform.c:(.text+0x59c): undefined reference toTSPluginRegister' bnull-transform.c:(. Text+0x5af): неопределенная ссылка на TSError' bnull-transform.c:(.text+0x5bf): undefined reference toTSError' bnull-transform.c:(. Text+0x5d2): неопределенная ссылка на TSContCreate' bnull-transform.c:(.text+0x5df): undefined reference toTSHttpHookAdd' collect2: ld вернул 1 состояние выхода

Пожалуйста помоги.

1 ответ

Решение

Вы пытаетесь скомпилировать этот плагин (который является.so) как отдельное приложение. Это не сработает. Вы должны использовать скрипт tsxs, который поставляется с вашей установкой ATS, например

tsxs -o null-transform.so null-transform.cc
Другие вопросы по тегам