3

While building my custom rpm package using the below mentioned command

rpmbuild -v -bb test.specs

I get the below error,

+ /usr/lib/rpm/check-rpaths /usr/lib/rpm/check-buildroot
*******************************************************************************
*
* WARNING: 'check-rpaths' detected a broken RPATH and will cause 'rpmbuild'
*          to fail. To ignore these errors, you can set the '$QA_RPATHS'
*          environment variable which is a bitmask allowing the values
*          below. The current value of QA_RPATHS is 0x0000.
*
*    0x0001 ... standard RPATHs (e.g. /usr/lib); such RPATHs are a minor
*               issue but are introducing redundant searchpaths without
*               providing a benefit. They can also cause errors in multilib
*               environments.
*    0x0002 ... invalid RPATHs; these are RPATHs which are neither absolute
*               nor relative filenames and can therefore be a SECURITY risk
*    0x0004 ... insecure RPATHs; these are relative RPATHs which are a
*               SECURITY risk
*    0x0008 ... the special '$ORIGIN' RPATHs are appearing after other
*               RPATHs; this is just a minor issue but usually unwanted
*    0x0010 ... the RPATH is empty; there is no reason for such RPATHs
*               and they cause unneeded work while loading libraries
*    0x0020 ... an RPATH references '..' of an absolute path; this will break
*               the functionality when the path before '..' is a symlink
*
*
* Examples:
* - to ignore standard and empty RPATHs, execute 'rpmbuild' like
*   $ QA_RPATHS=$[ 0x0001|0x0010 ] rpmbuild my-package.src.rpm
* - to check existing files, set $RPM_BUILD_ROOT and execute check-rpaths like
*   $ RPM_BUILD_ROOT=<top-dir> /usr/lib/rpm/check-rpaths
*
*******************************************************************************
ERROR   0001: file '/opt/TestMachineLinuxWithJre/lib/tls/x64Linux2.6gcc4.4.5/libnddstlsd.so' contains a standard rpath '/usr/X11R6/lib64' in [/usr/X11R6/lib64]

Guys! is there a way out, Thanks in advance

  • if you don't need specs file and all, just install some package files via rpm, give a try on https://github.com/jordansissel/fpm. – Madhavan Aug 6 '15 at 15:09
3

Below is the work around that helped me build it

QA_RPATHS=\$[ 0x0001|0x0002 ] rpmbuild --quiet -bb rpm.spec
  • You can also put this env var in your %install section. Makes it easier to do automated builds. – Rich Homolka Jun 10 '16 at 0:40
1

Remove the entry /usr/lib/rpm/check-rpaths from ~/.rpmmacros and re-run rpmbuild.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.