I have the plugin compiled.
Finally I downloaded the sources from https://github.com/shukitchan/trafficserver-plugins/
with the problems fixes.
Now I'm trying to test the plugin.
For this test i have created two file:
- esi.html
<HTML>
<BODY>
The time is: <esi:include src="http://www.example.com/esi.php"/>
at this very moment.
</BODY>
</HTML>
- esi.php
<?php
echo date('l jS \of F Y h:i:s A');
?>
When i ask for esi.html the date is not displayed, so esi plugin it doesn't work.
My question, ¿Do i have to activate the ESI in order to process that url? Sorry, but i can't
find much documentation about how to implement ATS with ESI tags.
P.S: I have activated the plugin in plugin.config
On 16/05/2012, at 12:22, Jorge Román Novalbos wrote:
> I am focusing with compile the pluging using the make command and i have achieved some
advances.
>
> I have installed some packages (libboost1.42-dev and gcc-4.4-locales) and the error now
is:
>
> root@ts1:~/ATS-plugins/trafficserver-plugins/esi# make
> tsxs -v -I lib -I fetcher/ -C plugin.cc serverIntercept.cc lib/*.cc fetcher/*.cc -o esi.so
> compiling plugin.cc -> plugin.lo
> g++ -I/opt/trafficserver-3.0.4/include -Ilib -Ifetcher/ -g -pipe -Wall -Werror -O3 -feliminate-unused-debug-symbols
-fno-strict-aliasing -Wno-invalid-offsetof -fpic -c plugin.cc -o plugin.lo
> En el fichero incluído de /usr/include/c++/4.4/ext/hash_map:60,
> de lib/StringHash.h:29,
> de lib/EsiProcessor.h:31,
> de plugin.cc:34:
> /usr/include/c++/4.4/backward/backward_warning.h:28:2: error: #warning This file includes
at least one deprecated or antiquated header which may be removed without further notice at
a future date. Please use a non-deprecated interface with equivalent functionality instead.
For a listing of replacement headers and interfaces, consult the file backward_warning.h.
To disable this warning use -Wno-deprecated.
> plugin.cc: In function ‘void cacheNodeList(ContData*)’:
> plugin.cc:453: error: conversión inválida de ‘const sockaddr*’ a ‘unsigned int’
> plugin.cc:453: error: conversión inválida de ‘tsapi_cont*’ a ‘int’
> plugin.cc:453: error: no se puede convertir ‘TSFetchWakeUpOptions’ a ‘tsapi_cont*’
para el argumento ‘5’ para ‘void TSFetchUrl(const char*, int, unsigned int, int, tsapi_cont*,
TSFetchWakeUpOptions, TSFetchEvent)’
> Compile failed: g++ -I/opt/trafficserver-3.0.4/include -Ilib -Ifetcher/ -g -pipe -Wall
-Werror -O3 -feliminate-unused-debug-symbols -fno-strict-aliasing -Wno-invalid-offsetof -fpic
-c plugin.cc -o plugin.lo
> make: *** [all] Error 1
>
>
>
> I'm debuging the make command with strace but I'm not able to fix the problem. Some advices?
>
>
> On 16/05/2012, at 10:51, Jorge Román Novalbos wrote:
>
>> Hi all,
>>
>> I'm compiling the ESI plugin in my trafficserver-3.0.4. I downloaded the plugins
from repository and i have followed the next steps:
>>
>> 1. cd trafficserver-plugins/esi
>> 2. /opt/trafficserver/bin/tsxs -o esi.so -c serverIntercept.cc
>> 3 /opt/trafficserver/bin/tsxs -o esi.so -i
>> 4 edit /opt/trafficserver/etc/trafficserver/plugin.config an add esi.so
>> 5. Restart trafficserver daemon.
>>
>>
>> The traffic_server process never start because can't load the esi plugin. The traffic.out
show these lines:
>>
>> [May 16 10:31:49.263] Server {47992987118880} ERROR: unable to find TSPluginInit
function '/opt/trafficserver-3.0.4/libexec/trafficserver/esi.so': /opt/trafficserver-3.0.4/libexec/trafficserver/esi.so:
undefined symbol: TSPluginInit
>> [May 16 10:31:50.361] Manager {140531591419680} ERROR: [LocalManager::pollMgmtProcessServer]
Server Process terminated due to Sig 6: Aborted
>> [May 16 10:31:50.361] Manager {140531591419680} ERROR: (last system error 2: No
such file or directory)
>> [May 16 10:31:50.361] Manager {140531591419680} ERROR: [Alarms::signalAlarm] Server
Process was reset
>> [May 16 10:31:50.361] Manager {140531591419680} ERROR: (last system error 2: No
such file or director y)
>>
>> Obviously something is wrong in esi pluging but I don't know if i am doing some step
wrong.
>>
>> I have tried to use the Makefile file in esi source but never compile. This is the
error:
>>
>> root@ts1:~/ATS-plugins/trafficserver-plugins/esi# make
>> tsxs -v -I lib -I fetcher/ -C plugin.cc serverIntercept.cc lib/*.cc fetcher/*.cc
-o esi.so
>> compiling plugin.cc -> plugin.lo
>> g++ -I/opt/trafficserver-3.0.4/include -Ilib -Ifetcher/ -g -pipe -Wall -Werror -O3
-feliminate-unused-debug-symbols -fno-strict-aliasing -Wno-invalid-offsetof -fpic -c plugin.cc
-o plugin.lo
>> In file included from /usr/include/c++/4.4/ext/hash_map:60,
>> from lib/StringHash.h:29,
>> from lib/EsiProcessor.h:31,
>> from plugin.cc:34:
>> /usr/include/c++/4.4/backward/backward_warning.h:28:2: error: #warning This file
includes at least one deprecated or antiquated header which may be removed without further
notice at a future date. Please use a non-deprecated interface with equivalent functionality
instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h.
To disable this warning use -Wno-deprecated.
>> In file included from lib/EsiProcessor.h:35,
>> from plugin.cc:34:
>> lib/Variables.h:29:33: error: boost/noncopyable.hpp: No existe el fichero o el directorio
>> In file included from lib/EsiProcessor.h:35,
>> from plugin.cc:34:
>> lib/Variables.h:38: error: ‘boost’ has not been declared
>> lib/Variables.h:38: error: expected ‘{’ before ‘noncopyable’
>> lib/Variables.h:38: error: invalid type in declaration before ‘{’ token
>> cc1plus: warnings being treated as errors
>> lib/Variables.h:38: error: extended initializer lists only available with -std=c++0x
or -std=gnu++0x
>> lib/Variables.h:40: error: expected primary-expression before ‘public’
>> lib/Variables.h:40: error: expected ‘}’ before ‘public’
>> lib/Variables.h:40: error: expected ‘,’ or ‘;’ before ‘public’
>> lib/Variables.h: In function ‘void EsiLib::populate(const char*, int)’:
>> lib/Variables.h:60: error: ‘_query_string_parsed’ was not declared in this scope
>> lib/Variables.h:61: error: ‘_parseQueryString’ was not declared in this scope
>> lib/Variables.h:63: error: ‘_query_string’ was not declared in this scope
>> lib/Variables.h: At global scope:
>> lib/Variables.h:70: error: non-member function ‘const std::string& EsiLib::getValue(const
std::string&)’ cannot have cv-qualifier
>> lib/Variables.h:73: error: non-member function ‘const std::string& EsiLib::getValue(const
char*, int)’ cannot have cv-qualifier
>> lib/Variables.h: In function ‘const std::string& EsiLib::getValue(const char*,
int)’:
>> lib/Variables.h:75: error: ‘EMPTY_STRING’ was not declared in this scope
>> lib/Variables.h: At global scope:
>> lib/Variables.h:88: error: declaration of ‘~EsiLib::Variables’ as non-member
>> lib/Variables.h:90: error: expected unqualified-id before ‘private’
>> lib/Variables.h:99: error: storage size of ‘EsiLib::SIMPLE_HEADERS’ isn't known
>> lib/Variables.h:102: error: storage size of ‘EsiLib::SPECIAL_HEADERS’ isn't known
>> lib/Variables.h:105: error: storage size of ‘EsiLib::NORM_SIMPLE_HEADERS’ isn't
known
>> lib/Variables.h:106: error: storage size of ‘EsiLib::NORM_SPECIAL_HEADERS’ isn't
known
>> lib/Variables.h:114: error: non-member function ‘std::string& EsiLib::_toUpperCase(std::string&)’
cannot have cv-qualifier
>> lib/Variables.h:115: error: non-member function ‘int EsiLib::_searchHeaders(const
std::string*, const char*, int)’ cannot have cv-qualifier
>> lib/Variables.h:117: error: non-member function ‘bool EsiLib::_parseDictVariable(const
std::string&, const char*&, int&, const char*&, int&)’ cannot have cv-qualifier
>> lib/Variables.h:150: error: non-member function ‘const std::string& EsiLib::_getSubCookieValue(const
std::string&, size_t)’ cannot have cv-qualifier
>> lib/Variables.h:154: error: expected declaration before ‘}’ token
>> lib/Variables.h:99: error: ‘EsiLib::SIMPLE_HEADERS’ defined but not used
>> lib/Variables.h:102: error: ‘EsiLib::SPECIAL_HEADERS’ defined but not used
>> lib/Variables.h:105: error: ‘EsiLib::NORM_SIMPLE_HEADERS’ defined but not used
>> lib/Variables.h:106: error: ‘EsiLib::NORM_SPECIAL_HEADERS’ defined but not used
>> Compile failed: g++ -I/opt/trafficserver-3.0.4/include -Ilib -Ifetcher/ -g -pipe
-Wall -Werror -O3 -feliminate-unused-debug-symbols -fno-strict-aliasing -Wno-invalid-offsetof
-fpic -c plugin.cc -o plugin.lo
>> make: *** [all] Error 1
>>
>>
>>
>> could anybody help me?
>>
>>
>>
>> Thanks to all developer for this amaizing software.
>
|