airavata-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emre Brookes <e...@biochem.uthscsa.edu>
Subject Re: Undefined reference to Workflow::read/write(TProtocol*) error in Airavata-0.15
Date Sat, 06 Jun 2015 12:09:27 GMT
If your code compiles but has an issue in linking (which is what your 
first message indicated), the error is in the linking phase, not
the compiling phase and you do not need to include more files... you 
need to link against additional code (extra .o's) as
mentioned in my previous email.

-E.


priyanshu patra wrote:
> Sir, Workflow::read is declared inside Workflow.cpp which is present 
> in the library- airavata folder itself. But "Workflow.h" is not 
> include in "Airavata.h" (I'm not entirely sure, but I guess that might 
> be a reason for the error). I tried adding "*#include "Workflow.h"* " 
> but I got a series of error similar to this:
>
> ../lib/airavata/Workflow.h:36:31: error: ‘::Workflow’ has not been 
> declared
>    virtual void getWorkflow( ::Workflow& _return, const std::string& 
> workflowTemplateId) = 0;
>                                ^
> ../lib/airavata/Workflow.h:38:62: error: ‘Workflow’ in namespace ‘::’ 
> does not name a type
>    virtual void registerWorkflow(std::string& _return, const 
>  ::Workflow& workflow) = 0;
>                           ^
> ../lib/airavata/Workflow.h:38:74: error: ISO C++ forbids declaration 
> of ‘workflow’ with no type [-fpermissive]
>    virtual void registerWorkflow(std::string& _return, const 
>  ::Workflow& workflow) = 0;
>
>
> On Sat, Jun 6, 2015 at 4:56 PM, Emre Brookes <emre@biochem.uthscsa.edu 
> <mailto:emre@biochem.uthscsa.edu>> wrote:
>
>     Does any one know where:
>     `Workflow::read(apache::thrift::protocol::TProtocol*)'
>     is defined ?
>
>     This seems to me to be thrift generated cpp from a Airavata
>     Workflow class... but I'm guessing.
>
>     -Emre
>
>
>
>     Emre Brookes wrote:
>
>         All,
>
>         Does anyone have a complete set of libraries required to link
>         apache thrift to airavata cpp ?
>
>         Priyanshu,
>
>         Undefined reference generally means some library or other
>         source file is missing from the compile line.
>         This may help you think through it (not an exact fit, but
>         similar)
>         http://stackoverflow.com/questions/10636536/error-linking-thrift-server-c
>
>         Thanks,
>         Emre
>
>         priyanshu patra wrote:
>
>             Hi all,
>
>             I'm using the following command to compile a cpp file with
>             airavata and thrift libraries of 0.15-release-version.
>             *g++
>             -I/home/priyanshu-sekhar/gsoc/new_airavata/new_genapp/genapp/languages/qt4/util/lib/
>             -L/usr/local/lib -w -Wno-write-strings -DHAVE_CONFIG_H
>             -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H 
>             -I/usr/local/include `pkg-config --cflags glib-2.0`
>             Register.cpp `pkg-config --libs glib-2.0` -o Register
>             -lthrift *
>
>             This is the error that I'm getting. How do I fix this?
>             /tmp/ccFRo65D.o: In function
>             `apache::airavata::api::Airavata_getWorkflow_result::read(apache::thrift::protocol::TProtocol*)':
>             Register.cpp:(.text+0x4c196): undefined reference to
>             `Workflow::read(apache::thrift::protocol::TProtocol*)'
>             /tmp/ccFRo65D.o: In function
>             `apache::airavata::api::Airavata_getWorkflow_result::write(apache::thrift::protocol::TProtocol*)
>             const':
>             Register.cpp:(.text+0x4c36d): undefined reference to
>             `Workflow::write(apache::thrift::protocol::TProtocol*) const'
>             /tmp/ccFRo65D.o: In function
>             `apache::airavata::api::Airavata_getWorkflow_presult::read(apache::thrift::protocol::TProtocol*)':
>             Register.cpp:(.text+0x4c572): undefined reference to
>             `Workflow::read(apache::thrift::protocol::TProtocol*)'
>             /tmp/ccFRo65D.o: In function
>             `apache::airavata::api::Airavata_registerWorkflow_args::read(apache::thrift::protocol::TProtocol*)':
>             Register.cpp:(.text+0x4cef6): undefined reference to
>             `Workflow::read(apache::thrift::protocol::TProtocol*)'
>             /tmp/ccFRo65D.o: In function
>             `apache::airavata::api::Airavata_registerWorkflow_args::write(apache::thrift::protocol::TProtocol*)
>             const':
>             Register.cpp:(.text+0x4d0ad): undefined reference to
>             `Workflow::write(apache::thrift::protocol::TProtocol*) const'
>             /tmp/ccFRo65D.o: In function
>             `apache::airavata::api::Airavata_registerWorkflow_pargs::write(apache::thrift::protocol::TProtocol*)
>             const':
>             Register.cpp:(.text+0x4d189): undefined reference to
>             `Workflow::write(apache::thrift::protocol::TProtocol*) const'
>             /tmp/ccFRo65D.o: In function
>             `apache::airavata::api::Airavata_updateWorkflow_args::read(apache::thrift::protocol::TProtocol*)':
>             Register.cpp:(.text+0x4d86e): undefined reference to
>             `Workflow::read(apache::thrift::protocol::TProtocol*)'
>             /tmp/ccFRo65D.o: In function
>             `apache::airavata::api::Airavata_updateWorkflow_args::write(apache::thrift::protocol::TProtocol*)
>             const':
>             Register.cpp:(.text+0x4da25): undefined reference to
>             `Workflow::write(apache::thrift::protocol::TProtocol*) const'
>             /tmp/ccFRo65D.o: In function
>             `apache::airavata::api::Airavata_updateWorkflow_pargs::write(apache::thrift::protocol::TProtocol*)
>             const':
>             Register.cpp:(.text+0x4db01): undefined reference to
>             `Workflow::write(apache::thrift::protocol::TProtocol*) const'
>
>             Regards,
>             Priyanshu
>
>
>
>


Mime
View raw message