thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tanner Swett <swe...@mail.gvsu.edu>
Subject Re: Undefined reference errors when attempting to link with Thrift
Date Thu, 19 Jul 2012 16:52:51 GMT
Wait, hold up. Common sense suddenly prevailed. What
http://stackoverflow.com/questions/6900839/error-when-trying-to-compile-webdis
said is that the person who submitted the question put -levent in the
wrong place. I realized that I wasn't using -levent at all, so I added
that to ./build, and the dang thing finally built.

Trying to run the resulting executable gave me "./parcv_server: error
while loading shared libraries: libthrift-0.8.0.so: cannot open shared
object file: No such file or directory". So, I ran sudo ldconfig, and
it apparently worked.

So, what it looks like is:

* Using -lthriftnb is probably necessary to cause TNonblockingServer
to be found.
* Building and installing thrift-0.8.0/lib/c_glib and/or
thrift-0.8.0/lib/cpp may be necessary in order to cause libthriftnb.so
to exist.
* Using the flags Prasanna's pkg-config commands gave me may or may
not be necessary for some reason I don't know.
* Using -levent is probably necessary to avoid "undefined reference"
errors caused by libthriftnb.so.
* It's necessary to run ldconfig when appropriate.

And the build command that finally worked: g++ -Wall -o parcv_server
-DHAVE_NETINET_IN_H -DHAVE_INTTYPES_H -I/usr/local/include/thrift
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -L/usr/local/lib
-lopencv_core -lopencv_contrib -lthrift -lthriftnb -lthrift_c_glib
-lgobject-2.0 -lglib-2.0 -levent parcv_constants.cpp parcv_server.cpp
parcv_types.cpp ParCV.cpp

Thanks again for your help.

Should I edit the page http://wiki.apache.org/thrift/ThriftUsageC++,
section "Appendix: About TNonblockingServer", to say that you must
include the flag -lthriftnb when compiling?

Tanner

Mime
View raw message