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: David Smith <dsmith at redhat dot com>
- To: Arkady <larytet at gmail dot com>
- Cc: systemtap at sourceware dot org
- Date: Thu, 26 Jan 2017 14:40:12 -0600
- 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>
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)