Невозможно скомпилировать 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 to
main'
/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 to
TSIOBufferDestroy'
bnull-transform.c:(. Text+0x87): неопределенная ссылка на _TSfree'
/tmp/cc5gVORu.o: In function
handle_buffering':
bnull-transform.c:(.text+0xa8): неопределенная ссылка на TSVConnWriteVIOGet'
bnull-transform.c:(.text+0xbe): undefined reference to
TSIOBufferCreate'
bnull-transform.c:(. Text+0xe7): неопределенная ссылка на _TSAssert'
bnull-transform.c:(.text+0xf9): undefined reference to
TSIOBufferReaderAlloc'
bnull-transform.c:(. Text+0x122): неопределенная ссылка на _TSAssert'
bnull-transform.c:(.text+0x130): undefined reference to
TSVIOBufferGet'
bnull-transform.c:(. Text+0x155): неопределенная ссылка на TSVIONTodoGet'
bnull-transform.c:(.text+0x16e): undefined reference to
TSVIOReaderGet'
bnull-transform.c:(. Text+0x176): неопределенная ссылка на TSIOBufferReaderAvail'
bnull-transform.c:(.text+0x19f): undefined reference to
TSVIOReaderGet'
bnull-transform.c:(. Text+0x1bd): неопределенная ссылка на TSIOBufferCopy'
bnull-transform.c:(.text+0x1cf): undefined reference to
TSVIOReaderGet'
bnull-transform.c:(. Text+0x1da): неопределенная ссылка на TSIOBufferReaderConsume'
bnull-transform.c:(.text+0x1e6): undefined reference to
TSVIONDoneGet'
bnull-transform.c:(. Text+0x1ff): неопределенная ссылка на TSVIONDoneSet'
bnull-transform.c:(.text+0x20b): undefined reference to
TSVIONTodoGet'
bnull-transform.c:(. Text+0x222): неопределенная ссылка на TSVIOContGet'
bnull-transform.c:(.text+0x233): undefined reference to
TSContCall'
bnull-transform.c:(. Text+0x24b): неопределенная ссылка на TSVIOContGet'
bnull-transform.c:(.text+0x25c): undefined reference to
TSContCall'
/tmp/cc5gVORu.o: в функции handle_output':
bnull-transform.c:(.text+0x294): undefined reference to
TSTransformOutputVConnGet'
bnull-transform.c:(. Text+0x2a8): неопределенная ссылка на TSIOBufferReaderAvail'
bnull-transform.c:(.text+0x2c6): undefined reference to
TSVConnWrite'
bnull-transform.c:(. Text+0x2ef): неопределенная ссылка на _TSAssert'
/tmp/cc5gVORu.o: In function
handle_transform':
bnull-transform.c:(.text+0x315): неопределенная ссылка на TSContDataGet'
bnull-transform.c:(.text+0x341): undefined reference to
TSContDataSet'
/tmp/cc5gVORu.o: в функции bnull_transform':
bnull-transform.c:(.text+0x3b0): undefined reference to
TSVConnClosedGet'
bnull-transform.c:(. Text+0x3c0): неопределенная ссылка на TSContDataGet'
bnull-transform.c:(.text+0x3d4): undefined reference to
TSContDestroy'
bnull-transform.c:(. Text+0x3f1): неопределенная ссылка на TSVConnWriteVIOGet'
bnull-transform.c:(.text+0x401): undefined reference to
TSVIOContGet'
bnull-transform.c:(. Text+0x412): неопределенная ссылка на TSContCall'
bnull-transform.c:(.text+0x420): undefined reference to
TSTransformOutputVConnGet'
bnull-transform.c:(. Text+0x432): неопределенная ссылка на TSVConnShutdown'
/tmp/cc5gVORu.o: In function
transformable':
bnull-transform.c:(.text+0x46a): неопределенная ссылка на TSHttpTxnServerRespGet'
bnull-transform.c:(.text+0x47d): undefined reference to
TSHttpHdrStatusGet'
bnull-transform.c:(. Text+0x49b): неопределенная ссылка на TS_NULL_MLOC'
bnull-transform.c:(.text+0x4aa): undefined reference to
TSHandleMLocRelease'
bnull-transform.c:(. Text+0x4be): неопределенная ссылка на TSError'
/tmp/cc5gVORu.o: In function
transform_add':
bnull-transform.c:(.text+0x4e0): неопределенная ссылка на TSTransformCreate'
bnull-transform.c:(.text+0x4f9): undefined reference to
TSHttpTxnHookAdd'
/tmp/cc5gVORu.o: в функции transform_plugin':
bnull-transform.c:(.text+0x54e): undefined reference to
TSHttpTxnReenable'
/tmp/cc5gVORu.o: в функции TSPluginInit':
bnull-transform.c:(.text+0x59c): undefined reference to
TSPluginRegister'
bnull-transform.c:(. Text+0x5af): неопределенная ссылка на TSError'
bnull-transform.c:(.text+0x5bf): undefined reference to
TSError'
bnull-transform.c:(. Text+0x5d2): неопределенная ссылка на TSContCreate'
bnull-transform.c:(.text+0x5df): undefined reference to
TSHttpHookAdd'
collect2: ld вернул 1 состояние выхода
Пожалуйста помоги.
1 ответ
Вы пытаетесь скомпилировать этот плагин (который является.so) как отдельное приложение. Это не сработает. Вы должны использовать скрипт tsxs, который поставляется с вашей установкой ATS, например
tsxs -o null-transform.so null-transform.cc