--disable-rpath seems broken in 2011.03.13

Bug #735850 reported by BJ Dierkes on 2011-03-16
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Drizzle
High
Unassigned

Bug Description

Building RPMs bails at the end due to rpaths... even though '--disable-rpath' is passed to configure.

+ /usr/lib/rpm/check-rpaths
*******************************************************************************
*
* 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 '/usr/lib64/drizzle7/libslave_plugin.so' contains a standard rpath '/usr/lib64' in [/usr/lib64]
ERROR 0001: file '/usr/bin/drizzleslap' contains a standard rpath '/usr/lib64' in [/usr/lib64]
ERROR 0001: file '/usr/bin/drizzleadmin' contains a standard rpath '/usr/lib64' in [/usr/lib64]
ERROR 0001: file '/usr/bin/drizzledump' contains a standard rpath '/usr/lib64' in [/usr/lib64]
ERROR 0001: file '/usr/bin/drizzle' contains a standard rpath '/usr/lib64' in [/usr/lib64]
ERROR 0001: file '/usr/bin/drizzleimport' contains a standard rpath '/usr/lib64' in [/usr/lib64]
ERROR 0001: file '/usr/sbin/drizzled7' contains a standard rpath '/usr/lib64' in [/usr/lib64]
error: Bad exit status from /var/tmp/rpm-tmp.0GEVOR (%install)

Lee Bieber (kalebral) on 2011-03-17
Changed in drizzle:
importance: Undecided → High
status: New → Confirmed
assignee: nobody → Monty Taylor (mordred)
Brian Aker (brianaker) wrote :

So should everything be built statically? Is this just an issue for /usr/lib64/drizzle7 ?

BJ Dierkes (derks) wrote :

I'm not sure how to answer that. The primary issue is... drizzle has a '--disable-rpath' option, but does not appear to be honoring it... maybe because a rogue -rpath/-R was added somewhere without consering whether --disable-rpath was passed or not?

On 04/13/2011 02:04 PM, Brian Aker wrote:
> So should everything be built statically? Is this just an issue for
> /usr/lib64/drizzle7 ?

No - This is an rpath issue - both redhat and debian prefer libraries to
not embed rpath information if the rpath points to a standard lib load
path. We had a --disable-rpath setting for configure to trigger the
right behavior in libtool, but it's not working for some reason.

Monty Taylor (mordred) on 2013-08-11
Changed in drizzle:
assignee: Monty Taylor (mordred) → nobody
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers