This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: trouble with installation of systemtap3-0 on Ubuntu 14.04
- From: Arkady <larytet at gmail dot com>
- To: David Smith <dsmith at redhat dot com>
- Cc: systemtap at sourceware dot org
- Date: Thu, 26 Jan 2017 22:54:48 +0200
- Subject: Re: trouble with installation of systemtap3-0 on Ubuntu 14.04
- Authentication-results: sourceware.org; auth=none
- References: <CANA-60qBJRsLWu9wgONWAt_XLA6cGFt3+kmDjqBf=i4RemRgHA@mail.gmail.com> <f6bb6613-a93e-2eac-872b-f2f34c84b4f2@redhat.com> <CANA-60psPG_tWELZG=3BgqKgodiqVSB3GhTi6on+gxDXwfSWfQ@mail.gmail.com> <7875673e-8680-ef8a-42ca-bf9f3352599b@redhat.com>
In my case this is
116: 0000000000003a30 49 FUNC GLOBAL DEFAULT 11
json_object_object_get_ex
Symlink to /usr/lib/x86_64-linux-gnu/libjson-c.so.2.0.0
Package config
prefix=/usr
exec_prefix=${prefix}
libdir=${prefix}/lib/x86_64-linux-gnu
includedir=${prefix}/include
Name: json-c
Description: JSON implementation in C
Version: 0.11.99
Requires:
Libs: -L${libdir} -ljson-c
Cflags: -I${includedir}/json-c
On Thu, Jan 26, 2017 at 10:40 PM, David Smith <dsmith@redhat.com> wrote:
> On 01/26/2017 01:38 PM, Arkady wrote:
>> On Thu, Jan 26, 2017 at 7:43 PM, David Smith <dsmith@redhat.com> wrote:
>>> On 01/26/2017 05:17 AM, Arkady wrote:
>>>> Hi,
>>>>
>>>> This thread is probably the closest to the problem I experience.
>>>>
>>>> I need --monitor support in the stap. I am trying to compile the 3.0 release
>>>> On my Ubuntu 4.4.0-59-generic
>>>>
>>>> make[3]: Entering directory '/home/arkady/systemtap-3.0/staprun'
>>>> CCLD stapio
>>>> monitor.o: In function `comp_name':
>>>> /home/arkady/systemtap-3.0/staprun/monitor.c:151: undefined reference
>>>> to `json_object_object_get_ex'
>>>> I have ./lib/x86_64-linux-gnu/libjson.a and the library contains
>>>> json_object_object_get_ex
>>>> ...................
>>>>
>>>> What am I missing?
>>>
>>> Am I correct in thinking that libjson is installed in your home
>>> directory somewhere and isn't a system library? If so, that might be
>>> your problem. We can probably pass more options to configure to add that
>>> directory to the link search path.
>>>
>>> Another possibility is that the link is looking for a shared library
>>> (.so) and you've got a static library (.a).
>>>
>>
>> This is what I have
>> /usr/lib/x86_64-linux-gnu/libjson-c.so
>> /usr/lib/x86_64-linux-gnu/libjson-c.a
>> /usr/lib/x86_64-linux-gnu/libjson-c.so.2
>
> So I was wrong about the library being installed in your home directory.
>
>> Can it be an order of the object files and libraries?
>
> I'd doubt it. I wonder if we've got a json-c version problem. Let's see
> if your shared library has that symbol in it. When I run "readelf -Ws"
> on mine, I see the following:
>
> ====
> # readelf -Ws /lib64/libjson-c.so | fgrep json_object_object_get_ex
> 115: 0000000000003790 49 FUNC GLOBAL DEFAULT 11
> json_object_object_get_ex
> ====
>
> What does yours return?
>
> Also, what version of json-c do you have? I've got json-c-0.12-7.
>
> --
> David Smith
> dsmith@redhat.com
> Red Hat
> http://www.redhat.com
> 256.217.0141 (direct)
> 256.837.0057 (fax)