Bug 169298 - openoffice-org srpm does not rebuild
Summary: openoffice-org srpm does not rebuild
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: fedora-rpmdevtools
Version: 4
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Enrico Scholz
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-09-26 18:09 UTC by Roozbeh Pournader
Modified: 2007-11-30 22:11 UTC (History)
1 user (show)

Fixed In Version: 1.3-1
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-10-27 19:07:42 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
build failure log, bzip2-ed (1004.66 KB, application/x-bzip2)
2005-09-26 18:09 UTC, Roozbeh Pournader
no flags Details
Fixes misdetection of multiple and/or relative $ORIGIN RPATHs; adds help message (3.37 KB, patch)
2005-10-01 09:26 UTC, Enrico Scholz
no flags Details | Diff
gcc build failure, bzip2-ed (304.70 KB, application/x-bzip2)
2005-10-01 11:55 UTC, Roozbeh Pournader
no flags Details
Detects RPATHs containing references to '..' (8.28 KB, patch)
2005-10-15 15:26 UTC, Enrico Scholz
no flags Details | Diff

Description Roozbeh Pournader 2005-09-26 18:09:37 UTC
Description of problem:
OpenOffice.org's SRPM cannot be rebuilt. The build stops with an error message
ending in the following:

+ /usr/lib/rpm/check-rpaths /usr/lib/rpm/check-buildroot
ERROR: file '/usr/lib/openoffice.org2.0/program/javaldx' contains an invalid
rpath '$ORIGIN/../lib' in [$ORIGIN/../lib:$ORIGIN]
ERROR: file '/usr/lib/openoffice.org2.0/program/javaldx' contains the $ORIGIN
rpath specifier at the wrong position in [$ORIGIN/../lib:$ORIGIN]
ERROR: file '/usr/lib/openoffice.org2.0/program/uno.bin' contains an invalid
rpath '$ORIGIN/../lib' in [$ORIGIN/../lib:$ORIGIN]
ERROR: file '/usr/lib/openoffice.org2.0/program/uno.bin' contains the $ORIGIN
rpath specifier at the wrong position in [$ORIGIN/../lib:$ORIGIN]

Version-Release number of selected component (if applicable):
openoffice.org-1.9.125-1.1.0.fc4

How reproducible:
Always

Steps to Reproduce:
1. rpm -Uvh openoffice.org-1.9.125-1.1.0.fc4.src.rpm
2. rpmbuild -ba openoffice.org.spec
  
Actual results:
Build fails.

Expected results:
Packages should build.

Additional info:
Attached a build log.

Comment 1 Roozbeh Pournader 2005-09-26 18:09:38 UTC
Created attachment 119268 [details]
build failure log, bzip2-ed

Comment 2 Caolan McNamara 2005-09-26 19:18:32 UTC
never happened for me, nor do I know who provides /usr/lib/rpm/check-rpaths
which doesn't exist on my fedora box.

do a rpm -qlf /usr/lib/rpm/check-rpaths to find out where that script has come
from. my understanding is that the RPATHS in those binaries is ok.

Comment 3 Roozbeh Pournader 2005-09-26 20:07:39 UTC
The file comes from the fedora-rpmdevtools-1.1-1.fc4 package, from Fedora
Extras. Should this be considered a bug of that package then?


Comment 4 Ville Skyttä 2005-09-27 05:42:39 UTC
Enrico is the author of the check-rpaths* scripts.  Comments? 

Comment 5 Roozbeh Pournader 2005-09-27 15:18:21 UTC
Similiar problems exist with a few other packages:
freetype-2.1.9-2
gcc-4.0.1-4.fc4
nfs-utils-1.0.7-8


Comment 6 Enrico Scholz 2005-10-01 09:26:08 UTC
Created attachment 119499 [details]
Fixes misdetection of multiple and/or relative $ORIGIN RPATHs; adds help message

Comment 7 Enrico Scholz 2005-10-01 09:39:01 UTC
> Similiar problems exist with a few other packages:
> freetype-2.1.9-2

It does not make much sense to add /usr/lib to an RPATH; often it
costs only addititional resources to parse it, sometimes it is a
real bug (see nfs-utils below). It is handled as an error by default
because it is nearly impossible to differ between both cases. You
can set 'QA_RPATHS=$[ 0x0001 ]' to make it a warning only, but such
RPATHs should be really removed from the binaries.


> gcc-4.0.1-4.fc4

Can you tell the details please? I do not want to rebuild the src.rpm
and 'check-rpaths' does not report anything about the existing gcc*
packages (but it is possible that I forgot a package)


> nfs-utils-1.0.7-8

That's a real bug in 'nfs-utils'... '/usr/lib' is in RPATHs in the
x86_64 multilib version also:

| $ file rpc.gssd 
| rpc.gssd: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.4.0, dynamically linked (uses shared libs), stripped

| $ readelf -a rpc.gssd  | grep RPATH
| 0x000000000000000f (RPATH)              Library rpath: [/usr/lib]



Comment 8 Enrico Scholz 2005-10-01 09:40:42 UTC
Ville, I am not sure where content of 'fedora-rpmdevtools-1.1.tar.bz2' is
hosted; can you apply the previous patch please?

Comment 9 Roozbeh Pournader 2005-10-01 11:55:30 UTC
Created attachment 119504 [details]
gcc build failure, bzip2-ed

Attached build log for GCC

Comment 10 Ville Skyttä 2005-10-03 05:34:32 UTC
(In reply to comment #8) 
> Ville, I am not sure where content of 'fedora-rpmdevtools-1.1.tar.bz2' is 
> hosted; can you apply the previous patch please? 
 
Done with some spelling fixes.  This will be in 1.2.  Thanks! 

Comment 11 Enrico Scholz 2005-10-15 15:26:18 UTC
Created attachment 120023 [details]
Detects RPATHs containing references to '..'

Ville, please apply this patch (which adds a new check). It adds a new script
doing regression tests which should be just added to the tarball but not
installed.


@ comment #9:
=============

gcc build fails on i386 because of a standard RPATH of '/usr/lib'. On multilib
systems, this rpath is '/usr/lib/../lib64' and can cause unwanted behavior when
/usr/lib is a symlink but not a directory. This case inspired me to the patch
above.

I am going to close this bug when the patch is applied.

Comment 12 Ville Skyttä 2005-10-15 19:50:37 UTC
Done, with the slight modification to the regression tester of using the 
mktemp'd temp dir and removing it at exit.  This will be in rpmdevtools 1.3, 
thanks. 

Comment 13 Ville Skyttä 2005-10-27 19:07:42 UTC
Fixed in 1.3-1* 


Note You need to log in before you can comment on or make changes to this bug.