This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: Systemtap build error
- From: Mark Wielaard <mjw at redhat dot com>
- To: Kalai Rajah N <kalairajah at gmail dot com>
- Cc: systemtap at sourceware dot org
- Date: Wed, 27 Mar 2013 09:25:31 +0100
- Subject: Re: Systemtap build error
- References: <CAPTDLfHdK6u2_nEQqaanmro9d=6L04cRrgsVB3bjRJKfseUo1w at mail dot gmail dot com>
On Tue, Mar 26, 2013 at 05:20:54PM -0700, Kalai Rajah N wrote:
> Hi,
> I'm new to Systemtap and I'm installing it as a non-root user as the
> gcc4.8 requires a newer Systemtap thatn the one on my system.
>
> I have the elfutils downloaded and installed. I see an error when I
> run the following command...
>
> ../systemtap-2.1/configure --prefix=${PREFIX} --libdir=${PREFIX}/lib64
> --with-elfutils=/dev/shm/sw-build/elfutils-0.155
>
>
> The error is:
> CXX stap-cscommon.o
> CXXLD stap
> /share/projects/IP/local_5.8/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../x86_64-unknown-linux-gnu/bin/ld:
> stap-rpm_finder.o: undefined reference to symbol 'rpmdbNextIterator'
> /share/projects/IP/local_5.8/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../x86_64-unknown-linux-gnu/bin/ld:
> note: 'rpmdbNextIterator' is defined in DSO /usr/lib64/librpmdb-4.4.so
> so try adding it to the linker command line
> /usr/lib64/librpmdb-4.4.so: could not read symbols: Invalid operation
> collect2: error: ld returned 1 exit status
> make[2]: *** [stap] Error 1
> make[2]: Leaving directory `/dev/shm/sw-build/systemtap-2.1-build'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/dev/shm/sw-build/systemtap-2.1-build'
> make: *** [all] Error 2
>
> How do I get this resolved?
This likely comes from RPM 4.6 when librpm and librpmdb were merged
into one library: http://rpm.org/wiki/Releases/4.6.0
"librpmdb has been merged with librpm. The split was largely artificial
and caused more entirely unnecessary problems than it solved."
You might need to add a new AC_CHECK_LIB for librpmdb and rpmdbNextIterator
in configure.ac. See the examples already there for librpm and librpmio.
Cheers,
Mark