Bug 1318383

Summary: boost libs embed rpath
Product: [Fedora] Fedora Reporter: Rex Dieter <rdieter>
Component: boostAssignee: Jonathan Wakely <jwakely>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 23CC: anto.trande, dakingun, denis.arnaud_fedora, jwakely, me, yselkowi
Target Milestone: ---Keywords: Patch
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-06-26 09:32:27 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1302120    
Attachments:
Description Flags
Drop rpath (#1318383) none

Description Rex Dieter 2016-03-16 17:39:46 UTC
Trying some local builds/testing, I disovered boost library packages embed a bunch of odd rpaths, 
/usr/lib
/usr/lib/python2.7/config
/usr/lib/python3.4/config

I'll post details shortly

Comment 1 Rex Dieter 2016-03-16 17:50:01 UTC
$ chrpath --list /usr/lib64/libboost_*.1.58.0
/usr/lib64/libboost_atomic.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_chrono.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_container.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_context.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_coroutine.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_date_time.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_filesystem.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_graph.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_iostreams.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_locale.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_log_setup.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_log.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_math_c99f.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_math_c99l.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_math_c99.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_math_tr1f.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_math_tr1l.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_math_tr1.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_prg_exec_monitor.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_program_options.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_python.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_random.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_regex.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_serialization.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_signals.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_system.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_thread.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_timer.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_unit_test_framework.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_wave.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config
/usr/lib64/libboost_wserialization.so.1.58.0: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config

Comment 2 Antonio T. (sagitter) 2016-05-24 13:34:20 UTC
Problem still exists?

$ chrpath -l /usr/lib64/libboost_python.so
/usr/lib64/libboost_python.so: RPATH=/usr/lib:/usr/lib/python2.7/config:/usr/lib/python3.4/config

$ rpm -qa | grep boost-python3
boost-python3-devel-1.58.0-11.fc23.x86_64
boost-python3-1.58.0-11.fc23.x86_64

Comment 3 Jonathan Wakely 2016-05-24 13:38:39 UTC
(In reply to Antonio Trande from comment #2)
> Problem still exists?

Yes that's why this bug report is still open, obviously.

Comment 4 Jonathan Wakely 2016-05-26 09:15:11 UTC
This seems to have been caused by the fix for Bug 1102667

I'll have to delve into the horrible boost build system to figure out why linking to Python adds useless RPATHs, but the linkage to Python is definitely desirable.

Comment 5 Yaakov Selkowitz 2016-05-26 17:23:29 UTC
If this can't be fixed in the build system, then it can be in the spec:

https://fedoraproject.org/wiki/Packaging:Guidelines#Removing_Rpath

Comment 6 Jonathan Wakely 2016-05-26 17:41:11 UTC
Ah yes, that would work, although I have a fix for the boost build system.

Comment 7 Yaakov Selkowitz 2016-05-27 19:26:20 UTC
Created attachment 1162537 [details]
Drop rpath (#1318383)

I wouldn't say this was directly caused by the fix for bug 1102667, but 
it did trigger Jam's previously dormant use of rpaths.  With this patch, 
only the MPI shared objects contain rpath entries, and those are generated 
not by this but by the mpich wrappers themselves.

Comment 8 Jonathan Wakely 2016-05-27 21:35:08 UTC
Looks good, thanks!

Comment 9 Jonathan Wakely 2016-06-10 16:11:32 UTC
I've pushed the fix to rawhide now.