RPM Community Forums

Mailing List Message of <rpm-users>

RE: Attempting to compile rpm5 for RH Linux EL5

From: Saravanan Shanmugham (sarvi) <sarvi@cisco.com>
Date: Fri 18 Sep 2009 - 02:12:18 CEST
Message-ID: <C6A1C20DB743364EB446E923B2229FEF097C2801@xmb-sjc-229.amer.cisco.com>
 
I got popt 1.15 from
http://www.sfr-fresh.com/linux/misc/popt-1.15.tar.gz
Compiled and installed it.
Now I get the following error during compilation

o -lm /usr/lib/libmagic.so -lbeecrypt -lz /usr/lib/libpopt.so -lpthread
-lrt -Wl,-rpath -Wl,/usr/local/lib
../lib/.libs/librpm.so: undefined reference to `poptReadConfigFiles'
../lib/.libs/librpm.so: undefined reference to `poptReadFile'
collect2: ld returned 1 exit status
make[3]: *** [rpm2cpio] Error 1
make[3]: Leaving directory `/operator/rpm-5.1.9/tools'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/operator/rpm-5.1.9/tools'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/operator/rpm-5.1.9'
make: *** [all] Error 2


Is there a list of components/versions and where to get them, I need so
that I can install them and make sure compile install goes fine? I
notice that all the components like popt, xar all have copies in the
RPM5 CVS. Is this where we should pulling stuff from?

Also I am trying to compile RPM5 with XAR support. Additionally I want
the RPM tooling to be compiled and installed  at
/my/own-nfs/tooling/dir. I want this central install to be usable by all
the machines on the network, to mostly build RPMS in private workspace
and install those RPMs into private workspace. Installation of RPMs
should not happen to root (/). Is this doable with RPM5?

Sarvi


-----Original Message-----
From: rpm-users-owner@rpm5.org [mailto:rpm-users-owner@rpm5.org] On
Behalf Of Jeff Johnson
Sent: Thursday, September 17, 2009 11:13 AM
To: rpm-users@rpm5.org
Subject: Re: Attempting to compile rpm5 for RH Linux EL5


On Sep 17, 2009, at 1:50 PM, Saravanan Shanmugham (sarvi) wrote:

> I am trying to compile and install RPM 5.1.9.tar.gz And am running 
> into the following errors. Is there any configure option I should be 
> trying.
> Has this been fixed in a later release?
>
> gcc -DHAVE_CONFIG_H -I. -I..  -I. -I.. -I../build -I../lib -I../lib 
> -I../rpmdb -I../rpmio -I../misc -I../db3 -I../db3 -I../pcre -I../pcre
> -DRPM_OS_LINUX=020609  -g -O2 -D_GNU_SOURCE -D_REENTRANT -MT 
> rpmdigest.o -MD -MP -MF .deps/rpmdigest.Tpo -c -o rpmdigest.o 
> rpmdigest.c
> rpmdigest.c:265: error: optionsTable[1].argInfo')
> rpmdigest.c:267: error: initializer element is not constant
> rpmdigest.c:267: error: (near initialization for POPT_ARG_ARGV'  
> undeclared here (not in a
> function)<BR>rpmdigest.c:265: error: initializer element is not
> constant<BR>rpmdigest.c:265: error: (near initialization for
> optionsTable[1]')<BR>rpmdigest.c:270: error: initializer element is 
> not constant<BR></FONT></DIV> <DIV><FONT face=Arial 
> size=2></FONT>&nbsp;</DIV> <DIV><FONT face=Arial 
> size=2></FONT>&nbsp;</DIV> <DIV><SPAN class=156564317-17092009><FONT 
> face=Arial size=2>Sarvi</FONT></SPAN></DIV></BODY></HTML>


You need popt-1.15 (or you need to patch out POPT_ARG_ARGV,
which should be in slightly older versions of RPM, POPT_ARG_ARGV was  
added
to popt like a year ago or so).

I'll attach a copy of a rpmdigest.c that has the necessary
retrofit, rpmdigest.c is rather small.

Look for the

	#if !defined(POPT_ARG_ARGV)
	...
	#endif

sections.

Installing popt-1.15 is the preferred solution.

You can also easily live without building rpmdigest.c, nothing
in RPM itself needs rpmdigest, which is mostly included in RPM
so that the same code paths used by RPM internally can also be
exercised externally in a standalone executable.

73 de Jeff
Received on Fri Sep 18 02:15:12 2009
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.