Bug 971595
| Summary: | add "prefix" into shared objects to do not conflict with various v8 | ||
|---|---|---|---|
| Product: | Red Hat Software Collections | Reporter: | John Matthews <jmatthew> |
| Component: | v8 | Assignee: | Tomas Hrcka <thrcka> |
| Status: | CLOSED ERRATA | QA Contact: | Miroslav Hradílek <mhradile> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | ruby193 | CC: | hhorak, jmatthew, tdawson |
| Target Milestone: | --- | ||
| Target Release: | 1.1 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: |
Cause:
Some packages (mongodb,therubyracer) which requires libv8.so.3 could install v8 from different collection or install system library because it provides required shared object.
Fix:
Shared objects provided by v8 are suffixed with collection name:
libv8.so.v8314
libv8.so.v8314-3
libv8.so.v8314-3.14.5
Result:
Dependent collections use suffixed shared objects from v8314 scl
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2014-06-04 06:46:04 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: | |||
|
Description
John Matthews
2013-06-06 21:24:46 UTC
Possible solution might be to prefix all libraries by prefix same as the package has, for example postgresql has libpg.so.postgresql92-x.y.z. I'm not sure if it's wise to prefix all libraries or do it automatically for all libraries in scl tool during build. Anyway at this point I do not want to see rebuild of whole collections. I guess it's too late for such change of policy. In mongodb case it might be fixed by adding Requires: nodejs010-v8. Does is work for you? (In reply to Marcela Mašláňová from comment #3) > In mongodb case it might be fixed by adding Requires: nodejs010-v8. Does is > work for you? I don't think it will work, since non-SCL mongodb needs non-SCL v8 library, so I'd say something like Requires: nodejs010-v8 is needed. Just my 2 cents, not tested nor deeply analysed. (In reply to Honza Horak from comment #5) > I don't think it will work, since non-SCL mongodb needs non-SCL v8 library, > so I'd say something like Requires: nodejs010-v8 is needed. Just my 2 cents, > not tested nor deeply analysed. I wanted to suggest "Requires: v8", the above was the same what Marcela suggested (copy/paste mistake) The best approach would be prefix also libraries (#971595). (In reply to Marcela Mašláňová from comment #7) > The best approach would be prefix also libraries (#971595). That should probably be this one: bug #996025 Until bug #996025 is completed, I have implemented a workaround for mongodb. All of the SCL v8 packages provide ruby193-v8 or nodejs010-v8. I have added "Requires: v8" to the mongodb spec file. This has worked in all my testing using the SCL and non-SCL enviroments. We plan to fix this issue by changing version of shared objects. From libv8.so.3()(64bit) it will be libv8.so.nodejs010-3()(64bit). Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHEA-2014-0607.html |