[blfs-support] JSON-C fails to build

Dan McGhee beesnees at grm.net
Fri Dec 20 10:09:30 PST 2013

On 12/20/2013 11:41 AM, Bruce Dubbs wrote:
> Dan McGhee wrote:
>> On 12/20/2013 11:18 AM, Armin K. wrote:
>>> On 12/20/2013 06:15 PM, Dan McGhee wrote:
>>>> I'm building JSON-C as a dependency for PulseAudio.  It fails to build with:
>>>>> /bin/sh ./libtool --tag=CC   --mode=link gcc -Wall -Werror -Wextra
>>>>> -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE
>>>>> -D_REENTRANT -g -O2 -version-info 1:0:1 -no-undefined -ljson-c  -o
>>>>> libjson.la -rpath /usr/lib libjson.lo -ljson-c
>>>>> mv -f .deps/json_util.Tpo .deps/json_util.Plo
>>>>> mv -f .deps/printbuf.Tpo .deps/printbuf.Plo
>>>>> mv -f .deps/linkhash.Tpo .deps/linkhash.Plo
>>>>> libtool: link: gcc -shared  .libs/libjson.o   -ljson-c -Wl,-soname
>>>>> -Wl,libjson.so.0 -o .libs/libjson.so.0.1.0
>>>>> /usr/bin/ld: cannot find -ljson-c
>>>>> collect2: error: ld returned 1 exit status
>>>>> make[2]: *** [libjson.la] Error 1
>>>>> make[2]: *** Waiting for unfinished jobs....
>>>>> mv -f .deps/json_object.Tpo .deps/json_object.Plo
>>>>> mv -f .deps/json_tokener.Tpo .deps/json_tokener.Plo
>>>>> make[2]: Leaving directory `/usr/src/json-c-0.11/json-c-0.11'
>>>>> make[1]: Leaving directory `/usr/src/json-c-0.11/json-c-0.11'
>>>>> make[1]: *** [all-recursive] Error 1
>>>>> make: *** [all] Error 2
>>>> I don't know if it's relevant, but the README file contains this:
>>>>> Linking to libjson-c
>>>>> If your system has pkgconfig then you can just add this to your makefile
>>>>> CFLAGS += $(shell pkg-config --cflags json-c)
>>>>> LDFLAGS += $(shell pkg-config --libs json-c)
>>>>> Without pkgconfig, you would do something like this:
>>>>> JSON_C_DIR=/path/to/json_c/install
>>>>> CFLAGS += -I$(JSON_C_DIR)/include/json-c
>>>>> LDFLAGS+= -L$(JSON_C_DIR)/lib -ljson-c
>>>> If it's relevant to pass any of these things to get JSON-C to build, how
>>>> and where would I do it?
>>>> Thanks,
>>>> Dan
>>> libjson-c is built as part of the same package and it should be present
>>> in the build directory, .libs subdirectory.
>> That's what I thought, and what I saw when I looked into the build
>> directory. That's what I found so strange. But the build failed four
>> times. I wonder if there's something wrong in $PATH. I use the Package
>> Users system, and I'm investigating that possibility right now. However,
>> this is the first and only package of almost 200 that I've built in
>> {,B}LFS so far that has failed to build.
> When you have a problem with package users, try falling back to the
> standard build procedures up to the point where you install.  Also try
> building (again not installing) as root to remove possible permission
> problems.  If that works, you need to go back and debug the problems you
> introduced.
Thanks, Bruce. I'm so locked in on getting sound that I didn't think 
about that until after I responded to Armin. First, I built and did a 
DESTDIR install as me, then a DESTIR and a final install as root. Then 
used chown to get the package user involved. There didn't seem to be any 
permissions problems.

This is actually a mosquito bite right now. I *think* it's a path and 
permissions problem with `/usr/bin/ld.` Things worked fine when I built 
as me. When I'm through with sound and printing, I'll come back and 
troubleshoot this some more.


More information about the blfs-support mailing list