Simon South created THRIFT-1826:
-----------------------------------
Summary: Library, generated files use incorrect path for Thrift
headers
Key: THRIFT-1826
URL: https://issues.apache.org/jira/browse/THRIFT-1826
Project: Thrift
Issue Type: Bug
Components: C glib - Compiler, C glib - Library
Affects Versions: 0.9
Environment: CentOS 6.3 on x86 (32-bit)
Reporter: Simon South
Priority: Minor
By default Thrift's header files for C+GLib are installed beneath
/usr/local/include/thrift/c_glib. However, both files generated by Thrift's
compiler and Thrift's own (library) header files seem to assume these are
available at /usr/local/include/thrift.
Consequently, by default generated files fail to compile, e.g.:
$ make
gcc -g -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -c -o
main.o main.c
In file included from gen-c_glib/hello_world.h:10,
from main.c:4:
gen-c_glib/hello_world_types.h:12:34: error: thrift/thrift_struct.h: No such
file or directory
gen-c_glib/hello_world_types.h:13:45: error: thrift/protocol/thrift_protocol.h:
No such file or directory
These files would actually be found at "thrift/c_glib/thrift_struct.h" and
"thrift/c_glib/protocol/thrift_protocol.h".
The easy workaround is to create a symbolic link, i.e.:
$ cd /usr/local/include/thrift/c_glib
$ ln -s . thrift
and then add "/usr/local/include/thrift/c_glib" to the compiler's search path.
But it seems to me a better solution would be to
1. Change the path of the installed header files, perhaps storing them in
"/usr/local/include/thrift/c_glib/thrift", which would at least remove the need
for the symbol link;
2. Update the library and the generator to use the correct path in #include
statements; or
3. Have the installer create a symbolic link automatically.
If there is consensus on the correct fix (I vote for the second) I can spend
the time to implement it.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira