Jim Pivarski created AVRO-1844:
----------------------------------

             Summary: Avro-C build procedure doesn't set include paths for 
Jansson
                 Key: AVRO-1844
                 URL: https://issues.apache.org/jira/browse/AVRO-1844
             Project: Avro
          Issue Type: Bug
          Components: c
    Affects Versions: 1.8.0
         Environment: gcc 4.9.3, Scientific Linux Fermi release 6.7
            Reporter: Jim Pivarski


I `configure` Jansson with a user-space `PREFIX` because I don't have root 
access, and when I `make install`, the Jansson includes and libs appear in new 
`include` and `lib` directories, as expected.

I `cmake` with `-DCMAKE_INSTALL_PREFIX:PATH=` the same path as `PREFIX` and 
CMake is successful: it finds Jansson and makes the Makefiles.

BUT, when I `make`, it fails because it can't find `jansson.h`. The same is 
true if I explicitly set `PKG_CONFIG_PATH` to point to `$PREFIX/lib/pkgconfig` 
and `pkg-config jansson --cflags --libs` works.

If I explicitly add full paths to Avro's and Jansson's `#include <jansson.h>` 
lines in the source code, Avro compiles without trouble. 
(`avro-c-1.8.0/src/schema.c`, `avro-c-1.8.0/src/value-json.c`, 
`include/jansson.h`)

Presumably, the Jansson part of the build process is only partly implemented, 
such that the CMake script searches for the appropriate version but `-I` flags 
are not generated for the compiler. I don't know enough CMake to know where to 
insert these.

Fixing this issue is the only way I know of to make Avro-C installable on a 
system without root access, apart from the hack I described above.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to