Opened 4 years ago

Closed 4 years ago

#2538 closed defect (duplicate)

False detection of json support

Reported by: Mike Toews Owned by: pramsey
Priority: medium Milestone: PostGIS 2.1.2
Component: postgis Version: 2.1.x
Keywords: Cc:

Description

With the latest Ubuntu release (13.10), I noticed that libjson0-dev is now a transitional package to libjson-c-dev. Using only the later package installed with ./configure:

...
checking json/json.h usability... no
checking json/json.h presence... no
checking for json/json.h... no
checking for json_object_get in -ljson-c... yes
...
 -------------- Dependencies --------------
...
  JSON-C support:       yes
...

However, there are errors with #include <json/json.h> in both conf.log:

...
configure:19223: result: no
configure:19223: checking json/json.h presence
configure:19223: gcc -E  conftest.c
conftest.c:46:23: fatal error: json/json.h: No such file or directory
 #include <json/json.h>
                       ^
compilation terminated.
configure:19223: $? = 1
...
configure:19223: result: no
configure:19223: checking for json/json.h
configure:19223: result: no
configure:19233: checking for json_object_get in -ljson-c
configure:19258: gcc -o conftest -g -O2   conftest.c -ljson-c   >&5
configure:19258: $? = 0
configure:19267: result: yes
...

and with make:

...
/bin/bash ../libtool --mode=compile gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes -I/usr/local/include   -c -o lwin_geojson.lo lwin_geojson.c
libtool: compile:  gcc -g -O2 -fPIC -DPIC -Wall -Wmissing-prototypes -I/usr/local/include -c lwin_geojson.c  -fPIC -DPIC -o .libs/lwin_geojson.o
lwin_geojson.c:20:23: fatal error: json/json.h: No such file or directory
 #include <json/json.h>
                       ^
compilation terminated.
make[1]: *** [lwin_geojson.lo] Error 1
make[1]: Leaving directory `/home/mwtoews/postgis-2.1.1/liblwgeom'
make: *** [all] Error 1

Change History (4)

comment:1 Changed 4 years ago by robe

would we call this a false detection rather than we just aren't upward compatible with the latest json-c.

comment:2 Changed 4 years ago by Mike Toews

From what I understand, as described in #2539, using -ljson-c is newer style, but json/json.h is older style. It appears that JSON-C support is detected using a mixture of the two styles.

A recommended action would be to test newer style json-c/json.h and -ljson-c, and if both fail then test older style json/json.h and -ljson.

comment:3 Changed 4 years ago by robe

Mike,

So can we close this ticket as a dpe since it seems redundant with the #2539 one or am I missing something here?

comment:4 Changed 4 years ago by Mike Toews

Resolution: duplicate
Status: newclosed

Sure, it's a symptom of #2539

Note: See TracTickets for help on using tickets.