problem with rpmlib's when building latest rpm

Panu Matilainen pmatilai at laiskiainen.org
Mon Apr 16 07:47:28 UTC 2012


On 04/12/2012 08:05 PM, Roman Suvorov wrote:
> Hi guys,
>
> I'm trying to build rpm from source to use with mock (1.1.22), which with my current build complains that:
>
> ***
> ERROR You need to update rpm to handle:
> rpmlib(PayloadIsXz)<= 5.2-1 is needed by coreutils-8.15-6.fc17.i686
> --snip--
> rpmlib(X-CheckUnifiedSystemdir) is needed by filesystem-3-2.fc17.i686
> --snip--
> ***
>
> I'm trying to build the latest version, 4.9.1.2, using the following configure/make commands:
>
> ./configure --prefix=/usr --enable-sqlite3 --enable-python --with-cap --with-acl --with-lua --with-dmalloc CPPFLAGS="`pkg-config --cflags nss` -I/path/to/lua/src" LDFLAGS="-L/path/to/lua/src -llua -lm" LUA_CFLAGS="-I/path/to/lua/src" LUA_LIBS="-L/path/to/lua/src"
> make
>
> This should enable just about everything in my rpm build. CPPFLAGS are set to find NSPR&  NSS headers; /path/to/lua contains a build of lua-5.1.5 with an additional shared library liblua.so target (that's what -llua in LDFLAGS is for). All the other flags ensure I use my 5.1.5 lua build.
>
> This still produces a build with the following rpmlib's. Here's part of the output of ./rpm --showrc:
>
> ***
>      rpmlib(BuiltinLuaScripts) = 4.2.2-1
>      rpmlib(CompressedFileNames) = 3.0.4-1
>      rpmlib(ConcurrentAccess) = 4.1-1
>      rpmlib(ExplicitPackageProvide) = 4.0-1
>      rpmlib(FileCaps) = 4.6.1-1
>      rpmlib(FileDigests) = 4.6.0-1
>      rpmlib(HeaderLoadSortsTags) = 4.0.1-1
>      rpmlib(PartialHardlinkSets) = 4.0.4-1
>      rpmlib(PayloadFilesHavePrefix) = 4.0-1
>      rpmlib(PayloadIsBzip2) = 3.0.5-1
>      rpmlib(ScriptletExpansion) = 4.9.0-1
>      rpmlib(ScriptletInterpreterArgs) = 4.0.3-1
>      rpmlib(VersionedDependencies) = 3.0.3-1
> ***
>
> So BuiltinLuaScripts&  FileCaps are now present - the 4.7.2 build I had on my system was lacking those too, but I'm still not seeing PayloadIsXz&  X-CheckUnifiedSystemdir.
>
> What can I do to enable those rpmlib's? Any help would be greatly appreciated.

rpmlib(PayloadIsXz) comes from XZ support, there's no separate configure 
switch for that, you'll just need xz-devel installed when configuring.

rpmlib(X-CheckUnifiedSystemdir) is a safety mechanism specific to Fedora 
 >= 17, related to the "/usr move" feature there, the patch is here: 
http://pkgs.fedoraproject.org/gitweb/?p=rpm.git;a=blob_plain;f=rpm-4.9.1.2-rpmlib-filesystem-check.patch;hb=302bffb0becd0ed2cd45005073e563c559ba2678

Since you're working on top of Fedora, it'd probably be easiest to just 
take the Fedora rpm package as a starting point.

	- Panu -



More information about the Rpm-list mailing list