You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/05/18 08:14:04 UTC

[jira] [Commented] (AVRO-1844) Avro-C build procedure doesn't set include paths for Jansson

    [ https://issues.apache.org/jira/browse/AVRO-1844?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16015407#comment-16015407 ] 

ASF GitHub Bot commented on AVRO-1844:
--------------------------------------

GitHub user yangyingchao opened a pull request:

    https://github.com/apache/avro/pull/225

    AVRO-1844: set correct header searching path for zlib, snappy & jansson.

    This may be a typo. But according to cmake document,
    "<XPREFIX>_INCLUDE_DIRS" will be set after module was found, instead of
    "<XPREFIX>_INCLUDE_DIR".

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/yangyingchao/avro master

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/avro/pull/225.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #225
    
----

----


> 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.15#6346)