On 18/01/2013, at 12:37 PM, "Owens, Steve" <[email protected]> wrote:

> Given that tsxs is broken does anyone know what would be the sequence of 
> commands that it would execute to build the plugin if it were working 
> correctly given the following command line?
> 
> tsxs -o libJsonPTransformationHandler.so -C JsonPTransformationHandler.cc -I 
> /home/sowens/ApiMgmtPlugin

Here's an example (a bit Mac OS X specific):
        https://github.com/jpeach/spdy/blob/master/Makefile

You really only have to set the include path to $TS_ROOT/include and tell the 
linker to allow undefined symbols if that's necessary.

The -I option to tsxs looks reasonably implemented .. can you put a "set -x" at 
the top of tsxs and post the output somewhere?

> 
> 
> From: "Owens, Steve" <[email protected]>
> Reply-To: "[email protected]" <[email protected]>
> Date: Fri, 18 Jan 2013 12:19:14 -0800
> To: "[email protected]" <[email protected]>
> Subject: Re: Questions about tsxs
> 
> Digging into this further I can see that when I invoke:
> tsxs -o libJsonPTransformationHandler.so -C JsonPTransformationHandler.cc -I 
> /home/sowens/ApiMgmtPlugin
> 
> Tsxs writes the following on the last line of output:
> Compile failed: g++ -I/usr/local/include -g -pipe -Wall -Werror -O3 
> -feliminate-unused-debug-symbols -fno-strict-aliasing -Wno-invalid-offsetof 
> -fpic -c JsonPTransformationHandler.cc -o JsonPTransformationHandler.lo
> 
> Yet when I do 
> tsxs -h
> 
> It outputs:
> /usr/local/bin/tsxs : a tool to compile, link and install trafficserver 
> plugins.
> 
>  compiling/linking:
>       -c [ file1.c [ file2.c [ ... ] ] ]      ## compiles C files
>       -C [ file1.cc [ file2.C [ ... ] ] ]     ## compiles C++ files
>       -o modulename.so                        ## the name of the module
>       -I include                              ## add -Iinclude to the compile
>       -l lib                                  ## add -llib to the link
> 
>  installing:
>       -o modulename.so                        ## the name of the module
>       -i                                      ## install the object
> 
> 
> So I am pretty sure there is a bug here since the –I 
> /home/sowens/ApiMgmtPlugin didn't make it to the g++ command.
> 
> 
> From: "Owens, Steve" <[email protected]>
> Reply-To: "[email protected]" <[email protected]>
> Date: Fri, 18 Jan 2013 12:09:56 -0800
> To: "[email protected]" <[email protected]>
> Subject: Questions about tsxs
> 
> I am experiencing some confusing behaviors trying to use tsxs and the 
> documentation on this tool does not seem to be very complete.
> 
> Here is what I am trying to do in a nutshell.
> 
> I have plugin file that I want to build and I want to be able to include 
> files from a different directory into the header file such that:
> 
> When I put in my JsonPTransformationHandler.h file
> #include <events/BaseEventHandler.h>
> #include <TransactionData.h>
> 
> 
> And I put this in my JsonPTransformationHandler.cc file:
> #include "JsonPTransformationHandler.h"
> #include <ApiMgmtUtil.h>
> 
> 
> I have tried executing the build tool with the following command lines to no 
> avail:
> 
> tsxs -o libJsonPTransformationHandler.so -C JsonPTransformationHandler.cc 
> -I/home/sowens/ApiMgmtPlugin
> tsxs -o libJsonPTransformationHandler.so -C JsonPTransformationHandler.cc 
> -I/home/sowens/ApiMgmtPlugin/
> tsxs -o libJsonPTransformationHandler.so -C JsonPTransformationHandler.cc -I 
> /home/sowens/ApiMgmtPlugin
> tsxs -o libJsonPTransformationHandler.so -C JsonPTransformationHandler.cc -I 
> /home/sowens/ApiMgmtPlugin/
> 
> Yet in each and every case when the tool runs it renders the following error 
> messages:
> JsonPTransformationHandler.h:13:37: error: events/BaseEventHandler.h: No such 
> file or directory
> JsonPTransformationHandler.h:14:29: error: TransactionData.h: No such file or 
> directory
> JsonPTransformationHandler.cc:9:25: error: ApiMgmtUtil.h: No such file or 
> directory
> 
> Yet the following ls commands hold:
> [sowens@d4mftapp11 JsonPTransformationHandlerPlugin]$ ls -l 
> /home/sowens/ApiMgmtPlugin/TransactionData.h
> -rw-rw-r-- 1 sowens sowens 7736 Jan 18 11:22 
> /home/sowens/ApiMgmtPlugin/TransactionData.h
> [sowens@d4mftapp11 JsonPTransformationHandlerPlugin]$ ls -l 
> /home/sowens/ApiMgmtPlugin/ApiMgmtUtil.h 
> -rw-rw-r-- 1 sowens sowens 20232 Jan 18 11:22 
> /home/sowens/ApiMgmtPlugin/ApiMgmtUtil.h
> [sowens@d4mftapp11 JsonPTransformationHandlerPlugin]$ ls -l 
> /home/sowens/ApiMgmtPlugin/events/BaseEventHandler.h 
> -rw-rw-r-- 1 sowens sowens 1970 Jan 18 11:22 
> /home/sowens/ApiMgmtPlugin/events/BaseEventHandler.h
> 
> 
> So the files are there but tsxs cannot fine them.  Furthermore other than the 
> limited help provided by the –h option on tsxs there is no examples in the 
> ATS web documentation that talks about includes.  Does tsxs support include 
> directories?
> 

Reply via email to